feat(assistants): Add PDF generation functionality and nice emails (#2436)

This pull request adds PDF generation functionality and improves the
formatting of emails. It includes a new module for generating PDFs using
the fpdf2 library and updates the email templates to use markdown
formatting for better readability.

<!--
ELLIPSIS_HIDDEN
-->
----

| <a href="https://ellipsis.dev" target="_blank"><img
src="https://avatars.githubusercontent.com/u/80834858?s=400&u=31e596315b0d8f7465b3ee670f25cea677299c96&v=4"
alt="Ellipsis" width="30px" height="30px"/></a> | 🚀 This PR
description was created by [Ellipsis](https://www.ellipsis.dev) for
commit ccecff77a5. |
|--------|--------|

### Summary:
This PR introduces PDF generation functionality, improves email
formatting, sanitizes filenames, updates various files and dependencies,
and updates `docker-compose.dev.yml`.

**Key points**:
- Added PDF generation functionality using the `fpdf2` library
- Improved email formatting
- Sanitized filenames using the `unidecode` library
- Updated `backend/modules/assistant/ito/ito.py` to generate PDFs and
sanitize filenames
- Added `pdf_generator.py` in `backend/modules/assistant/ito/utils/` for
PDF generation
- Updated `Pipfile` and `Pipfile.lock` in
`backend/modules/assistant/ito/utils/` to include `unidecode`
- Updated `requirements.txt` with new dependencies
- Updated `docker-compose.dev.yml`


----
Generated with ❤️ by [ellipsis.dev](https://www.ellipsis.dev)

<!--
ELLIPSIS_HIDDEN
-->
This commit is contained in:
Stan Girard 2024-04-17 06:00:31 -07:00 committed by GitHub
parent ed814de1c6
commit b62297341f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
14 changed files with 614 additions and 440 deletions

View File

@ -33,6 +33,8 @@ AUTHENTICATE=true
TELEMETRY_ENABLED=true
CELERY_BROKER_URL=redis://redis:6379/0
CELEBRY_BROKER_QUEUE_NAME=quivr-preview.fifo
QUIVR_DOMAIN=http://localhost:3000/
#RESEND

1
.gitignore vendored
View File

@ -83,3 +83,4 @@ backend/celerybeat-schedule.db
backend/application.log.*
backend/score.json
backend/modules/assistant/ito/utils/simple.pdf

View File

@ -58,6 +58,8 @@ lxml = {extras = ["html_clean"], version = "*"}
ragas = "*"
datasets = "*"
pytest-dotenv = "*"
fpdf2 = "*"
unidecode = "*"
[dev-packages]
black = "*"

825
Pipfile.lock generated
View File

@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
"sha256": "713d422b6a90d73c6a421cec8cbfcbe2c8a657a0afa20e6adcc75be1b28ad9ee"
"sha256": "f318e399b09523bef248e89deff3b78f6f172b5bcd177d24942aadd5adcd4452"
},
"pipfile-spec": 6,
"requires": {
@ -18,85 +18,85 @@
"default": {
"aiohttp": {
"hashes": [
"sha256:0593822dcdb9483d41f12041ff7c90d4d1033ec0e880bcfaf102919b715f47f1",
"sha256:10afd99b8251022ddf81eaed1d90f5a988e349ee7d779eb429fb07b670751e8c",
"sha256:17e7c051f53a0d2ebf33013a9cbf020bb4e098c4bc5bce6f7b0c962108d97eab",
"sha256:221204dbda5ef350e8db6287937621cf75e85778b296c9c52260b522231940ed",
"sha256:2506d9f7a9b91033201be9ffe7d89c6a54150b0578803cce5cb84a943d075bc3",
"sha256:268ba22d917655d1259af2d5659072b7dc11b4e1dc2cb9662fdd867d75afc6a4",
"sha256:2bd9d334412961125e9f68d5b73c1d0ab9ea3f74a58a475e6b119f5293eee7ba",
"sha256:305edae1dea368ce09bcb858cf5a63a064f3bff4767dec6fa60a0cc0e805a1d3",
"sha256:32dc814ddbb254f6170bca198fe307920f6c1308a5492f049f7f63554b88ef36",
"sha256:35d78076736f4a668d57ade00c65d30a8ce28719d8a42471b2a06ccd1a2e3063",
"sha256:3b2feaf1b7031ede1bc0880cec4b0776fd347259a723d625357bb4b82f62687b",
"sha256:418bb0038dfafeac923823c2e63226179976c76f981a2aaad0ad5d51f2229bca",
"sha256:419f009fa4cfde4d16a7fc070d64f36d70a8d35a90d71aa27670bba2be4fd039",
"sha256:47f6eb74e1ecb5e19a78f4a4228aa24df7fbab3b62d4a625d3f41194a08bd54f",
"sha256:4d79aad0ad4b980663316f26d9a492e8fab2af77c69c0f33780a56843ad2f89e",
"sha256:4f7e69a7fd4b5ce419238388e55abd220336bd32212c673ceabc57ccf3d05b55",
"sha256:52b8b4e06fc15519019e128abedaeb56412b106ab88b3c452188ca47a25c4093",
"sha256:56181093c10dbc6ceb8a29dfeea1e815e1dfdc020169203d87fd8d37616f73f9",
"sha256:63f41a909d182d2b78fe3abef557fcc14da50c7852f70ae3be60e83ff64edba5",
"sha256:689eb4356649ec9535b3686200b231876fb4cab4aca54e3bece71d37f50c1d13",
"sha256:69046cd9a2a17245c4ce3c1f1a4ff8c70c7701ef222fce3d1d8435f09042bba1",
"sha256:69b97aa5792428f321f72aeb2f118e56893371f27e0b7d05750bcad06fc42ca1",
"sha256:69ff36d3f8f5652994e08bd22f093e11cfd0444cea310f92e01b45a4e46b624e",
"sha256:6f121900131d116e4a93b55ab0d12ad72573f967b100e49086e496a9b24523ea",
"sha256:6ff71ede6d9a5a58cfb7b6fffc83ab5d4a63138276c771ac91ceaaddf5459644",
"sha256:71a8f241456b6c2668374d5d28398f8e8cdae4cce568aaea54e0f39359cd928d",
"sha256:74e4e48c8752d14ecfb36d2ebb3d76d614320570e14de0a3aa7a726ff150a03c",
"sha256:7673a76772bda15d0d10d1aa881b7911d0580c980dbd16e59d7ba1422b2d83cd",
"sha256:76d32588ef7e4a3f3adff1956a0ba96faabbdee58f2407c122dd45aa6e34f372",
"sha256:7b39476ee69cfe64061fd77a73bf692c40021f8547cda617a3466530ef63f947",
"sha256:7be99f4abb008cb38e144f85f515598f4c2c8932bf11b65add0ff59c9c876d99",
"sha256:7bfdb41dc6e85d8535b00d73947548a748e9534e8e4fddd2638109ff3fb081df",
"sha256:7d2334e387b2adcc944680bebcf412743f2caf4eeebd550f67249c1c3696be04",
"sha256:7d29dd5319d20aa3b7749719ac9685fbd926f71ac8c77b2477272725f882072d",
"sha256:7d4845f8501ab28ebfdbeab980a50a273b415cf69e96e4e674d43d86a464df9d",
"sha256:824dff4f9f4d0f59d0fa3577932ee9a20e09edec8a2f813e1d6b9f89ced8293f",
"sha256:84e90494db7df3be5e056f91412f9fa9e611fbe8ce4aaef70647297f5943b276",
"sha256:8a78dfb198a328bfb38e4308ca8167028920fb747ddcf086ce706fbdd23b2926",
"sha256:8b73a06bafc8dcc508420db43b4dd5850e41e69de99009d0351c4f3007960019",
"sha256:916b0417aeddf2c8c61291238ce25286f391a6acb6f28005dd9ce282bd6311b6",
"sha256:935c369bf8acc2dc26f6eeb5222768aa7c62917c3554f7215f2ead7386b33748",
"sha256:939393e8c3f0a5bcd33ef7ace67680c318dc2ae406f15e381c0054dd658397de",
"sha256:9860d455847cd98eb67897f5957b7cd69fbcb436dd3f06099230f16a66e66f79",
"sha256:9b6787b6d0b3518b2ee4cbeadd24a507756ee703adbac1ab6dc7c4434b8c572a",
"sha256:9c0b09d76e5a4caac3d27752027fbd43dc987b95f3748fad2b924a03fe8632ad",
"sha256:a1885d2470955f70dfdd33a02e1749613c5a9c5ab855f6db38e0b9389453dce7",
"sha256:a3666cf4182efdb44d73602379a66f5fdfd5da0db5e4520f0ac0dcca644a3497",
"sha256:aba80e77c227f4234aa34a5ff2b6ff30c5d6a827a91d22ff6b999de9175d71bd",
"sha256:b33f34c9c7decdb2ab99c74be6443942b730b56d9c5ee48fb7df2c86492f293c",
"sha256:b65b0f8747b013570eea2f75726046fa54fa8e0c5db60f3b98dd5d161052004a",
"sha256:b71e614c1ae35c3d62a293b19eface83d5e4d194e3eb2fabb10059d33e6e8cbf",
"sha256:c111b3c69060d2bafc446917534150fd049e7aedd6cbf21ba526a5a97b4402a5",
"sha256:c3770365675f6be220032f6609a8fbad994d6dcf3ef7dbcf295c7ee70884c9af",
"sha256:c4870cb049f10d7680c239b55428916d84158798eb8f353e74fa2c98980dcc0b",
"sha256:c5ff8ff44825736a4065d8544b43b43ee4c6dd1530f3a08e6c0578a813b0aa35",
"sha256:c78700130ce2dcebb1a8103202ae795be2fa8c9351d0dd22338fe3dac74847d9",
"sha256:c7a5b676d3c65e88b3aca41816bf72831898fcd73f0cbb2680e9d88e819d1e4d",
"sha256:c8b04a3dbd54de6ccb7604242fe3ad67f2f3ca558f2d33fe19d4b08d90701a89",
"sha256:d12a244627eba4e9dc52cbf924edef905ddd6cafc6513849b4876076a6f38b0e",
"sha256:d1df528a85fb404899d4207a8d9934cfd6be626e30e5d3a5544a83dbae6d8a7e",
"sha256:d58a54d6ff08d2547656356eea8572b224e6f9bbc0cf55fa9966bcaac4ddfb10",
"sha256:d6577140cd7db19e430661e4b2653680194ea8c22c994bc65b7a19d8ec834403",
"sha256:d6a67e26daa686a6fbdb600a9af8619c80a332556245fa8e86c747d226ab1a1e",
"sha256:dcad56c8d8348e7e468899d2fb3b309b9bc59d94e6db08710555f7436156097f",
"sha256:e0198ea897680e480845ec0ffc5a14e8b694e25b3f104f63676d55bf76a82f1a",
"sha256:e27d3b5ed2c2013bce66ad67ee57cbf614288bda8cdf426c8d8fe548316f1b5f",
"sha256:e40d2cd22914d67c84824045861a5bb0fb46586b15dfe4f046c7495bf08306b2",
"sha256:e4370dda04dc8951012f30e1ce7956a0a226ac0714a7b6c389fb2f43f22a250e",
"sha256:e571fdd9efd65e86c6af2f332e0e95dad259bfe6beb5d15b3c3eca3a6eb5d87b",
"sha256:e78da6b55275987cbc89141a1d8e75f5070e577c482dd48bd9123a76a96f0bbb",
"sha256:eae569fb1e7559d4f3919965617bb39f9e753967fae55ce13454bec2d1c54f09",
"sha256:eb30c4510a691bb87081192a394fb661860e75ca3896c01c6d186febe7c88530",
"sha256:efbdd51872cf170093998c87ccdf3cb5993add3559341a8e5708bcb311934c94",
"sha256:f3460a92638dce7e47062cf088d6e7663adb135e936cb117be88d5e6c48c9d53",
"sha256:f595db1bceabd71c82e92df212dd9525a8a2c6947d39e3c994c4f27d2fe15b11",
"sha256:fb68dc73bc8ac322d2e392a59a9e396c4f35cb6fdbdd749e139d1d6c985f2527"
"sha256:0605cc2c0088fcaae79f01c913a38611ad09ba68ff482402d3410bf59039bfb8",
"sha256:0a158704edf0abcac8ac371fbb54044f3270bdbc93e254a82b6c82be1ef08f3c",
"sha256:0cbf56238f4bbf49dab8c2dc2e6b1b68502b1e88d335bea59b3f5b9f4c001475",
"sha256:1732102949ff6087589408d76cd6dea656b93c896b011ecafff418c9661dc4ed",
"sha256:18f634d540dd099c262e9f887c8bbacc959847cfe5da7a0e2e1cf3f14dbf2daf",
"sha256:239f975589a944eeb1bad26b8b140a59a3a320067fb3cd10b75c3092405a1372",
"sha256:2faa61a904b83142747fc6a6d7ad8fccff898c849123030f8e75d5d967fd4a81",
"sha256:320e8618eda64e19d11bdb3bd04ccc0a816c17eaecb7e4945d01deee2a22f95f",
"sha256:38d80498e2e169bc61418ff36170e0aad0cd268da8b38a17c4cf29d254a8b3f1",
"sha256:3916c8692dbd9d55c523374a3b8213e628424d19116ac4308e434dbf6d95bbdd",
"sha256:393c7aba2b55559ef7ab791c94b44f7482a07bf7640d17b341b79081f5e5cd1a",
"sha256:3b7b30258348082826d274504fbc7c849959f1989d86c29bc355107accec6cfb",
"sha256:3fcb4046d2904378e3aeea1df51f697b0467f2aac55d232c87ba162709478c46",
"sha256:4109adee842b90671f1b689901b948f347325045c15f46b39797ae1bf17019de",
"sha256:4558e5012ee03d2638c681e156461d37b7a113fe13970d438d95d10173d25f78",
"sha256:45731330e754f5811c314901cebdf19dd776a44b31927fa4b4dbecab9e457b0c",
"sha256:4715a9b778f4293b9f8ae7a0a7cef9829f02ff8d6277a39d7f40565c737d3771",
"sha256:471f0ef53ccedec9995287f02caf0c068732f026455f07db3f01a46e49d76bbb",
"sha256:4d3ebb9e1316ec74277d19c5f482f98cc65a73ccd5430540d6d11682cd857430",
"sha256:4ff550491f5492ab5ed3533e76b8567f4b37bd2995e780a1f46bca2024223233",
"sha256:52c27110f3862a1afbcb2af4281fc9fdc40327fa286c4625dfee247c3ba90156",
"sha256:55b39c8684a46e56ef8c8d24faf02de4a2b2ac60d26cee93bc595651ff545de9",
"sha256:5a7ee16aab26e76add4afc45e8f8206c95d1d75540f1039b84a03c3b3800dd59",
"sha256:5ca51eadbd67045396bc92a4345d1790b7301c14d1848feaac1d6a6c9289e888",
"sha256:5d6b3f1fabe465e819aed2c421a6743d8debbde79b6a8600739300630a01bf2c",
"sha256:60cdbd56f4cad9f69c35eaac0fbbdf1f77b0ff9456cebd4902f3dd1cf096464c",
"sha256:6380c039ec52866c06d69b5c7aad5478b24ed11696f0e72f6b807cfb261453da",
"sha256:639d0042b7670222f33b0028de6b4e2fad6451462ce7df2af8aee37dcac55424",
"sha256:66331d00fb28dc90aa606d9a54304af76b335ae204d1836f65797d6fe27f1ca2",
"sha256:67c3119f5ddc7261d47163ed86d760ddf0e625cd6246b4ed852e82159617b5fb",
"sha256:694d828b5c41255e54bc2dddb51a9f5150b4eefa9886e38b52605a05d96566e8",
"sha256:6ae79c1bc12c34082d92bf9422764f799aee4746fd7a392db46b7fd357d4a17a",
"sha256:702e2c7c187c1a498a4e2b03155d52658fdd6fda882d3d7fbb891a5cf108bb10",
"sha256:714d4e5231fed4ba2762ed489b4aec07b2b9953cf4ee31e9871caac895a839c0",
"sha256:7b179eea70833c8dee51ec42f3b4097bd6370892fa93f510f76762105568cf09",
"sha256:7f64cbd44443e80094309875d4f9c71d0401e966d191c3d469cde4642bc2e031",
"sha256:82a6a97d9771cb48ae16979c3a3a9a18b600a8505b1115cfe354dfb2054468b4",
"sha256:84dabd95154f43a2ea80deffec9cb44d2e301e38a0c9d331cc4aa0166fe28ae3",
"sha256:8676e8fd73141ded15ea586de0b7cda1542960a7b9ad89b2b06428e97125d4fa",
"sha256:88e311d98cc0bf45b62fc46c66753a83445f5ab20038bcc1b8a1cc05666f428a",
"sha256:8b4f72fbb66279624bfe83fd5eb6aea0022dad8eec62b71e7bf63ee1caadeafe",
"sha256:8c64a6dc3fe5db7b1b4d2b5cb84c4f677768bdc340611eca673afb7cf416ef5a",
"sha256:8cf142aa6c1a751fcb364158fd710b8a9be874b81889c2bd13aa8893197455e2",
"sha256:8d1964eb7617907c792ca00b341b5ec3e01ae8c280825deadbbd678447b127e1",
"sha256:93e22add827447d2e26d67c9ac0161756007f152fdc5210277d00a85f6c92323",
"sha256:9c69e77370cce2d6df5d12b4e12bdcca60c47ba13d1cbbc8645dd005a20b738b",
"sha256:9dbc053ac75ccc63dc3a3cc547b98c7258ec35a215a92bd9f983e0aac95d3d5b",
"sha256:9e3a1ae66e3d0c17cf65c08968a5ee3180c5a95920ec2731f53343fac9bad106",
"sha256:a6ea1a5b409a85477fd8e5ee6ad8f0e40bf2844c270955e09360418cfd09abac",
"sha256:a81b1143d42b66ffc40a441379387076243ef7b51019204fd3ec36b9f69e77d6",
"sha256:ad7f2919d7dac062f24d6f5fe95d401597fbb015a25771f85e692d043c9d7832",
"sha256:afc52b8d969eff14e069a710057d15ab9ac17cd4b6753042c407dcea0e40bf75",
"sha256:b3df71da99c98534be076196791adca8819761f0bf6e08e07fd7da25127150d6",
"sha256:c088c4d70d21f8ca5c0b8b5403fe84a7bc8e024161febdd4ef04575ef35d474d",
"sha256:c26959ca7b75ff768e2776d8055bf9582a6267e24556bb7f7bd29e677932be72",
"sha256:c413016880e03e69d166efb5a1a95d40f83d5a3a648d16486592c49ffb76d0db",
"sha256:c6021d296318cb6f9414b48e6a439a7f5d1f665464da507e8ff640848ee2a58a",
"sha256:c671dc117c2c21a1ca10c116cfcd6e3e44da7fcde37bf83b2be485ab377b25da",
"sha256:c7a4b7a6cf5b6eb11e109a9755fd4fda7d57395f8c575e166d363b9fc3ec4678",
"sha256:c8a02fbeca6f63cb1f0475c799679057fc9268b77075ab7cf3f1c600e81dd46b",
"sha256:cd2adf5c87ff6d8b277814a28a535b59e20bfea40a101db6b3bdca7e9926bc24",
"sha256:d1469f228cd9ffddd396d9948b8c9cd8022b6d1bf1e40c6f25b0fb90b4f893ed",
"sha256:d153f652a687a8e95ad367a86a61e8d53d528b0530ef382ec5aaf533140ed00f",
"sha256:d5ab8e1f6bee051a4bf6195e38a5c13e5e161cb7bad83d8854524798bd9fcd6e",
"sha256:da00da442a0e31f1c69d26d224e1efd3a1ca5bcbf210978a2ca7426dfcae9f58",
"sha256:da22dab31d7180f8c3ac7c7635f3bcd53808f374f6aa333fe0b0b9e14b01f91a",
"sha256:e0ae53e33ee7476dd3d1132f932eeb39bf6125083820049d06edcdca4381f342",
"sha256:e7a6a8354f1b62e15d48e04350f13e726fa08b62c3d7b8401c0a1314f02e3558",
"sha256:e9a3d838441bebcf5cf442700e3963f58b5c33f015341f9ea86dcd7d503c07e2",
"sha256:edea7d15772ceeb29db4aff55e482d4bcfb6ae160ce144f2682de02f6d693551",
"sha256:f22eb3a6c1080d862befa0a89c380b4dafce29dc6cd56083f630073d102eb595",
"sha256:f26383adb94da5e7fb388d441bf09c61e5e35f455a3217bfd790c6b6bc64b2ee",
"sha256:f3c2890ca8c59ee683fd09adf32321a40fe1cf164e3387799efb2acebf090c11",
"sha256:f64fd07515dad67f24b6ea4a66ae2876c01031de91c93075b8093f07c0a2d93d",
"sha256:fcde4c397f673fdec23e6b05ebf8d4751314fa7c24f93334bf1f1364c1c69ac7",
"sha256:ff84aeb864e0fac81f676be9f4685f0527b660f1efdc40dcede3c251ef1e867f"
],
"markers": "python_version >= '3.8'",
"version": "==3.9.4"
"version": "==3.9.5"
},
"aiosignal": {
"hashes": [
@ -279,21 +279,21 @@
},
"boto3": {
"hashes": [
"sha256:7a02f44af32095946587d748ebeb39c3fa15b9d7275307ff612a6760ead47e04",
"sha256:91e6343474173e9b82f603076856e1d5b7b68f44247bdd556250857a3f16b37b"
"sha256:135f1358fbc7d7dc89ad1a4346cb8da621fdc2aea69deb7b20c71ffec7cde111",
"sha256:de73d0f2dec1819074caf3f0888e18f6e13a9fb75ef5f17b1bdd9d1acc127b33"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==1.34.84"
"version": "==1.34.85"
},
"botocore": {
"hashes": [
"sha256:a2b309bf5594f0eb6f63f355ade79ba575ce8bf672e52e91da1a7933caa245e6",
"sha256:da1ae0a912e69e10daee2a34dafd6c6c106450d20b8623665feceb2d96c173eb"
"sha256:18548525d4975bbe982f393f6470ba45249919a93f5dc6a69e37e435dd2cf579",
"sha256:9abae3f7925a8cc2b91b6ff3f09e631476c74826d45dc44fb30d1d15960639db"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==1.34.84"
"version": "==1.34.85"
},
"celery": {
"extras": [
@ -690,6 +690,14 @@
"markers": "python_version >= '3.5'",
"version": "==5.1.1"
},
"defusedxml": {
"hashes": [
"sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69",
"sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
"version": "==0.7.1"
},
"deprecated": {
"hashes": [
"sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c",
@ -955,6 +963,15 @@
"markers": "python_version >= '3.8'",
"version": "==4.51.0"
},
"fpdf2": {
"hashes": [
"sha256:21733fe27cc75021e5a4d7d69de95e185adf9717b1f9b1e14aa27d277d5c10fd",
"sha256:b09a297cbb14878ec4443ea2bef504d15e5cf4d92903118f013cb05e204fd491"
],
"index": "pypi",
"markers": "python_version >= '3.7'",
"version": "==2.7.8"
},
"frozenlist": {
"hashes": [
"sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7",
@ -1491,20 +1508,20 @@
},
"langchain-community": {
"hashes": [
"sha256:1510217d646c8380f54e9850351f6d2a0b0dd73c501b666c6f4b40baa8160b29",
"sha256:406977009999952d0705de3806de2b4867e9bb8eda8ca154a59c7a8ed58da38d"
"sha256:830f0d5f4ff9638b99ca01820c26abfa4b65fa705ef89b5ce55ac9aa3a7d83af",
"sha256:bb56dbc1ef11ca09f258468e11368781adda9219e144073e30cda69496d342b2"
],
"index": "pypi",
"markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
"version": "==0.0.32"
"version": "==0.0.33"
},
"langchain-core": {
"hashes": [
"sha256:40751bf60ea5d8e2b2efe65290db434717ee3834870c002e40e2811f09d814e6",
"sha256:c5653ffa08a44f740295c157a24c0def4a753333f6a2c41f76bf431cd00be8b5"
"sha256:499133fadc28efcf7d24306236521518080bb10fd8bf6f7426de4a2bbf2aebb5",
"sha256:9b601916602c17cb7588e8089302e30872cbd049b583a27debf5566018af6405"
],
"markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
"version": "==0.1.42"
"version": "==0.1.43"
},
"langchain-openai": {
"hashes": [
@ -1532,20 +1549,20 @@
},
"langfuse": {
"hashes": [
"sha256:a95aab75d483614eb7ad8fd9f6e54078479c805e39098980caa676d9d42db54f",
"sha256:cbfb03028df42d5e1894860d889a5cdf7cbfbf56ef9deb974c6691a08c689692"
"sha256:53493d59a2ef4d44e7d9c06ef1d2d466828d22b77d8cacf2640357bf20019917",
"sha256:9d9fa0e4667d5766f4b7b853113b4b31b44e568eb93298991967192e37af67a8"
],
"index": "pypi",
"markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
"version": "==2.26.1"
"version": "==2.26.3"
},
"langsmith": {
"hashes": [
"sha256:17b0a908b8d39b6da3ecff658c8c00304b0b62f59945a5e16c2da5a254ea21a6",
"sha256:f5ddd17628baa03a775525c5547a543a559313e425cdb2bf23579ffcf6056a76"
"sha256:2f8967e2aaaed8881efe6f346590681243b315af8ba8a037d969c299d42071d3",
"sha256:9cd21cd0928123b2bd2363f03515cb1f6a833d9a9f00420240d5132861d15fcc"
],
"markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
"version": "==0.1.47"
"version": "==0.1.48"
},
"layoutparser": {
"extras": [
@ -1561,12 +1578,12 @@
},
"litellm": {
"hashes": [
"sha256:4545d4af8cd177c1539968335920253ad44c38e09420854f142ffff9cdb3fff7",
"sha256:ffc7ad5550534f737097e8e33cef575dc806e5ff4c624aaec2b400e28c2b4ea3"
"sha256:0a8c031a01c19f2cfd9d873ff89bebc120917ec88f5656c1464a64d38e7c782d",
"sha256:0b328b37b6c40e5ece82f701bcb92e4d1d76ffb070e03f6c3abfbc6030bf07b8"
],
"index": "pypi",
"markers": "python_version not in '2.7, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7' and python_version >= '3.8'",
"version": "==1.35.5"
"version": "==1.35.8"
},
"llama-index": {
"hashes": [
@ -1659,11 +1676,11 @@
},
"llama-index-readers-file": {
"hashes": [
"sha256:725fbce501eb7bdbb630b625e88985c51d55b99006b8b3342af4cefcb49bf51e",
"sha256:91c9871e80d7c911a4e2bb265ee46c3db6a93d681ba6ddf731752cd7764b368b"
"sha256:194c1b9b85c265159b7302c7d80adba937aab06f05c170af7fd95c4e7a8aec35",
"sha256:25eb6d066dc38753de435e876ef8511c68d84102302c053b7dcb0776db68fced"
],
"markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
"version": "==0.1.18"
"version": "==0.1.19"
},
"llama-index-readers-llama-parse": {
"hashes": [
@ -2206,7 +2223,7 @@
"sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3",
"sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"
],
"markers": "python_version >= '3.10'",
"markers": "python_version >= '3.9'",
"version": "==1.26.4"
},
"olefile": {
@ -2292,12 +2309,12 @@
},
"openai": {
"hashes": [
"sha256:c5a909e70e2b4cd04ef4076b68497c4eb894704cf8ab23d32d6552931fda6e5b",
"sha256:d42e0d7a692c7b78cbae21598df5ded396abecf6c285325635ec62621e6c82f1"
"sha256:9fcc75256b2425393800e358cd520b02b5ab1a8731921e45aa7ae6aec3ee8187",
"sha256:d7c0e824b7da3c043731943965c737595cf9631c913b7a1464c502fdf492b9a9"
],
"index": "pypi",
"markers": "python_full_version >= '3.7.1'",
"version": "==1.17.1"
"version": "==1.20.0"
},
"opencv-python": {
"hashes": [
@ -2321,60 +2338,60 @@
},
"orjson": {
"hashes": [
"sha256:115498c4ad34188dcb73464e8dc80e490a3e5e88a925907b6fedcf20e545001a",
"sha256:13b5d3c795b09a466ec9fcf0bd3ad7b85467d91a60113885df7b8d639a9d374b",
"sha256:175a41500ebb2fdf320bf78e8b9a75a1279525b62ba400b2b2444e274c2c8bee",
"sha256:1897aa25a944cec774ce4a0e1c8e98fb50523e97366c637b7d0cddabc42e6643",
"sha256:1bef1050b1bdc9ea6c0d08468e3e61c9386723633b397e50b82fda37b3563d72",
"sha256:1de3fd5c7b208d836f8ecb4526995f0d5877153a4f6f12f3e9bf11e49357de98",
"sha256:22c2f7e377ac757bd3476ecb7480c8ed79d98ef89648f0176deb1da5cd014eb7",
"sha256:237ba922aef472761acd697eef77fef4831ab769a42e83c04ac91e9f9e08fa0e",
"sha256:23c12bb4ced1c3308eff7ba5c63ef8f0edb3e4c43c026440247dd6c1c61cea4b",
"sha256:30707e646080dd3c791f22ce7e4a2fc2438765408547c10510f1f690bd336217",
"sha256:30d795a24be16c03dca0c35ca8f9c8eaaa51e3342f2c162d327bd0225118794a",
"sha256:33e6655a2542195d6fd9f850b428926559dee382f7a862dae92ca97fea03a5ad",
"sha256:400c5b7c4222cb27b5059adf1fb12302eebcabf1978f33d0824aa5277ca899bd",
"sha256:4050920e831a49d8782a1720d3ca2f1c49b150953667eed6e5d63a62e80f46a2",
"sha256:414e5293b82373606acf0d66313aecb52d9c8c2404b1900683eb32c3d042dbd7",
"sha256:4251964db47ef090c462a2d909f16c7c7d5fe68e341dabce6702879ec26d1134",
"sha256:4329c1d24fd130ee377e32a72dc54a3c251e6706fccd9a2ecb91b3606fddd998",
"sha256:47af5d4b850a2d1328660661f0881b67fdbe712aea905dadd413bdea6f792c33",
"sha256:5127478260db640323cea131ee88541cb1a9fbce051f0b22fa2f0892f44da302",
"sha256:57d017863ec8aa4589be30a328dacd13c2dc49de1c170bc8d8c8a98ece0f2925",
"sha256:5d42768db6f2ce0162544845facb7c081e9364a5eb6d2ef06cd17f6050b048d8",
"sha256:5dcb32e949eae80fb335e63b90e5808b4b0f64e31476b3777707416b41682db5",
"sha256:60c0b1bdbccd959ebd1575bd0147bd5e10fc76f26216188be4a36b691c937077",
"sha256:658ca5cee3379dd3d37dbacd43d42c1b4feee99a29d847ef27a1cb18abdfb23f",
"sha256:6735dd4a5a7b6df00a87d1d7a02b84b54d215fb7adac50dd24da5997ffb4798d",
"sha256:6a3f53dc650bc860eb26ec293dfb489b2f6ae1cbfc409a127b01229980e372f7",
"sha256:73bbbdc43d520204d9ef0817ac03fa49c103c7f9ea94f410d2950755be2c349c",
"sha256:8acd4b82a5f3a3ec8b1dc83452941d22b4711964c34727eb1e65449eead353ca",
"sha256:90bfc137c75c31d32308fd61951d424424426ddc39a40e367704661a9ee97095",
"sha256:9587053e0cefc284e4d1cd113c34468b7d3f17666d22b185ea654f0775316a26",
"sha256:983db1f87c371dc6ffc52931eb75f9fe17dc621273e43ce67bee407d3e5476e9",
"sha256:98c1bfc6a9bec52bc8f0ab9b86cc0874b0299fccef3562b793c1576cf3abb570",
"sha256:9a667769a96a72ca67237224a36faf57db0c82ab07d09c3aafc6f956196cfa1b",
"sha256:9bf565a69e0082ea348c5657401acec3cbbb31564d89afebaee884614fba36b4",
"sha256:aa7d507c7493252c0a0264b5cc7e20fa2f8622b8a83b04d819b5ce32c97cf57b",
"sha256:ade1e21dfde1d37feee8cf6464c20a2f41fa46c8bcd5251e761903e46102dc6b",
"sha256:b2d014cf8d4dc9f03fc9f870de191a49a03b1bcda51f2a957943fb9fafe55aac",
"sha256:b6ebc17cfbbf741f5c1a888d1854354536f63d84bee537c9a7c0335791bb9009",
"sha256:b98345529bafe3c06c09996b303fc0a21961820d634409b8639bc16bd4f21b63",
"sha256:ba4d8cac5f2e2cff36bea6b6481cdb92b38c202bcec603d6f5ff91960595a1ed",
"sha256:c4f60db24161534764277f798ef53b9d3063092f6d23f8f962b4a97edfa997a0",
"sha256:c90681333619d78360d13840c7235fdaf01b2b129cb3a4f1647783b1971542b6",
"sha256:cd583341218826f48bd7c6ebf3310b4126216920853cbc471e8dbeaf07b0b80e",
"sha256:d16c6963ddf3b28c0d461641517cd312ad6b3cf303d8b87d5ef3fa59d6844337",
"sha256:d2817877d0b69f78f146ab305c5975d0618df41acf8811249ee64231f5953fee",
"sha256:e286a51def6626f1e0cc134ba2067dcf14f7f4b9550f6dd4535fd9d79000040b",
"sha256:e62ba42bfe64c60c1bc84799944f80704e996592c6b9e14789c8e2a303279912",
"sha256:eadecaa16d9783affca33597781328e4981b048615c2ddc31c47a51b833d6319",
"sha256:ef0f19fdfb6553342b1882f438afd53c7cb7aea57894c4490c43e4431739c700",
"sha256:f93e33f67729d460a177ba285002035d3f11425ed3cebac5f6ded4ef36b28344",
"sha256:feaed5bb09877dc27ed0d37f037ddef6cb76d19aa34b108db270d27d3d2ef747"
"sha256:01234249ba19c6ab1eb0b8be89f13ea21218b2d72d496ef085cfd37e1bae9dd8",
"sha256:03a3ca0b3ed52bed1a869163a4284e8a7b0be6a0359d521e467cdef7e8e8a3ee",
"sha256:2567bc928ed3c3fcd90998009e8835de7c7dc59aabcf764b8374d36044864f3b",
"sha256:27d610df96ac18ace4931411d489637d20ab3b8f63562b0531bba16011998db0",
"sha256:27ff69c620a4fff33267df70cfd21e0097c2a14216e72943bd5414943e376d77",
"sha256:2b230ec35f188f003f5b543644ae486b2998f6afa74ee3a98fc8ed2e45960afc",
"sha256:2cf29b4b74f585225196944dffdebd549ad2af6da9e80db7115984103fb18a96",
"sha256:2e900863691d327758be14e2a491931605bd0aded3a21beb6ce133889830b659",
"sha256:31ff6a222ea362b87bf21ff619598a4dc1106aaafaea32b1c4876d692891ec27",
"sha256:4ae10753e7511d359405aadcbf96556c86e9dbf3a948d26c2c9f9a150c52b091",
"sha256:4ce98cac60b7bb56457bdd2ed7f0d5d7f242d291fdc0ca566c83fa721b52e92d",
"sha256:50ca42b40d5a442a9e22eece8cf42ba3d7cd4cd0f2f20184b4d7682894f05eec",
"sha256:5252146b3172d75c8a6d27ebca59c9ee066ffc5a277050ccec24821e68742fdf",
"sha256:53521542a6db1411b3bfa1b24ddce18605a3abdc95a28a67b33f9145f26aa8f2",
"sha256:536429bb02791a199d976118b95014ad66f74c58b7644d21061c54ad284e00f4",
"sha256:57c294d73825c6b7f30d11c9e5900cfec9a814893af7f14efbe06b8d0f25fba9",
"sha256:5be608c3972ed902e0143a5b8776d81ac1059436915d42defe5c6ae97b3137a4",
"sha256:5d1d169461726f271ab31633cf0e7e7353417e16fb69256a4f8ecb3246a78d6e",
"sha256:79244b1456e5846d44e9846534bd9e3206712936d026ea8e6a55a7374d2c0694",
"sha256:7dfed3c3e9b9199fb9c3355b9c7e4649b65f639e50ddf50efdf86b45c6de04b5",
"sha256:813905e111318acb356bb8029014c77b4c647f8b03f314e7b475bd9ce6d1a8ce",
"sha256:8a884fbf81a3cc22d264ba780920d4885442144e6acaa1411921260416ac9a54",
"sha256:8af7c68b01b876335cccfb4eee0beef2b5b6eae1945d46a09a7c24c9faac7a77",
"sha256:8ec2fc456d53ea4a47768f622bb709be68acd455b0c6be57e91462259741c4f3",
"sha256:915abfb2e528677b488a06eba173e9d7706a20fdfe9cdb15890b74ef9791b85e",
"sha256:9813f43da955197d36a7365eb99bed42b83680801729ab2487fef305b9ced866",
"sha256:9e00495b18304173ac843b5c5fbea7b6f7968564d0d49bef06bfaeca4b656f4e",
"sha256:a1b130c20b116f413caf6059c651ad32215c28500dce9cd029a334a2d84aa66f",
"sha256:a2c6a85c92d0e494c1ae117befc93cf8e7bca2075f7fe52e32698da650b2c6d1",
"sha256:a51fd55d4486bc5293b7a400f9acd55a2dc3b5fc8420d5ffe9b1d6bb1a056a5e",
"sha256:a883b28d73370df23ed995c466b4f6c708c1f7a9bdc400fe89165c96c7603204",
"sha256:aa76c4fe147fd162107ce1692c39f7189180cfd3a27cfbc2ab5643422812da8e",
"sha256:ab6ecbd6fe57785ebc86ee49e183f37d45f91b46fc601380c67c5c5e9c0014a2",
"sha256:b01d701decd75ae092e5f36f7b88a1e7a1d3bb7c9b9d7694de850fb155578d5a",
"sha256:b1aa2f127ac546e123283e437cc90b5ecce754a22306c7700b11035dad4ccf85",
"sha256:b345a3d6953628df2f42502297f6c1e1b475cfbf6268013c94c5ac80e8abc04c",
"sha256:b5028981ba393f443d8fed9049211b979cadc9d0afecf162832f5a5b152c6297",
"sha256:caa7395ef51af4190d2c70a364e2f42138e0e5fcb4bc08bc9b76997659b27dab",
"sha256:d229564e72cfc062e6481a91977a5165c5a0fdce11ddc19ced8471847a67c517",
"sha256:d31f9a709e6114492136e87c7c6da5e21dfedebefa03af85f3ad72656c493ae9",
"sha256:d751efaa8a49ae15cbebdda747a62a9ae521126e396fda8143858419f3b03610",
"sha256:d7f11dbacfa9265ec76b4019efffabaabba7a7ebf14078f6b4df9b51c3c9a8ea",
"sha256:d89e5ed68593226c31c76ab4de3e0d35c760bfd3fbf0a74c4b2be1383a1bf123",
"sha256:dab5f802d52b182163f307d2b1f727d30b1762e1923c64c9c56dd853f9671a49",
"sha256:e852a83d7803d3406135fb7a57cf0c1e4a3e73bac80ec621bd32f01c653849c5",
"sha256:ebc58693464146506fde0c4eb1216ff6d4e40213e61f7d40e2f0dde9b2f21650",
"sha256:ec917b768e2b34b7084cb6c68941f6de5812cc26c6f1a9fecb728e36a3deb9e8",
"sha256:f02c06cee680b1b3a8727ec26c36f4b3c0c9e2b26339d64471034d16f74f4ef5",
"sha256:fb5bc4caa2c192077fdb02dce4e5ef8639e7f20bec4e3a834346693907362932",
"sha256:fd78ec55179545c108174ba19c1795ced548d6cac4d80d014163033c047ca4ea",
"sha256:fe3fd4a36eff9c63d25503b439531d21828da9def0059c4f472e3845a081aa0b"
],
"markers": "python_version >= '3.8'",
"version": "==3.10.0"
"version": "==3.10.1"
},
"packaging": {
"hashes": [
@ -2419,12 +2436,12 @@
},
"pandasai": {
"hashes": [
"sha256:695096b58819e84808e2f23e83258e5bef22282f59aa93ab60f3dc0de117f6de",
"sha256:a7a4ccce4a03baac61600a9f3148923a23197f0cb5f7045ab564dc692b96e20e"
"sha256:475dd4ab37e69150f70fcc3bdf92e8c369b5b10da3d0187c805590aacf0e7511",
"sha256:7347c2e7609ab873263bac9a3ff2882bf21301473fc47d5245d8aaa8f2f680bd"
],
"index": "pypi",
"markers": "python_version not in '2.7, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8' and python_version >= '3.9'",
"version": "==2.0.32"
"version": "==2.0.33"
},
"pathspec": {
"hashes": [
@ -2459,43 +2476,46 @@
},
"pikepdf": {
"hashes": [
"sha256:0058eefe19c98fad427b372e3c57689a2b276a57ba3c92782c45003a42633bfe",
"sha256:07857643314fc2a2b18499f26c9e2042a98e1b90c48d11370a9d762f712f4e85",
"sha256:13fe2eed45a16777767932442fd1449a52fe709ef4d5bb2c5e9271d0dbe4e377",
"sha256:16f7a898ff523ae98f5b439d42122ecb0da555fc7c13682f226ad8cef08a7a3d",
"sha256:192f498a4c5fb6c52e8de48819789e04dfd82541e179b405758b3e12a81ad034",
"sha256:1d7424a193b7801297dac2a1483e087a36fdb204c4813d01d96dd5db46d50539",
"sha256:20dd52c5272745340c2193a1247bf071d4986ed1f9eaf1b661ca8a89560d3ee6",
"sha256:224b6144fb24c54eb3939c25711098c31f33c274c54ea48297a0d482045e779f",
"sha256:39f4d8031cb3a3af5f654247526cf34e656ae0101a47b440cd88de5538f60328",
"sha256:40ba9dcddfb9f57049db720b34e1142c8f9f467d2f802ac3aacddbb51ea0012e",
"sha256:466105afad59cc6d18acebc0705693a05d9186fdfffade20b55877c16985f06a",
"sha256:486241695df8a25699908d643141de4373a24e4a104cea1e42b3e7e77f1bed10",
"sha256:4e76273471e33a4cc9bbb828d75029925ab381857615b4418eaa43873fcb0c9c",
"sha256:5370a06eb625822e35b44341f8b379bd644fa076e2b78ebb84889a1fca2dc9d6",
"sha256:5925480e840234197eaab4df66a874c6590c3050bab30aa57c0c415ef9293aa2",
"sha256:5e7771e4a96337fb2e13f5836c33b49d74c081ef7c450d70e6970b5f86f17fa6",
"sha256:6397be1d279771c0ddaaa2729b942fab5696f2b427d0f282eac69d3c68f2d690",
"sha256:6d17c08c62d11759aa9e8fbfea59010ed0cef143a33e941832767a903a449bbd",
"sha256:733ae1f9de85e23e17bf747e2df19c224b7da64394fc20067ee315ff35397b62",
"sha256:76bf0647a3504746265895ac5a73db67983e53cdc3855e1a7c4b5e7543ef9e69",
"sha256:7fbd8f29cef0f09eafac7cf6f3c0ed8204a0342a65fafd902e9bf7611346b870",
"sha256:873ed675684c2cc5efeb93cde69622e342bd55a3e097ac3b76ff907876570e9e",
"sha256:a603a9e9c52eb3b5b50881a8f6db7e986f15e1d1b7185d0197fac4ceb87bdc72",
"sha256:a61d372188a223a285864fea3e31437f390ed001becab83a2d01f9c1873de5d8",
"sha256:be964026ff7c4b70934d1c84e3f30f6f98794ebc52056101c181774d5496fd3a",
"sha256:beee3c435e99c43440c358ed90e91db927c19753986fe3b2ebfa90e5bf3feb36",
"sha256:c269bc18284e2a7b472e7fe5f9734d85600cb6db969c641256c924d0f98ba54f",
"sha256:ce5baca8aa6afd5535ebbbd404ba3afd62839486bfffe9dd955e11b8f3b60df2",
"sha256:cf0c8128dc13a54d0fcb34a51d4829893e9f6fd8b0bb8c78324bb0c3330dc862",
"sha256:cf3314178c38e8c5d00f06f45e285014eabf54ad811662fc3dc78ffae8868b23",
"sha256:d5174775e88d4b4085c3bba371c015d9fb376ddcabe8556425f767146b482367",
"sha256:e1a7c9454b2fe263c478842b66875b9f6ec7bd221f82c6eabc7f20599ec1880a",
"sha256:f495ac863601865e14f6919f77453dbd4876221337dabbd0177269bfcab0abff",
"sha256:fa350707ec07e3f5a821c4a1c680f3c66cd09f9de13b32405d9eccc2bae73543",
"sha256:fe275de108032854e41ecca0493df6841679428b6eb386a25f5597a754ee1b05"
"sha256:0597d04a96ce9dd293561884f6e61be094f935e45a9a3321d7815abca05bb65b",
"sha256:07e2ebf51d84a8deefe253278e534ecc396dbbc8a263f97d2340dd583ba0803e",
"sha256:0aa4e037470ed531925e961f23f6f8db7d63ca4d2881729997838e717893756f",
"sha256:1e7711e9564b298e9e31b5fa38f636bfe564bacf91615ceb8d1d43ba7ec68c0d",
"sha256:2253abe1e779c247dd55384a9b2d6c6c0e1784194302a8a72f995cdb7aaebada",
"sha256:23178efa64eeb48d408c95d70e4ec6fe2273e8d0d21c174a224e907b65f657f9",
"sha256:26811dee5d805efcd0370903292789a1ab402e8f2870cd51129640c3cf840d7a",
"sha256:2917c835c1c51a3e5e440ee8acaa6a6a1c029faf6452e0b5f5f638271a05af23",
"sha256:29975cf72ff1b9fb8d93653dd61d4755b829701892449de978fe59f78762d469",
"sha256:2d7fd47b09e99ac47863b13a5fb845efa552f7c56e1572301465348484001341",
"sha256:2fada7e9380b63d12cf4f9ed13cd8f126e8e48a85459330cdbbeb7306e942ae9",
"sha256:34f08c8814f47427f40dce8a81235fd2cb7a741fe311f4cb8d19ea90d75c4c9d",
"sha256:533eafa499c51af38dc0826e47c4096de9ad71d7687472faf52bb58c1d49100c",
"sha256:547f5ccace5e23b6d08017081ed468ce420581c4eb0d2559f458653918e8776c",
"sha256:5df699268690ce2eb727b01ed4c2467121cf4982d8052e949e2f44824898e20a",
"sha256:61fd4d75dc501d06abeb4a6e8a341414d2546c05f7e29790057ebe7fb8c8f303",
"sha256:653aceedb2b3a4cdb579a55aaf78632b434b7cd53e2557b2bc8c8590bfe1d92b",
"sha256:675f35a5e7eacc5280b75f29c9f9ae1a26883076918e458ac4d4c413ef380aee",
"sha256:6d0118c6c6518da2e97dce24ba041cf612f91b73732398639c5194022d18e3a8",
"sha256:7255e74288b910d1aff299eab7085215802a8aedea8356c9f7b93d1c77e9c69a",
"sha256:77a58bf66222bdb1ab32840ac77e1354b0b9733fe06336e4fa3ce54d8acba70c",
"sha256:788cbc5ce7db91883fe4c334c8a9b29f6f7716f62a56551b07a9bbcee5b02388",
"sha256:7d95bcbbd3a89bbe0817f13b46a1a0c31715e78ef8d40e57d0c09931a6bf74b7",
"sha256:97f612783472ffe32a995415d1aac37c95bb8f42dcd6883c6346f3ae11e805a5",
"sha256:97f8b574b3a8e64e06cfa2d682cb4cb9e647676d67395a7d525f89798c42d0d2",
"sha256:9b6e9df1e62b267c0a5b1f0eee715d98990f3977124f242dd5f2d47e8940cc00",
"sha256:9b9094845476d3341df0c1bd3c5fba53c52825f5bef42a3b8d056aa452457f85",
"sha256:9f768ac2006a961b18883091fa3e057e2bc67d22df10d1bafc83c998c27b0474",
"sha256:a4515b0b7ee4f8e08e7e7c9f051997006e81f5386a837048a35454c5c733dff6",
"sha256:a8ba8ed8dc612fc310ce35ccc90f9641fcfb258343ab619e80086089ce8e60bf",
"sha256:afbb6a0350b72f10e5255ca3e4e0045ff137f169154f648fca3429e1487e5849",
"sha256:b481d0418d2ba5736b9744aa2772ba6fc72d4e2fb052e6460a86e999ed9a9573",
"sha256:b6f1079302725fe4779b2679c45e55ccd82a4cbbdf738d5441dbe774bb1b718f",
"sha256:be566b2e0f0a9850aeb66aa7ab484f48603ff3ca66b7a64e7cb7f9de06252d16",
"sha256:bf6e2b293ead4c7a6db11fb1ebfd9d132fecb51c218a7426ece2ffc032e43d5f",
"sha256:cc0d99010209b67eba1c3fb0a5568b1b763e2304211eb6c4b75762d23d54af80",
"sha256:e1012fa4f8e6bcd1906ed0187f2fefc7059b87bbadb62e2f7685dd77d673964e",
"sha256:f656b19c4d436e6f6d272cc952b0386e404402d3eadba49a88240ee0e3ebaca1"
],
"version": "==8.15.0"
"version": "==8.15.1"
},
"pillow": {
"hashes": [
@ -3445,102 +3465,102 @@
},
"regex": {
"hashes": [
"sha256:0694219a1d54336fd0445ea382d49d36882415c0134ee1e8332afd1529f0baa5",
"sha256:086dd15e9435b393ae06f96ab69ab2d333f5d65cbe65ca5a3ef0ec9564dfe770",
"sha256:094ba386bb5c01e54e14434d4caabf6583334090865b23ef58e0424a6286d3dc",
"sha256:09da66917262d9481c719599116c7dc0c321ffcec4b1f510c4f8a066f8768105",
"sha256:0ecf44ddf9171cd7566ef1768047f6e66975788258b1c6c6ca78098b95cf9a3d",
"sha256:0fda75704357805eb953a3ee15a2b240694a9a514548cd49b3c5124b4e2ad01b",
"sha256:11a963f8e25ab5c61348d090bf1b07f1953929c13bd2309a0662e9ff680763c9",
"sha256:150c39f5b964e4d7dba46a7962a088fbc91f06e606f023ce57bb347a3b2d4630",
"sha256:1b9d811f72210fa9306aeb88385b8f8bcef0dfbf3873410413c00aa94c56c2b6",
"sha256:1e0eabac536b4cc7f57a5f3d095bfa557860ab912f25965e08fe1545e2ed8b4c",
"sha256:22a86d9fff2009302c440b9d799ef2fe322416d2d58fc124b926aa89365ec482",
"sha256:22f3470f7524b6da61e2020672df2f3063676aff444db1daa283c2ea4ed259d6",
"sha256:263ef5cc10979837f243950637fffb06e8daed7f1ac1e39d5910fd29929e489a",
"sha256:283fc8eed679758de38fe493b7d7d84a198b558942b03f017b1f94dda8efae80",
"sha256:29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5",
"sha256:298dc6354d414bc921581be85695d18912bea163a8b23cac9a2562bbcd5088b1",
"sha256:2aae8101919e8aa05ecfe6322b278f41ce2994c4a430303c4cd163fef746e04f",
"sha256:2f4e475a80ecbd15896a976aa0b386c5525d0ed34d5c600b6d3ebac0a67c7ddf",
"sha256:34e4af5b27232f68042aa40a91c3b9bb4da0eeb31b7632e0091afc4310afe6cb",
"sha256:37f8e93a81fc5e5bd8db7e10e62dc64261bcd88f8d7e6640aaebe9bc180d9ce2",
"sha256:3a17d3ede18f9cedcbe23d2daa8a2cd6f59fe2bf082c567e43083bba3fb00347",
"sha256:3b1de218d5375cd6ac4b5493e0b9f3df2be331e86520f23382f216c137913d20",
"sha256:43f7cd5754d02a56ae4ebb91b33461dc67be8e3e0153f593c509e21d219c5060",
"sha256:4558410b7a5607a645e9804a3e9dd509af12fb72b9825b13791a37cd417d73a5",
"sha256:4719bb05094d7d8563a450cf8738d2e1061420f79cfcc1fa7f0a44744c4d8f73",
"sha256:4bfc2b16e3ba8850e0e262467275dd4d62f0d045e0e9eda2bc65078c0110a11f",
"sha256:518440c991f514331f4850a63560321f833979d145d7d81186dbe2f19e27ae3d",
"sha256:51f4b32f793812714fd5307222a7f77e739b9bc566dc94a18126aba3b92b98a3",
"sha256:531ac6cf22b53e0696f8e1d56ce2396311254eb806111ddd3922c9d937151dae",
"sha256:5cd05d0f57846d8ba4b71d9c00f6f37d6b97d5e5ef8b3c3840426a475c8f70f4",
"sha256:5dd58946bce44b53b06d94aa95560d0b243eb2fe64227cba50017a8d8b3cd3e2",
"sha256:60080bb3d8617d96f0fb7e19796384cc2467447ef1c491694850ebd3670bc457",
"sha256:636ba0a77de609d6510235b7f0e77ec494d2657108f777e8765efc060094c98c",
"sha256:67d3ccfc590e5e7197750fcb3a2915b416a53e2de847a728cfa60141054123d4",
"sha256:68191f80a9bad283432385961d9efe09d783bcd36ed35a60fb1ff3f1ec2efe87",
"sha256:7502534e55c7c36c0978c91ba6f61703faf7ce733715ca48f499d3dbbd7657e0",
"sha256:7aa47c2e9ea33a4a2a05f40fcd3ea36d73853a2aae7b4feab6fc85f8bf2c9704",
"sha256:7d2af3f6b8419661a0c421584cfe8aaec1c0e435ce7e47ee2a97e344b98f794f",
"sha256:7e316026cc1095f2a3e8cc012822c99f413b702eaa2ca5408a513609488cb62f",
"sha256:88ad44e220e22b63b0f8f81f007e8abbb92874d8ced66f32571ef8beb0643b2b",
"sha256:88d1f7bef20c721359d8675f7d9f8e414ec5003d8f642fdfd8087777ff7f94b5",
"sha256:89723d2112697feaa320c9d351e5f5e7b841e83f8b143dba8e2d2b5f04e10923",
"sha256:8a0ccf52bb37d1a700375a6b395bff5dd15c50acb745f7db30415bae3c2b0715",
"sha256:8c2c19dae8a3eb0ea45a8448356ed561be843b13cbc34b840922ddf565498c1c",
"sha256:905466ad1702ed4acfd67a902af50b8db1feeb9781436372261808df7a2a7bca",
"sha256:9852b76ab558e45b20bf1893b59af64a28bd3820b0c2efc80e0a70a4a3ea51c1",
"sha256:98a2636994f943b871786c9e82bfe7883ecdaba2ef5df54e1450fa9869d1f756",
"sha256:9aa1a67bbf0f957bbe096375887b2505f5d8ae16bf04488e8b0f334c36e31360",
"sha256:9eda5f7a50141291beda3edd00abc2d4a5b16c29c92daf8d5bd76934150f3edc",
"sha256:a6d1047952c0b8104a1d371f88f4ab62e6275567d4458c1e26e9627ad489b445",
"sha256:a9b6d73353f777630626f403b0652055ebfe8ff142a44ec2cf18ae470395766e",
"sha256:a9cc99d6946d750eb75827cb53c4371b8b0fe89c733a94b1573c9dd16ea6c9e4",
"sha256:ad83e7545b4ab69216cef4cc47e344d19622e28aabec61574b20257c65466d6a",
"sha256:b014333bd0217ad3d54c143de9d4b9a3ca1c5a29a6d0d554952ea071cff0f1f8",
"sha256:b43523d7bc2abd757119dbfb38af91b5735eea45537ec6ec3a5ec3f9562a1c53",
"sha256:b521dcecebc5b978b447f0f69b5b7f3840eac454862270406a39837ffae4e697",
"sha256:b77e27b79448e34c2c51c09836033056a0547aa360c45eeeb67803da7b0eedaf",
"sha256:b7a635871143661feccce3979e1727c4e094f2bdfd3ec4b90dfd4f16f571a87a",
"sha256:b7fca9205b59c1a3d5031f7e64ed627a1074730a51c2a80e97653e3e9fa0d415",
"sha256:ba1b30765a55acf15dce3f364e4928b80858fa8f979ad41f862358939bdd1f2f",
"sha256:ba99d8077424501b9616b43a2d208095746fb1284fc5ba490139651f971d39d9",
"sha256:c25a8ad70e716f96e13a637802813f65d8a6760ef48672aa3502f4c24ea8b400",
"sha256:c3c4a78615b7762740531c27cf46e2f388d8d727d0c0c739e72048beb26c8a9d",
"sha256:c40281f7d70baf6e0db0c2f7472b31609f5bc2748fe7275ea65a0b4601d9b392",
"sha256:c7ad32824b7f02bb3c9f80306d405a1d9b7bb89362d68b3c5a9be53836caebdb",
"sha256:cb3fe77aec8f1995611f966d0c656fdce398317f850d0e6e7aebdfe61f40e1cd",
"sha256:cc038b2d8b1470364b1888a98fd22d616fba2b6309c5b5f181ad4483e0017861",
"sha256:cc37b9aeebab425f11f27e5e9e6cf580be7206c6582a64467a14dda211abc232",
"sha256:cc6bb9aa69aacf0f6032c307da718f61a40cf970849e471254e0e91c56ffca95",
"sha256:d126361607b33c4eb7b36debc173bf25d7805847346dd4d99b5499e1fef52bc7",
"sha256:d15b274f9e15b1a0b7a45d2ac86d1f634d983ca40d6b886721626c47a400bf39",
"sha256:d166eafc19f4718df38887b2bbe1467a4f74a9830e8605089ea7a30dd4da8887",
"sha256:d498eea3f581fbe1b34b59c697512a8baef88212f92e4c7830fcc1499f5b45a5",
"sha256:d6f7e255e5fa94642a0724e35406e6cb7001c09d476ab5fce002f652b36d0c39",
"sha256:d78bd484930c1da2b9679290a41cdb25cc127d783768a0369d6b449e72f88beb",
"sha256:d865984b3f71f6d0af64d0d88f5733521698f6c16f445bb09ce746c92c97c586",
"sha256:d902a43085a308cef32c0d3aea962524b725403fd9373dea18110904003bac97",
"sha256:d94a1db462d5690ebf6ae86d11c5e420042b9898af5dcf278bd97d6bda065423",
"sha256:da695d75ac97cb1cd725adac136d25ca687da4536154cdc2815f576e4da11c69",
"sha256:db2a0b1857f18b11e3b0e54ddfefc96af46b0896fb678c85f63fb8c37518b3e7",
"sha256:df26481f0c7a3f8739fecb3e81bc9da3fcfae34d6c094563b9d4670b047312e1",
"sha256:e14b73607d6231f3cc4622809c196b540a6a44e903bcfad940779c80dffa7be7",
"sha256:e2610e9406d3b0073636a3a2e80db05a02f0c3169b5632022b4e81c0364bcda5",
"sha256:e692296c4cc2873967771345a876bcfc1c547e8dd695c6b89342488b0ea55cd8",
"sha256:e693e233ac92ba83a87024e1d32b5f9ab15ca55ddd916d878146f4e3406b5c91",
"sha256:e81469f7d01efed9b53740aedd26085f20d49da65f9c1f41e822a33992cb1590",
"sha256:e8c7e08bb566de4faaf11984af13f6bcf6a08f327b13631d41d62592681d24fe",
"sha256:ed19b3a05ae0c97dd8f75a5d8f21f7723a8c33bbc555da6bbe1f96c470139d3c",
"sha256:efb2d82f33b2212898f1659fb1c2e9ac30493ac41e4d53123da374c3b5541e64",
"sha256:f44dd4d68697559d007462b0a3a1d9acd61d97072b71f6d1968daef26bc744bd",
"sha256:f72cbae7f6b01591f90814250e636065850c5926751af02bb48da94dfced7baa",
"sha256:f7bc09bc9c29ebead055bcba136a67378f03d66bf359e87d0f7c759d6d4ffa31",
"sha256:ff100b203092af77d1a5a7abe085b3506b7eaaf9abf65b73b7d6905b6cb76988"
"sha256:00169caa125f35d1bca6045d65a662af0202704489fada95346cfa092ec23f39",
"sha256:03576e3a423d19dda13e55598f0fd507b5d660d42c51b02df4e0d97824fdcae3",
"sha256:03e68f44340528111067cecf12721c3df4811c67268b897fbe695c95f860ac42",
"sha256:0534b034fba6101611968fae8e856c1698da97ce2efb5c2b895fc8b9e23a5834",
"sha256:08dea89f859c3df48a440dbdcd7b7155bc675f2fa2ec8c521d02dc69e877db70",
"sha256:0a38d151e2cdd66d16dab550c22f9521ba79761423b87c01dae0a6e9add79c0d",
"sha256:0c8290b44d8b0af4e77048646c10c6e3aa583c1ca67f3b5ffb6e06cf0c6f0f89",
"sha256:10188fe732dec829c7acca7422cdd1bf57d853c7199d5a9e96bb4d40db239c73",
"sha256:1210365faba7c2150451eb78ec5687871c796b0f1fa701bfd2a4a25420482d26",
"sha256:12f6a3f2f58bb7344751919a1876ee1b976fe08b9ffccb4bbea66f26af6017b9",
"sha256:159dc4e59a159cb8e4e8f8961eb1fa5d58f93cb1acd1701d8aff38d45e1a84a6",
"sha256:20b7a68444f536365af42a75ccecb7ab41a896a04acf58432db9e206f4e525d6",
"sha256:23cff1b267038501b179ccbbd74a821ac4a7192a1852d1d558e562b507d46013",
"sha256:2c72608e70f053643437bd2be0608f7f1c46d4022e4104d76826f0839199347a",
"sha256:3399dd8a7495bbb2bacd59b84840eef9057826c664472e86c91d675d007137f5",
"sha256:34422d5a69a60b7e9a07a690094e824b66f5ddc662a5fc600d65b7c174a05f04",
"sha256:370c68dc5570b394cbaadff50e64d705f64debed30573e5c313c360689b6aadc",
"sha256:3a1018e97aeb24e4f939afcd88211ace472ba566efc5bdf53fd8fd7f41fa7170",
"sha256:3d5ac5234fb5053850d79dd8eb1015cb0d7d9ed951fa37aa9e6249a19aa4f336",
"sha256:4313ab9bf6a81206c8ac28fdfcddc0435299dc88cad12cc6305fd0e78b81f9e4",
"sha256:445ca8d3c5a01309633a0c9db57150312a181146315693273e35d936472df912",
"sha256:479595a4fbe9ed8f8f72c59717e8cf222da2e4c07b6ae5b65411e6302af9708e",
"sha256:4918fd5f8b43aa7ec031e0fef1ee02deb80b6afd49c85f0790be1dc4ce34cb50",
"sha256:4aba818dcc7263852aabb172ec27b71d2abca02a593b95fa79351b2774eb1d2b",
"sha256:4e819a806420bc010489f4e741b3036071aba209f2e0989d4750b08b12a9343f",
"sha256:4facc913e10bdba42ec0aee76d029aedda628161a7ce4116b16680a0413f658a",
"sha256:549c3584993772e25f02d0656ac48abdda73169fe347263948cf2b1cead622f3",
"sha256:5c02fcd2bf45162280613d2e4a1ca3ac558ff921ae4e308ecb307650d3a6ee51",
"sha256:5f580c651a72b75c39e311343fe6875d6f58cf51c471a97f15a938d9fe4e0d37",
"sha256:62120ed0de69b3649cc68e2965376048793f466c5a6c4370fb27c16c1beac22d",
"sha256:6295004b2dd37b0835ea5c14a33e00e8cfa3c4add4d587b77287825f3418d310",
"sha256:65436dce9fdc0aeeb0a0effe0839cb3d6a05f45aa45a4d9f9c60989beca78b9c",
"sha256:684008ec44ad275832a5a152f6e764bbe1914bea10968017b6feaecdad5736e0",
"sha256:684e52023aec43bdf0250e843e1fdd6febbe831bd9d52da72333fa201aaa2335",
"sha256:6cc38067209354e16c5609b66285af17a2863a47585bcf75285cab33d4c3b8df",
"sha256:6f2f017c5be19984fbbf55f8af6caba25e62c71293213f044da3ada7091a4455",
"sha256:743deffdf3b3481da32e8a96887e2aa945ec6685af1cfe2bcc292638c9ba2f48",
"sha256:7571f19f4a3fd00af9341c7801d1ad1967fc9c3f5e62402683047e7166b9f2b4",
"sha256:7731728b6568fc286d86745f27f07266de49603a6fdc4d19c87e8c247be452af",
"sha256:785c071c982dce54d44ea0b79cd6dfafddeccdd98cfa5f7b86ef69b381b457d9",
"sha256:78fddb22b9ef810b63ef341c9fcf6455232d97cfe03938cbc29e2672c436670e",
"sha256:7bb966fdd9217e53abf824f437a5a2d643a38d4fd5fd0ca711b9da683d452969",
"sha256:7cbc5d9e8a1781e7be17da67b92580d6ce4dcef5819c1b1b89f49d9678cc278c",
"sha256:803b8905b52de78b173d3c1e83df0efb929621e7b7c5766c0843704d5332682f",
"sha256:80b696e8972b81edf0af2a259e1b2a4a661f818fae22e5fa4fa1a995fb4a40fd",
"sha256:81500ed5af2090b4a9157a59dbc89873a25c33db1bb9a8cf123837dcc9765047",
"sha256:89ec7f2c08937421bbbb8b48c54096fa4f88347946d4747021ad85f1b3021b3c",
"sha256:8ba6745440b9a27336443b0c285d705ce73adb9ec90e2f2004c64d95ab5a7598",
"sha256:8c91e1763696c0eb66340c4df98623c2d4e77d0746b8f8f2bee2c6883fd1fe18",
"sha256:8d015604ee6204e76569d2f44e5a210728fa917115bef0d102f4107e622b08d5",
"sha256:8d1f86f3f4e2388aa3310b50694ac44daefbd1681def26b4519bd050a398dc5a",
"sha256:8f83b6fd3dc3ba94d2b22717f9c8b8512354fd95221ac661784df2769ea9bba9",
"sha256:8fc6976a3395fe4d1fbeb984adaa8ec652a1e12f36b56ec8c236e5117b585427",
"sha256:904c883cf10a975b02ab3478bce652f0f5346a2c28d0a8521d97bb23c323cc8b",
"sha256:911742856ce98d879acbea33fcc03c1d8dc1106234c5e7d068932c945db209c0",
"sha256:91797b98f5e34b6a49f54be33f72e2fb658018ae532be2f79f7c63b4ae225145",
"sha256:95399831a206211d6bc40224af1c635cb8790ddd5c7493e0bd03b85711076a53",
"sha256:956b58d692f235cfbf5b4f3abd6d99bf102f161ccfe20d2fd0904f51c72c4c66",
"sha256:98c1165f3809ce7774f05cb74e5408cd3aa93ee8573ae959a97a53db3ca3180d",
"sha256:9ab40412f8cd6f615bfedea40c8bf0407d41bf83b96f6fc9ff34976d6b7037fd",
"sha256:9df1bfef97db938469ef0a7354b2d591a2d438bc497b2c489471bec0e6baf7c4",
"sha256:a01fe2305e6232ef3e8f40bfc0f0f3a04def9aab514910fa4203bafbc0bb4682",
"sha256:a70b51f55fd954d1f194271695821dd62054d949efd6368d8be64edd37f55c86",
"sha256:a7ccdd1c4a3472a7533b0a7aa9ee34c9a2bef859ba86deec07aff2ad7e0c3b94",
"sha256:b340cccad138ecb363324aa26893963dcabb02bb25e440ebdf42e30963f1a4e0",
"sha256:b74586dd0b039c62416034f811d7ee62810174bb70dffcca6439f5236249eb09",
"sha256:b9d320b3bf82a39f248769fc7f188e00f93526cc0fe739cfa197868633d44701",
"sha256:ba2336d6548dee3117520545cfe44dc28a250aa091f8281d28804aa8d707d93d",
"sha256:ba8122e3bb94ecda29a8de4cf889f600171424ea586847aa92c334772d200331",
"sha256:bd727ad276bb91928879f3aa6396c9a1d34e5e180dce40578421a691eeb77f47",
"sha256:c21fc21a4c7480479d12fd8e679b699f744f76bb05f53a1d14182b31f55aac76",
"sha256:c2d0e7cbb6341e830adcbfa2479fdeebbfbb328f11edd6b5675674e7a1e37730",
"sha256:c2ef6f7990b6e8758fe48ad08f7e2f66c8f11dc66e24093304b87cae9037bb4a",
"sha256:c4ed75ea6892a56896d78f11006161eea52c45a14994794bcfa1654430984b22",
"sha256:cccc79a9be9b64c881f18305a7c715ba199e471a3973faeb7ba84172abb3f317",
"sha256:d0800631e565c47520aaa04ae38b96abc5196fe8b4aa9bd864445bd2b5848a7a",
"sha256:d2da13568eff02b30fd54fccd1e042a70fe920d816616fda4bf54ec705668d81",
"sha256:d61ae114d2a2311f61d90c2ef1358518e8f05eafda76eaf9c772a077e0b465ec",
"sha256:d83c2bc678453646f1a18f8db1e927a2d3f4935031b9ad8a76e56760461105dd",
"sha256:dd5acc0a7d38fdc7a3a6fd3ad14c880819008ecb3379626e56b163165162cc46",
"sha256:df79012ebf6f4efb8d307b1328226aef24ca446b3ff8d0e30202d7ebcb977a8c",
"sha256:e0a2df336d1135a0b3a67f3bbf78a75f69562c1199ed9935372b82215cddd6e2",
"sha256:e2f142b45c6fed48166faeb4303b4b58c9fcd827da63f4cf0a123c3480ae11fb",
"sha256:e697e1c0238133589e00c244a8b676bc2cfc3ab4961318d902040d099fec7483",
"sha256:e757d475953269fbf4b441207bb7dbdd1c43180711b6208e129b637792ac0b93",
"sha256:e87ab229332ceb127a165612d839ab87795972102cb9830e5f12b8c9a5c1b508",
"sha256:ea355eb43b11764cf799dda62c658c4d2fdb16af41f59bb1ccfec517b60bcb07",
"sha256:ec7e0043b91115f427998febaa2beb82c82df708168b35ece3accb610b91fac1",
"sha256:eeaa0b5328b785abc344acc6241cffde50dc394a0644a968add75fcefe15b9d4",
"sha256:f2d80a6749724b37853ece57988b39c4e79d2b5fe2869a86e8aeae3bbeef9eb0",
"sha256:fa454d26f2e87ad661c4f0c5a5fe4cf6aab1e307d1b94f16ffdfcb089ba685c0",
"sha256:fb83cc090eac63c006871fd24db5e30a1f282faa46328572661c0a24a2323a08",
"sha256:fd80d1280d473500d8086d104962a82d77bfbf2b118053824b7be28cd5a79ea5"
],
"markers": "python_version >= '3.7'",
"version": "==2023.12.25"
"version": "==2024.4.16"
},
"requests": {
"hashes": [
@ -3591,119 +3611,109 @@
},
"safetensors": {
"hashes": [
"sha256:01b5e71d3754d2201294f1eb7a6d59cce3a5702ff96d83d226571b2ca2183837",
"sha256:02697f8f2be8ca3c37a4958702dbdb1864447ef765e18b5328a1617022dcf164",
"sha256:039a42ab33c9d68b39706fd38f1922ace26866eff246bf20271edb619f5f848b",
"sha256:04e6af4a6dbeb06c4e6e7d46cf9c716cbc4cc5ef62584fd8a7c0fe558562df45",
"sha256:04fcd6fcf7d9c13c7e5dc7e08de5e492ee4daa8f4ad74b4d8299d3eb0224292f",
"sha256:05b5a461cc68ecd42d9d546e5e1268a39d8ede7934a68d1ce17c3c659cb829d6",
"sha256:0911315bbcc5289087d063c2c2c7ccd711ea97a7e557a7bce005ac2cf80146aa",
"sha256:0ceeff9ddbab4f78738489eb6682867ae946178776f33699737b2129b5394dc1",
"sha256:11be6e7afed29e5a5628f0aa6214e34bc194da73f558dc69fc7d56e07037422a",
"sha256:13f2e57be007b7ea9329133d2399e6bdfcf1910f655440a4da17df3a45afcd30",
"sha256:160ba1b1e11cf874602c233ab80a14f588571d09556cbc3586900121d622b5ed",
"sha256:16b6b3884f7876c6b3b23a742428223a7170a5a9dac819d8c12a1569422c4b5a",
"sha256:18930ec1d1ecb526d3d9835abc2489b8f1530877518f0c541e77ef0b7abcbd99",
"sha256:1b6fa399f251bbeb52029bf5a0ac2878d7705dd3612a2f8895b48e9c11f0367d",
"sha256:1ebc3cd401e4eb54e7c0a70346be565e81942d9a41fafd5f4bf7ab3a55d10378",
"sha256:1efe31673be91832d73439a2af426743e1395fc9ef7b081914e9e1d567bd7b5f",
"sha256:233436fd30f27ffeb3c3780d0b84f496518868445c7a8db003639a649cc98453",
"sha256:278a1a3414c020785decdcd741c578725721274d2f9f787fcc930882e83b89cc",
"sha256:27f53f70106224d32d874aacecbeb4a6e4c5b16a1d2006d0e876d97229086d71",
"sha256:27fd8f65cf7c80e4280cae1ee6bcd85c483882f6580821abe71ee1a0d3dcfca7",
"sha256:2b3e55adb6bd9dc1c2a341e72f48f075953fa35d173dd8e29a95b3b02d0d1462",
"sha256:2bd979642e6c3a517ef4b84ff36c2fee4015664fea05a61154fc565978347553",
"sha256:2f7a6e5d29bd2cc340cffaa391fa437b1be9d21a2bd8b8724d2875d13a6ef2a9",
"sha256:3497ac3895acf17c5f98197f1fa4769f09c5e7ede07fcb102f1c201e663e052c",
"sha256:3517d568486ab3508a7acc360b82d7a4a3e26b86efdf210a9ecd9d233c40708a",
"sha256:36239a0060b537a3e8c473df78cffee14c3ec4f51d5f1a853af99371a2fb2a35",
"sha256:3627dbd1ea488dd8046a0491de5087f3c0d641e7acc80c0189a33c69398f1cd1",
"sha256:3d420e19fcef96d0067f4de4699682b4bbd85fc8fea0bd45fcd961fdf3e8c82c",
"sha256:41911087d20a7bbd78cb4ad4f98aab0c431533107584df6635d8b54b99945573",
"sha256:42f743b3cca863fba53ca57a193f510e5ec359b97f38c282437716b6768e4a25",
"sha256:44feb8cb156d6803dcd19fc6b81b27235f29b877660605a6ac35e1da7d64f0e4",
"sha256:4c888bf71d5ca12a720f1ed87d407c4918afa022fb247a6546d8fac15b1f112b",
"sha256:4d1361a097ac430b310ce9eed8ed4746edee33ddafdfbb965debc8966fc34dc2",
"sha256:4e70d442ad17e8b153ef9095bf48ea64f15a66bf26dc2b6ca94660c154edbc24",
"sha256:4f4bfc7ea19b446bfad41510d4b4c76101698c00caaa8a332c8edd8090a412ef",
"sha256:4ff88f194fe4ac50b463a4a6f0c03af9ad72eb5d24ec6d6730af59522e37fedb",
"sha256:50771c662aab909f31e94d048e76861fd027d66076ea773eef2e66c717766e24",
"sha256:51b7228e46c0a483c40ba4b9470dea00fb1ff8685026bb4766799000f6328ac2",
"sha256:523a241c33e7c827ab9a3a23760d75c7d062f43dfe55b6b019409f89b0fb52d1",
"sha256:52a7012f6cb9cb4a132760b6308daede18a9f5f8952ce08adc7c67a7d865c2d8",
"sha256:55969fd2e6fdb38dc221b0ab380668c21b0efa12a7562db9924759faa3c51757",
"sha256:5bc384a0309b706aa0425c93abb0390508a61bf029ce99c7d9df4220f25871a5",
"sha256:5ca76f13fb1cef242ea3ad2cb37388e7d005994f42af8b44bee56ba48b2d45ce",
"sha256:69d8bb8384dc2cb5b72c36c4d6980771b293d1a1377b378763f5e37b6bb8d133",
"sha256:6ae429bfaecc10ab5fe78c93009b3d1656c1581da560041e700eadb497dbe7a4",
"sha256:77af8aa0edcc2863760fd6febbfdb82e88fd75d0e60c1ce4ba57208ba5e4a89b",
"sha256:77b72d17754c93bb68f3598182f14d78776e0b9b31682ca5bb2c7c5bd9a75267",
"sha256:7a09237a795d11cd11f9dae505d170a29b5616151db1e10c14f892b11caadc7d",
"sha256:7a73b3649456d09ca8506140d44484b63154a7378434cc1e8719f8056550b224",
"sha256:846666c1c5a8c8888d2dfda8d3921cb9cb8e2c5f78365be756c11021e75a0a2a",
"sha256:8523b9c5777d771bcde5c2389c03f1cdf7ebe8797432a1bd5e345efe25c55987",
"sha256:880e6865cf72cb67f9ab8d04a3c4b49dd95ae92fb1583929ce65aed94e1f685f",
"sha256:88250922401b5ae4e37de929178caf46be47ed16c817b2237b81679bec07c120",
"sha256:88d6beb7f811a081e0e5f1d9669fdac816c45340c04b1eaf7ebfda0ce93ea403",
"sha256:8b47aa643afdfd66cf7ce4c184092ae734e15d10aba2c2948f24270211801c3c",
"sha256:8c1f25c5069ee42a5bcffdc66c300a407941edd73f3239e9fdefd26216407391",
"sha256:8c7ac9ad3728838006598e296b3ae9f27d80b489effd4685b92d97b3fc4c98f6",
"sha256:8f74c86b25615cb24ad4cff765a2eefc09d71bf0fed97588cf585aad9c38fbb4",
"sha256:906d14c4a677d35834fb0f3a5455ef8305e1bba10a5e0f2e0f357b3d1ad989f2",
"sha256:91290f83daf80ce6d1a7f629b244443c200060a80f908b29d879021409e5ea94",
"sha256:91ca1056decc4e981248786e87b2a202d4841ee5f99d433f1adf3d44d4bcfa0e",
"sha256:96ad3d7d472612e26cbe413922b4fb13933310f0511d346ea5cc9a1e856e52eb",
"sha256:9be1918eb8d43a11a6f8806759fccfa0eeb0542b12924caba66af8a7800ad01a",
"sha256:9ca54742122fa3c4821754adb67318e1cd25c3a22bbf0c5520d5176e77a099ac",
"sha256:9d56f0ef53afad26ec54ceede78a43e9a23a076dadbbda7b44d304c591abf4c1",
"sha256:9d87a1c98803c16cf113b9ba03f07b2dce5e8eabfd1811a7f7323fcaa2a1bf47",
"sha256:a26fae748a7488cb3aac381eddfa818c42052c87b5e689fb4c6e82ed58cec209",
"sha256:a492ba21b5c8f14ee5ec9b20f42ba969e53ca1f909a4d04aad736b66a341dcc2",
"sha256:a5a921b4fe6925f9942adff3ebae8c16e0487908c54586a5a42f35b59fd69794",
"sha256:a80cb48d0a447f8dd18e61813efa7d3f8f8d52edf0f05806abc0c59b83431f57",
"sha256:ab1f5d84185f9fefaf21413efb764e4908057b8a9a0b987ede890c353490fd70",
"sha256:acc85dcb09ec5e8aa787f588d7ad4d55c103f31e4ff060e17d92cc0e8b8cac73",
"sha256:af2d8f7235d8a08fbccfb8394387890e7fa38942b349a94e6eff13c52ac98087",
"sha256:b259ca73d42daf658a1bda463f1f83885ae4d93a60869be80d7f7dfcc9d8bbb5",
"sha256:b25b8233a1a85dc67e39838951cfb01595d792f3b7b644add63edb652992e030",
"sha256:b286fb7adfee70a4189898ac2342b8a67d5f493e6b21b0af89ca8eac1b967cbf",
"sha256:b3a3e1f5b85859e398773f064943b62a4059f225008a2a8ee6add1edcf77cacf",
"sha256:b57fc5b1b54cb12d8690a58a4cf4b7144730d4bde9d98aa0e1dab6295a1cd579",
"sha256:b684d9818aa5d63fddc65f7d0151968037d255d91adf74eba82125b41c680aaa",
"sha256:b691727228c28f2d82d8a92b2bc26e7a1f129ee40b2f2a3185b5974e038ed47c",
"sha256:b8a628e0ae2bbc334b62952c384aa5f41621d01850f8d67b04a96b9c39dd7326",
"sha256:b90f1d9809caf4ff395951b4703295a68d12907f6945bbc3129e934ff8ae46f6",
"sha256:c2341411412a41671d25e26bed59ec121e46bf4fadb8132895e610411c4b9681",
"sha256:c487b5f113b0924c9534a07dc034830fb4ef05ce9bb6d78cfe016a7dedfe281f",
"sha256:c5dd2ed788730ed56b415d1a11c62026b8cc8c573f55a2092afb3ab383e94fff",
"sha256:c772147e6395bc829842e0a98e1b30c67fe25d816299c28196488511d5a5e951",
"sha256:cc068afe23734dfb26ce19db0a7877499ddf73b1d55ceb762417e8da4a1b05fb",
"sha256:cc41791b33efb9c83a59b731619f3d15f543dfe71f3a793cb8fbf9bd5d0d5d71",
"sha256:ce6cb86133dc8930a7ab5e7438545a7f205f7a1cdd5aaf108c1d0da6bdcfbc2b",
"sha256:d0cbb7664fad2c307f95195f951b7059e95dc23e0e1822e5978c8b500098543c",
"sha256:d36ee3244d461cd655aeef493792c3bccf4875282f8407fd9af99e9a41cf2530",
"sha256:d40443554142fc0ab30652d5cc8554c4b7a613513bde00373e18afd5de8cbe4b",
"sha256:d88a16bbc330f27e7f2d4caaf6fb061ad0b8a756ecc4033260b0378e128ce8a2",
"sha256:d9304a0934ced5a5d272f39de36291dc141dfc152d277f03fb4d65f2fb2ffa7c",
"sha256:da7f6483f3fe67ff39b3a55552552c67930ea10a36e9f2539d36fc205273d767",
"sha256:dcff0243e1737a21f83d664c63fed89d1f532c23fc6830d0427279fabd789ccb",
"sha256:de01c9a3a3b7b69627d624ff69d9f11d28ce9908eea2fb6245adafa4b1d43df6",
"sha256:de5730d77e6ff7f4c7039e20913661ad0ea2f86c09e71c039e73dfdd1f394f08",
"sha256:de642d46b459e4afd5c2020b26c0d6d869a171ea00411897d5776c127cac74f0",
"sha256:df3fcdec0cd543084610d1f09c65cdb10fb3079f79bceddc092b0d187c6a265b",
"sha256:e1625a8d07d046e968bd5c4961810aba1225984e4fb9243626f9d04a06ed3fee",
"sha256:e1f43a77eb38540f782999e5dc5645164fe9027d3f0194f6c9a5126168017efa",
"sha256:e6b2feb4b47226a16a792e6fac3f49442714884a3d4c1008569d5068a3941be9",
"sha256:e9223b8ac21085db614a510eb3445e7083cae915a9202357555fa939695d4f57",
"sha256:ee25d311493fbbe0be9d395faee46e9d79e8948f461e388ff39e59875ed9a350",
"sha256:eed8097968585cd752a1171f86fce9aa1d89a29033e5cd8bec5a502e29f6b7af",
"sha256:f41cc0ee4b838ae8f4d8364a1b162067693d11a3893f0863be8c228d40e4d0ee",
"sha256:fb18300e8eb74291225214f26c9a8ae2110fd61a6c9b5a2ff4c4e0eb1bb9a998",
"sha256:fd27e063fbdafe776f7b1714da59110e88f270e86db00788a8fd65f4eacfeba7",
"sha256:fe5437ff9fb116e44f2ab558981249ae63f978392b4576e62fcfe167d353edbc"
"sha256:018b691383026a2436a22b648873ed11444a364324e7088b99cd2503dd828400",
"sha256:01e4b22e3284cd866edeabe4f4d896229495da457229408d2e1e4810c5187121",
"sha256:01feb3089e5932d7e662eda77c3ecc389f97c0883c4a12b5cfdc32b589a811c3",
"sha256:02318f01e332cc23ffb4f6716e05a492c5f18b1d13e343c49265149396284a44",
"sha256:02ef3a24face643456020536591fbd3c717c5abaa2737ec428ccbbc86dffa7a4",
"sha256:03a4447c784917c9bf01d8f2ac5080bc15c41692202cd5f406afba16629e84d6",
"sha256:084fc436e317f83f7071fc6a62ca1c513b2103db325cd09952914b50f51cf78f",
"sha256:0bf4f9d6323d9f86eef5567eabd88f070691cf031d4c0df27a40d3b4aaee755b",
"sha256:0d52c958dc210265157573f81d34adf54e255bc2b59ded6218500c9b15a750eb",
"sha256:0d5ffc6a80f715c30af253e0e288ad1cd97a3d0086c9c87995e5093ebc075e50",
"sha256:0d9cd8e1560dfc514b6d7859247dc6a86ad2f83151a62c577428d5102d872721",
"sha256:0dd37306546b58d3043eb044c8103a02792cc024b51d1dd16bd3dd1f334cb3ed",
"sha256:1139eb436fd201c133d03c81209d39ac57e129f5e74e34bb9ab60f8d9b726270",
"sha256:19bbdf95de2cf64f25cd614c5236c8b06eb2cfa47cbf64311f4b5d80224623a3",
"sha256:1ab6527a20586d94291c96e00a668fa03f86189b8a9defa2cdd34a1a01acc7d5",
"sha256:1b89381517891a7bb7d1405d828b2bf5d75528299f8231e9346b8eba092227f9",
"sha256:1f598b713cc1a4eb31d3b3203557ac308acf21c8f41104cdd74bf640c6e538e3",
"sha256:22d21760dc6ebae42e9c058d75aa9907d9f35e38f896e3c69ba0e7b213033856",
"sha256:22f3b5d65e440cec0de8edaa672efa888030802e11c09b3d6203bff60ebff05a",
"sha256:2a0deb16a1d3ea90c244ceb42d2c6c276059616be21a19ac7101aa97da448faf",
"sha256:2a1f4430cc0c9d6afa01214a4b3919d0a029637df8e09675ceef1ca3f0dfa0df",
"sha256:2d603846a8585b9432a0fd415db1d4c57c0f860eb4aea21f92559ff9902bae4d",
"sha256:2f85fc50c4e07a21e95c24e07460fe6f7e2859d0ce88092838352b798ce711c2",
"sha256:309b10dbcab63269ecbf0e2ca10ce59223bb756ca5d431ce9c9eeabd446569da",
"sha256:3615a96dd2dcc30eb66d82bc76cda2565f4f7bfa89fcb0e31ba3cea8a1a9ecbb",
"sha256:38e2a8666178224a51cca61d3cb4c88704f696eac8f72a49a598a93bbd8a4af9",
"sha256:393e6e391467d1b2b829c77e47d726f3b9b93630e6a045b1d1fca67dc78bf632",
"sha256:3f9cdca09052f585e62328c1c2923c70f46814715c795be65f0b93f57ec98a02",
"sha256:41a727a7f5e6ad9f1db6951adee21bbdadc632363d79dc434876369a17de6ad6",
"sha256:420a98f593ff9930f5822560d14c395ccbc57342ddff3b463bc0b3d6b1951550",
"sha256:446e9fe52c051aeab12aac63d1017e0f68a02a92a027b901c4f8e931b24e5397",
"sha256:455d538aa1aae4a8b279344a08136d3f16334247907b18a5c3c7fa88ef0d3c46",
"sha256:4f9bac020faba7f5dc481e881b14b6425265feabb5bfc552551d21189c0eddc3",
"sha256:53c4879b9c6bd7cd25d114ee0ef95420e2812e676314300624594940a8d6a91f",
"sha256:5757e4688f20df083e233b47de43845d1adb7e17b6cf7da5f8444416fc53828d",
"sha256:585c9ae13a205807b63bef8a37994f30c917ff800ab8a1ca9c9b5d73024f97ee",
"sha256:5d07cbca5b99babb692d76d8151bec46f461f8ad8daafbfd96b2fca40cadae65",
"sha256:5fc6775529fb9f0ce2266edd3e5d3f10aab068e49f765e11f6f2a63b5367021d",
"sha256:622afd28968ef3e9786562d352659a37de4481a4070f4ebac883f98c5836563e",
"sha256:6f9568f380f513a60139971169c4a358b8731509cc19112369902eddb33faa4d",
"sha256:70a5319ef409e7f88686a46607cbc3c428271069d8b770076feaf913664a07ac",
"sha256:74707624b81f1b7f2b93f5619d4a9f00934d5948005a03f2c1845ffbfff42212",
"sha256:7c4fa560ebd4522adddb71dcd25d09bf211b5634003f015a4b815b7647d62ebe",
"sha256:7de32d0d34b6623bb56ca278f90db081f85fb9c5d327e3c18fd23ac64f465768",
"sha256:840b7ac0eff5633e1d053cc9db12fdf56b566e9403b4950b2dc85393d9b88d67",
"sha256:840caf38d86aa7014fe37ade5d0d84e23dcfbc798b8078015831996ecbc206a3",
"sha256:8651c7299cbd8b4161a36cd6a322fa07d39cd23535b144d02f1c1972d0c62f3c",
"sha256:868ad1b6fc41209ab6bd12f63923e8baeb1a086814cb2e81a65ed3d497e0cf8f",
"sha256:88887f69f7a00cf02b954cdc3034ffb383b2303bc0ab481d4716e2da51ddc10e",
"sha256:89f9f17b0dacb913ed87d57afbc8aad85ea42c1085bd5de2f20d83d13e9fc4b2",
"sha256:8c496c5401c1b9c46d41a7688e8ff5b0310a3b9bae31ce0f0ae870e1ea2b8caf",
"sha256:8cf18888606dad030455d18f6c381720e57fc6a4170ee1966adb7ebc98d4d6a3",
"sha256:8d22c1a10dff3f64d0d68abb8298a3fd88ccff79f408a3e15b3e7f637ef5c980",
"sha256:90964917f5b0fa0fa07e9a051fbef100250c04d150b7026ccbf87a34a54012e0",
"sha256:9bfb92f82574d9e58401d79c70c716985dc049b635fef6eecbb024c79b2c46ad",
"sha256:9c6ad011c1b4e3acff058d6b090f1da8e55a332fbf84695cf3100c649cc452d1",
"sha256:a11c374eb63a9c16c5ed146457241182f310902bd2a9c18255781bb832b6748b",
"sha256:a7cef55929dcbef24af3eb40bedec35d82c3c2fa46338bb13ecf3c5720af8a61",
"sha256:a844cdb5d7cbc22f5f16c7e2a0271170750763c4db08381b7f696dbd2c78a361",
"sha256:ae7613a119a71a497d012ccc83775c308b9c1dab454806291427f84397d852fd",
"sha256:b1648568667f820b8c48317c7006221dc40aced1869908c187f493838a1362bc",
"sha256:b1e31be7945f66be23f4ec1682bb47faa3df34cb89fc68527de6554d3c4258a4",
"sha256:b277482120df46e27a58082df06a15aebda4481e30a1c21eefd0921ae7e03f65",
"sha256:b7ffba80aa49bd09195145a7fd233a7781173b422eeb995096f2b30591639517",
"sha256:b852e47eb08475c2c1bd8131207b405793bfc20d6f45aff893d3baaad449ed14",
"sha256:bb4f8c5d0358a31e9a08daeebb68f5e161cdd4018855426d3f0c23bb51087055",
"sha256:bbae3b4b9d997971431c346edbfe6e41e98424a097860ee872721e176040a893",
"sha256:befdf0167ad626f22f6aac6163477fcefa342224a22f11fdd05abb3995c1783c",
"sha256:c0acbe31340ab150423347e5b9cc595867d814244ac14218932a5cf1dd38eb39",
"sha256:c41e1893d1206aa7054029681778d9a58b3529d4c807002c156d58426c225173",
"sha256:c59d51f182c729f47e841510b70b967b0752039f79f1de23bcdd86462a9b09ee",
"sha256:cd6fff9e56df398abc5866b19a32124815b656613c1c5ec0f9350906fd798aac",
"sha256:cdd0a3b5da66e7f377474599814dbf5cbf135ff059cc73694de129b58a5e8a2c",
"sha256:cf476bca34e1340ee3294ef13e2c625833f83d096cfdf69a5342475602004f95",
"sha256:d0dd4a1db09db2dba0f94d15addc7e7cd3a7b0d393aa4c7518c39ae7374623c3",
"sha256:d1456f814655b224d4bf6e7915c51ce74e389b413be791203092b7ff78c936dd",
"sha256:d14d30c25897b2bf19b6fb5ff7e26cc40006ad53fd4a88244fdf26517d852dd7",
"sha256:d244bcafeb1bc06d47cfee71727e775bca88a8efda77a13e7306aae3813fa7e4",
"sha256:d8815b5e1dac85fc534a97fd339e12404db557878c090f90442247e87c8aeaea",
"sha256:d88b33980222085dd6001ae2cad87c6068e0991d4f5ccf44975d216db3b57376",
"sha256:d8c5093206ef4b198600ae484230402af6713dab1bd5b8e231905d754022bec7",
"sha256:d9c289f140a9ae4853fc2236a2ffc9a9f2d5eae0cb673167e0f1b8c18c0961ac",
"sha256:dcf5705cab159ce0130cd56057f5f3425023c407e170bca60b4868048bae64fd",
"sha256:e011cc162503c19f4b1fd63dfcddf73739c7a243a17dac09b78e57a00983ab35",
"sha256:e066e8861eef6387b7c772344d1fe1f9a72800e04ee9a54239d460c400c72aab",
"sha256:e0b2104df1579d6ba9052c0ae0e3137c9698b2d85b0645507e6fd1813b70931a",
"sha256:e375d975159ac534c7161269de24ddcd490df2157b55c1a6eeace6cbb56903f0",
"sha256:e4119532cd10dba04b423e0f86aecb96cfa5a602238c0aa012f70c3a40c44b50",
"sha256:e7dbbde64b6c534548696808a0e01276d28ea5773bc9a2dfb97a88cd3dffe3df",
"sha256:e9afd5358719f1b2cf425fad638fc3c887997d6782da317096877e5b15b2ce93",
"sha256:ec4b52ce9a396260eb9731eb6aea41a7320de22ed73a1042c2230af0212758ce",
"sha256:edb5698a7bc282089f64c96c477846950358a46ede85a1c040e0230344fdde10",
"sha256:ee463219d9ec6c2be1d331ab13a8e0cd50d2f32240a81d498266d77d07b7e71e",
"sha256:efcc860be094b8d19ac61b452ec635c7acb9afa77beb218b1d7784c6d41fe8ad",
"sha256:f5e6883af9a68c0028f70a4c19d5a6ab6238a379be36ad300a22318316c00cb0",
"sha256:f9650713b2cfa9537a2baf7dd9fee458b24a0aaaa6cafcea8bdd5fb2b8efdc34",
"sha256:faefeb3b81bdfb4e5a55b9bbdf3d8d8753f65506e1d67d03f5c851a6c87150e9",
"sha256:fb9c65bd82f9ef3ce4970dc19ee86be5f6f93d032159acf35e663c6bea02b237",
"sha256:fe746d03ed8d193674a26105e4f0fe6c726f5bb602ffc695b409eaf02f04763d",
"sha256:fef5d70683643618244a4f5221053567ca3e77c2531e42ad48ae05fae909f542"
],
"markers": "python_version >= '3.7'",
"version": "==0.4.2"
"version": "==0.4.3"
},
"scipy": {
"hashes": [
@ -4218,6 +4228,15 @@
"markers": "python_version >= '2'",
"version": "==2024.1"
},
"unidecode": {
"hashes": [
"sha256:cfdb349d46ed3873ece4586b96aa75258726e2fa8ec21d6f00a591d98806c2f4",
"sha256:d130a61ce6696f8148a3bd8fe779c99adeb4b870584eeb9526584e9aa091fd39"
],
"index": "pypi",
"markers": "python_version >= '3.5'",
"version": "==1.3.8"
},
"unstructured": {
"extras": [
"all-docs"
@ -4257,7 +4276,7 @@
"sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d",
"sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"
],
"markers": "python_version >= '3.10'",
"markers": "python_version >= '3.8'",
"version": "==2.2.1"
},
"uvicorn": {

View File

@ -1,4 +1,7 @@
import os
import random
import re
import string
from abc import abstractmethod
from io import BytesIO
from tempfile import NamedTemporaryFile
@ -8,12 +11,14 @@ from fastapi import UploadFile
from logger import get_logger
from models.user_usage import UserUsage
from modules.assistant.dto.inputs import InputAssistant
from modules.assistant.ito.utils.pdf_generator import PDFGenerator, PDFModel
from modules.chat.controller.chat.utils import update_user_usage
from modules.contact_support.controller.settings import ContactsSettings
from modules.upload.controller.upload_routes import upload_file
from modules.user.entity.user_identity import UserIdentity
from packages.emails.send_email import send_email
from pydantic import BaseModel
from unidecode import unidecode
logger = get_logger(__name__)
@ -57,22 +62,53 @@ class ITO(BaseModel):
def calculate_pricing(self):
return 20
def generate_pdf(self, filename: str, title: str, content: str):
pdf_model = PDFModel(title=title, content=content)
pdf = PDFGenerator(pdf_model)
pdf.print_pdf()
pdf.output(filename, "F")
@abstractmethod
async def process_assistant(self):
pass
async def send_output_by_email(
self, file: UploadFile, name: str, custom_message: str = None
self,
file: UploadFile,
filename: str,
task_name: str,
custom_message: str,
brain_id: str = None,
):
settings = ContactsSettings()
file = await self.uploadfile_to_file(file)
domain_quivr = os.getenv("QUIVR_DOMAIN", "https://chat.quivr.app/")
with open(file.name, "rb") as f:
mail_from = settings.resend_contact_sales_from
mail_to = self.current_user.email
body = f"""
<p>{custom_message}</p>
<div style="text-align: center;">
<img src="https://quivr-cms.s3.eu-west-3.amazonaws.com/logo_quivr_white_7e3c72620f.png" alt="Quivr Logo" style="width: 100px; height: 100px; border-radius: 50%; margin: 0 auto; display: block;">
<p>Quivr's ingestion process has been completed. The processed file is attached.</p>
<p><strong>Task:</strong> {task_name}</p>
<p><strong>Output:</strong> {custom_message}</p>
<br />
</div>
"""
if brain_id:
body += f"<div style='text-align: center;'>You can find the file <a href='{domain_quivr}studio/{brain_id}'>here</a>.</div> <br />"
body += f"""
<div style="text-align: center;">
<p>Please let us know if you have any questions or need further assistance.</p>
<p> The Quivr Team </p>
</div>
"""
params = {
"from": mail_from,
@ -80,9 +116,9 @@ class ITO(BaseModel):
"subject": "Quivr Ingestion Processed",
"reply_to": "no-reply@quivr.app",
"html": body,
"attachments": [{"filename": name, "content": list(f.read())}],
"attachments": [{"filename": filename, "content": list(f.read())}],
}
logger.info(f"Sending email to {mail_to} with file {name}")
logger.info(f"Sending email to {mail_to} with file {filename}")
send_email(params)
async def uploadfile_to_file(self, uploadFile: UploadFile):
@ -96,8 +132,7 @@ class ITO(BaseModel):
self, processed_content: str, original_filename: str, file_description: str
) -> dict:
"""Handles creation and uploading of the processed file."""
content_io = BytesIO(processed_content.encode("utf-8"))
content_io.seek(0)
# remove any special characters from the filename that aren't http safe
new_filename = (
original_filename.split(".")[0]
@ -105,20 +140,44 @@ class ITO(BaseModel):
+ file_description.lower().replace(" ", "_")
+ "_"
+ str(random.randint(1000, 9999))
+ ".txt"
+ ".pdf"
)
new_filename = unidecode(new_filename)
new_filename = re.sub(
"[^{}0-9a-zA-Z]".format(re.escape(string.punctuation)), "", new_filename
)
self.generate_pdf(
new_filename,
f"{file_description} of {original_filename}",
processed_content,
)
content_io = BytesIO()
with open(new_filename, "rb") as f:
content_io.write(f.read())
content_io.seek(0)
file_to_upload = UploadFile(
filename=new_filename,
file=content_io,
headers={"content-type": "text/plain"},
headers={"content-type": "application/pdf"},
)
if self.input.outputs.email.activated:
await self.send_output_by_email(
file_to_upload,
new_filename,
"Summary",
f"{file_description} of {original_filename}",
brain_id=(
self.input.outputs.brain.value
if (
self.input.outputs.brain.activated
and self.input.outputs.brain.value
)
else None
),
)
# Reset to start of file before upload
@ -131,4 +190,6 @@ class ITO(BaseModel):
chat_id=None,
)
os.remove(new_filename)
return {"message": f"{file_description} generated successfully"}

View File

@ -90,7 +90,7 @@ class SummaryAssistant(ITO):
map_template = """The following is one document to summarize that has been split into multiple sections:
{docs}
Based on the section, please identify the main themes, key points, and important information in each section.
Helpful Knowledge:"""
Helpful Knowledge in language of the document:"""
map_prompt = PromptTemplate.from_template(map_template)
map_chain = LLMChain(llm=llm, prompt=map_prompt)
@ -98,7 +98,10 @@ class SummaryAssistant(ITO):
reduce_template = """The following is set of summaries for each section of the document:
{docs}
Take these and distill it into a final, consolidated summary of the document. Make sure to include the main themes, key points, and important information.
Use markdown, headings, bullet points, or any other formatting to make the summary clear and easy to read.
Use markdown such as bold, italics, underlined. For example, **bold**, *italics*, and _underlined_ to highlight key points.
Please provide the final summary with sections using bold headers.
Sections should be: a short summary of the document called summary, and a list of key points called key points.
Keep the same language as the documents.
Summary:"""
reduce_prompt = PromptTemplate.from_template(reduce_template)

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View File

@ -0,0 +1,90 @@
import os
from fpdf import FPDF
from pydantic import BaseModel
class PDFModel(BaseModel):
title: str
content: str
class PDFGenerator(FPDF):
def __init__(self, pdf_model: PDFModel, *args, **kwargs):
super().__init__(*args, **kwargs)
self.pdf_model = pdf_model
self.add_font(
"DejaVu",
"",
os.path.join(os.path.dirname(__file__), "font/DejaVuSansCondensed.ttf"),
uni=True,
)
self.add_font(
"DejaVu",
"B",
os.path.join(
os.path.dirname(__file__), "font/DejaVuSansCondensed-Bold.ttf"
),
uni=True,
)
self.add_font(
"DejaVu",
"I",
os.path.join(
os.path.dirname(__file__), "font/DejaVuSansCondensed-Oblique.ttf"
),
)
def header(self):
# Logo
logo_path = os.path.join(os.path.dirname(__file__), "logo.png")
self.image(logo_path, 10, 10, 20) # Adjust size as needed
# Move cursor to right of image
self.set_xy(20, 15)
# Title
self.set_font("DejaVu", "B", 12)
self.multi_cell(0, 10, self.pdf_model.title, align="C")
self.ln(5) # Padding after title
def footer(self):
self.set_y(-15)
self.set_font("DejaVu", "I", 8)
self.set_text_color(169, 169, 169)
self.cell(80, 10, "Generated by Quivr", 0, 0, "C")
self.set_font("DejaVu", "U", 8)
self.set_text_color(0, 0, 255)
self.cell(30, 10, "quivr.app", 0, 0, "C", link="https://quivr.app")
self.cell(0, 10, "Github", 0, 1, "C", link="https://github.com/quivrhq/quivr")
def chapter_body(self):
self.set_font("DejaVu", "", 12)
self.multi_cell(0, 10, self.pdf_model.content, markdown=True)
self.ln()
def print_pdf(self):
self.add_page()
self.chapter_body()
if __name__ == "__main__":
pdf_model = PDFModel(
title="Summary of Legal Services Rendered by Orrick",
content="""
**Summary:**
The document is an invoice from Quivr Technologies, Inc. for legal services provided to client YC W24, related to initial corporate work. The total fees and disbursements amount to $8,345.00 for services rendered through February 29, 2024. The invoice includes specific instructions for payment remittance and contact information for inquiries. Online payment through e-billexpress.com is also an option.
**Key Points:**
- Quivr Technologies, Inc., based in France and represented by Stanislas Girard, provided legal services to client YC W24.
- Services included preparing and completing forms, drafting instructions, reviewing and responding to emails, filing 83(b) elections, and finalizing documents for submission to YC.
- The timekeepers involved in providing these services were Julien Barbey, Maria T. Coladonato, Michael LaBlanc, Jessy K. Parker, Marisol Sandoval Villasenor, Alexis A. Smith, and Serena Tibrewala.
- The total hours billed for the services provided was 16.20, with a total cost of $8,345.00.
- Instructions for payment remittance, contact information, and online payment options through e-billex
""",
)
pdf = PDFGenerator(pdf_model)
pdf.print_pdf()
pdf.output("simple.pdf")

View File

@ -1,7 +1,7 @@
-i https://pypi.org/simple
# Ensure PyTorch, along with its required dependencies, is explicitly installed in 'CPU-only' mode to optimize compatibility and performance for systems without GPU support.
--extra-index-url https://download.pytorch.org/whl/cpu
aiohttp==3.9.4; python_version >= '3.8'
aiohttp==3.9.5; python_version >= '3.8'
aiosignal==1.3.1; python_version >= '3.7'
amqp==5.2.0; python_version >= '3.6'
annotated-types==0.6.0; python_version >= '3.8'
@ -17,8 +17,8 @@ backoff==2.2.1; python_version >= '3.7' and python_version < '4.0'
beautifulsoup4==4.12.3; python_full_version >= '3.6.0'
billiard==4.2.0; python_version >= '3.7'
black==24.4.0; python_version >= '3.8'
boto3==1.34.84; python_version >= '3.8'
botocore==1.34.84; python_version >= '3.8'
boto3==1.34.85; python_version >= '3.8'
botocore==1.34.85; python_version >= '3.8'
celery[redis,sqs]==5.3.6; python_version >= '3.8'
certifi==2024.2.2; python_version >= '3.6'
cffi==1.16.0; platform_python_implementation != 'PyPy'
@ -39,6 +39,7 @@ dataclasses-json-speakeasy==0.5.11; python_version >= '3.7' and python_version <
datasets==2.18.0; python_full_version >= '3.8.0'
debugpy==1.8.1; python_version >= '3.8'
decorator==5.1.1; python_version >= '3.5'
defusedxml==0.7.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
deprecated==1.2.14; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
deprecation==2.1.0
dill==0.3.8; python_version >= '3.8'
@ -62,6 +63,7 @@ flake8-black==0.3.6; python_version >= '3.7'
flatbuffers==24.3.25
flower==2.0.1; python_version >= '3.7'
fonttools==4.51.0; python_version >= '3.8'
fpdf2==2.7.8; python_version >= '3.7'
frozenlist==1.4.1; python_version >= '3.8'
fsspec[http]==2024.2.0; python_version >= '3.8'
gitdb==4.0.11; python_version >= '3.7'
@ -90,15 +92,15 @@ jsonpointer==2.4; python_version >= '2.7' and python_version not in '3.0, 3.1, 3
kiwisolver==1.4.5; python_version >= '3.7'
kombu[sqs]==5.3.7; python_version >= '3.8'
langchain==0.1.16; python_version < '4.0' and python_full_version >= '3.8.1'
langchain-community==0.0.32; python_version < '4.0' and python_full_version >= '3.8.1'
langchain-core==0.1.42; python_version < '4.0' and python_full_version >= '3.8.1'
langchain-community==0.0.33; python_version < '4.0' and python_full_version >= '3.8.1'
langchain-core==0.1.43; python_version < '4.0' and python_full_version >= '3.8.1'
langchain-openai==0.1.3; python_version < '4.0' and python_full_version >= '3.8.1'
langchain-text-splitters==0.0.1; python_version < '4.0' and python_full_version >= '3.8.1'
langdetect==1.0.9
langfuse==2.26.1; python_version < '4.0' and python_full_version >= '3.8.1'
langsmith==0.1.47; python_version < '4.0' and python_full_version >= '3.8.1'
langfuse==2.26.3; python_version < '4.0' and python_full_version >= '3.8.1'
langsmith==0.1.48; python_version < '4.0' and python_full_version >= '3.8.1'
layoutparser[layoutmodels,tesseract]==0.3.4; python_version >= '3.6'
litellm==1.35.5; python_version not in '2.7, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7' and python_version >= '3.8'
litellm==1.35.8; python_version not in '2.7, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7' and python_version >= '3.8'
llama-index==0.10.29; python_version < '4.0' and python_full_version >= '3.8.1'
llama-index-agent-openai==0.2.2; python_version < '4.0' and python_full_version >= '3.8.1'
llama-index-cli==0.1.11; python_version < '4.0' and python_full_version >= '3.8.1'
@ -110,7 +112,7 @@ llama-index-llms-openai==0.1.15; python_version < '4.0' and python_full_version
llama-index-multi-modal-llms-openai==0.1.5; python_version < '4.0' and python_full_version >= '3.8.1'
llama-index-program-openai==0.1.5; python_version < '4.0' and python_full_version >= '3.8.1'
llama-index-question-gen-openai==0.1.3; python_version < '4.0' and python_full_version >= '3.8.1'
llama-index-readers-file==0.1.18; python_version < '4.0' and python_full_version >= '3.8.1'
llama-index-readers-file==0.1.19; python_version < '4.0' and python_full_version >= '3.8.1'
llama-index-readers-llama-parse==0.1.4; python_version < '4.0' and python_full_version >= '3.8.1'
llama-parse==0.4.1; python_version < '4.0' and python_full_version >= '3.8.1'
llamaindex-py-client==0.1.18; python_version >= '3.8' and python_version < '4'
@ -132,23 +134,23 @@ networkx==3.3
newspaper3k==0.2.8
nltk==3.8.1; python_version >= '3.7'
nodeenv==1.8.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'
numpy==1.26.4; python_version >= '3.10'
numpy==1.26.4; python_version >= '3.9'
olefile==0.47; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
omegaconf==2.3.0; python_version >= '3.6'
onnx==1.16.0
onnxruntime==1.15.1
openai==1.17.1; python_full_version >= '3.7.1'
openai==1.20.0; python_full_version >= '3.7.1'
opencv-python==4.9.0.80; python_version >= '3.6'
openpyxl==3.1.2
orjson==3.10.0; python_version >= '3.8'
orjson==3.10.1; python_version >= '3.8'
packaging==23.2; python_version >= '3.7'
pandas==1.5.3; python_version >= '3.8'
pandasai==2.0.32; python_version not in '2.7, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8' and python_version >= '3.9'
pandasai==2.0.33; python_version not in '2.7, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8' and python_version >= '3.9'
pathspec==0.12.1; python_version >= '3.8'
pdf2image==1.17.0
pdfminer.six==20231228
pdfplumber==0.11.0; python_version >= '3.8'
pikepdf==8.15.0
pikepdf==8.15.1
pillow==10.3.0; python_version >= '3.8'
pillow-heif==0.16.0
platformdirs==4.2.0; python_version >= '3.8'
@ -200,14 +202,14 @@ ragas==0.1.7
rapidfuzz==3.8.1; python_version >= '3.8'
realtime==1.0.4; python_version >= '3.8' and python_version < '4.0'
redis==5.0.3; python_version >= '3.7'
regex==2023.12.25; python_version >= '3.7'
regex==2024.4.16; python_version >= '3.7'
requests==2.31.0; python_version >= '3.7'
requests-file==2.0.0
resend==0.8.0; python_version >= '3.7'
retry==0.9.2
rsa==4.9; python_version >= '3.6' and python_version < '4'
s3transfer==0.10.1; python_version >= '3.8'
safetensors==0.4.2; python_version >= '3.7'
safetensors==0.4.3; python_version >= '3.7'
scipy==1.13.0; python_version >= '3.9'
sentry-sdk[fastapi]==1.45.0
setuptools==69.5.1; python_version >= '3.8'
@ -239,11 +241,12 @@ transformers==4.39.3; python_full_version >= '3.8.0'
typing-extensions==4.11.0; python_version >= '3.8'
typing-inspect==0.9.0
tzdata==2024.1; python_version >= '2'
unidecode==1.3.8; python_version >= '3.5'
unstructured[all-docs]==0.13.2; python_version < '3.12' and python_full_version >= '3.9.0'
unstructured-client==0.18.0; python_version >= '3.8'
unstructured-inference==0.7.25
unstructured.pytesseract==0.3.12
urllib3==2.2.1; python_version >= '3.10'
urllib3==2.2.1; python_version >= '3.8'
uvicorn==0.29.0; python_version >= '3.8'
vine==5.1.0; python_version >= '3.6'
watchdog==4.0.0; python_version >= '3.8'

View File

@ -9,6 +9,8 @@ services:
build:
context: backend
dockerfile: Dockerfile.dev
cache_from:
- backend-base
args:
- DEV_MODE=true
container_name: backend-core
@ -44,9 +46,6 @@ services:
image: backend-base
env_file:
- .env
build:
context: backend
dockerfile: Dockerfile.dev
container_name: worker
# volumes:
# - ./backend/:/code/
@ -60,9 +59,6 @@ services:
pull_policy: never
env_file:
- .env
build:
context: backend
dockerfile: Dockerfile.dev
container_name: beat
command: celery -A celery_worker beat -l info
@ -75,9 +71,6 @@ services:
pull_policy: never
env_file:
- .env
build:
context: backend
dockerfile: Dockerfile.dev
container_name: flower
command: celery -A celery_worker flower -l info --port=5555