aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremma peel <emma.peel@riseup.net>2024-02-12 12:42:58 +0100
committeremma peel <emma.peel@riseup.net>2024-02-12 12:42:58 +0100
commit65d0e46584abe49258a94339342762c188ae0d38 (patch)
treecff21d10578c25537d8f0791910a944be342ba1d
parent6229c54678964608bea901fd84380be06949d990 (diff)
parente9b26f7e25a60cebdc44c57d039dc184ed9edb71 (diff)
downloadonionshare-65d0e46584abe49258a94339342762c188ae0d38.tar.gz
onionshare-65d0e46584abe49258a94339342762c188ae0d38.zip
Merge remote-tracking branch 'onionshare/main' into weblate
-rw-r--r--.github/workflows/build.yml77
-rw-r--r--.github/workflows/tests.yml9
-rw-r--r--CHANGELOG.md5
-rw-r--r--LICENSE.txt (renamed from LICENSE)0
-rw-r--r--RELEASE.md195
-rw-r--r--cli/onionshare_cli/__init__.py32
-rw-r--r--cli/onionshare_cli/resources/torrc_template-snowflake4
-rw-r--r--cli/onionshare_cli/resources/version.txt2
-rw-r--r--cli/onionshare_cli/settings.py32
-rw-r--r--cli/onionshare_cli/web/send_base_mode.py17
-rw-r--r--cli/onionshare_cli/web/web.py4
-rw-r--r--cli/onionshare_cli/web/website_mode.py7
-rw-r--r--cli/poetry.lock1310
-rw-r--r--cli/pyproject.toml8
-rw-r--r--desktop/README.md12
-rw-r--r--desktop/onionshare/__init__.py4
-rw-r--r--desktop/onionshare/gui_common.py4
-rw-r--r--desktop/onionshare/resources/countries/af.json1
-rw-r--r--desktop/onionshare/resources/countries/be.json1
-rw-r--r--desktop/onionshare/resources/countries/ca.json1
-rw-r--r--desktop/onionshare/resources/countries/fa.json1
-rw-r--r--desktop/onionshare/resources/countries/it.json1
-rw-r--r--desktop/onionshare/resources/countries/sn.json1
-rw-r--r--desktop/onionshare/resources/countries/sq.json1
-rw-r--r--desktop/onionshare/resources/countries/sw.json1
-rw-r--r--desktop/onionshare/resources/countries/vi.json1
-rw-r--r--desktop/onionshare/resources/countries/zh_Hant.json1
-rw-r--r--desktop/onionshare/resources/locale/af.json1
-rw-r--r--desktop/onionshare/resources/locale/am.json1
-rw-r--r--desktop/onionshare/resources/locale/ar.json1
-rw-r--r--desktop/onionshare/resources/locale/ay.json1
-rw-r--r--desktop/onionshare/resources/locale/be.json1
-rw-r--r--desktop/onionshare/resources/locale/bg.json115
-rw-r--r--desktop/onionshare/resources/locale/bn.json1
-rw-r--r--desktop/onionshare/resources/locale/bo.json1
-rw-r--r--desktop/onionshare/resources/locale/bs.json1
-rw-r--r--desktop/onionshare/resources/locale/ca.json1
-rw-r--r--desktop/onionshare/resources/locale/ckb.json1
-rw-r--r--desktop/onionshare/resources/locale/cs.json1
-rw-r--r--desktop/onionshare/resources/locale/da.json1
-rw-r--r--desktop/onionshare/resources/locale/de.json1
-rw-r--r--desktop/onionshare/resources/locale/el.json1
-rw-r--r--desktop/onionshare/resources/locale/en.json4
-rw-r--r--desktop/onionshare/resources/locale/es.json1
-rw-r--r--desktop/onionshare/resources/locale/fa.json1
-rw-r--r--desktop/onionshare/resources/locale/fi.json1
-rw-r--r--desktop/onionshare/resources/locale/fil.json1
-rw-r--r--desktop/onionshare/resources/locale/fr.json1
-rw-r--r--desktop/onionshare/resources/locale/ga.json1
-rw-r--r--desktop/onionshare/resources/locale/gl.json1
-rw-r--r--desktop/onionshare/resources/locale/gu.json1
-rw-r--r--desktop/onionshare/resources/locale/he.json1
-rw-r--r--desktop/onionshare/resources/locale/hi.json1
-rw-r--r--desktop/onionshare/resources/locale/hr.json1
-rw-r--r--desktop/onionshare/resources/locale/hu.json1
-rw-r--r--desktop/onionshare/resources/locale/hy_AM.json1
-rw-r--r--desktop/onionshare/resources/locale/id.json1
-rw-r--r--desktop/onionshare/resources/locale/is.json1
-rw-r--r--desktop/onionshare/resources/locale/it.json5
-rw-r--r--desktop/onionshare/resources/locale/ja.json1
-rw-r--r--desktop/onionshare/resources/locale/ka.json1
-rw-r--r--desktop/onionshare/resources/locale/km.json1
-rw-r--r--desktop/onionshare/resources/locale/ko.json1
-rw-r--r--desktop/onionshare/resources/locale/lg.json1
-rw-r--r--desktop/onionshare/resources/locale/lt.json1
-rw-r--r--desktop/onionshare/resources/locale/mk.json1
-rw-r--r--desktop/onionshare/resources/locale/ms.json1
-rw-r--r--desktop/onionshare/resources/locale/nb_NO.json1
-rw-r--r--desktop/onionshare/resources/locale/nl.json5
-rw-r--r--desktop/onionshare/resources/locale/pa.json1
-rw-r--r--desktop/onionshare/resources/locale/pl.json1
-rw-r--r--desktop/onionshare/resources/locale/pt_BR.json4
-rw-r--r--desktop/onionshare/resources/locale/pt_PT.json1
-rw-r--r--desktop/onionshare/resources/locale/ro.json1
-rw-r--r--desktop/onionshare/resources/locale/ru.json1
-rw-r--r--desktop/onionshare/resources/locale/si.json2
-rw-r--r--desktop/onionshare/resources/locale/sk.json1
-rw-r--r--desktop/onionshare/resources/locale/sl.json1
-rw-r--r--desktop/onionshare/resources/locale/sn.json1
-rw-r--r--desktop/onionshare/resources/locale/sq.json1
-rw-r--r--desktop/onionshare/resources/locale/sr_Latn.json1
-rw-r--r--desktop/onionshare/resources/locale/sv.json1
-rw-r--r--desktop/onionshare/resources/locale/sw.json1
-rw-r--r--desktop/onionshare/resources/locale/ta.json1
-rw-r--r--desktop/onionshare/resources/locale/te.json1
-rw-r--r--desktop/onionshare/resources/locale/tl.json1
-rw-r--r--desktop/onionshare/resources/locale/tr.json1
-rw-r--r--desktop/onionshare/resources/locale/ug.json1
-rw-r--r--desktop/onionshare/resources/locale/uk.json1
-rw-r--r--desktop/onionshare/resources/locale/vi.json1
-rw-r--r--desktop/onionshare/resources/locale/wo.json1
-rw-r--r--desktop/onionshare/resources/locale/yo.json1
-rw-r--r--desktop/onionshare/resources/locale/zh_Hans.json1
-rw-r--r--desktop/onionshare/resources/locale/zh_Hant.json1
-rw-r--r--desktop/onionshare/tab/mode/chat_mode/__init__.py6
-rw-r--r--desktop/onionshare/tab/mode/receive_mode/__init__.py12
-rw-r--r--desktop/onionshare/tor_settings_tab.py8
-rw-r--r--desktop/org.onionshare.OnionShare.appdata.xml2
-rw-r--r--desktop/poetry.lock1593
-rw-r--r--desktop/pyproject.toml4
-rw-r--r--desktop/scripts/build-macos.py130
-rw-r--r--desktop/scripts/build-pt-meek.ps12
-rwxr-xr-xdesktop/scripts/build-pt-meek.sh2
-rw-r--r--desktop/scripts/build-pt-snowflake.ps12
-rwxr-xr-xdesktop/scripts/build-pt-snowflake.sh2
-rw-r--r--desktop/scripts/build-windows.py19
-rw-r--r--desktop/scripts/common.py32
-rw-r--r--desktop/scripts/get-tor.py32
-rw-r--r--desktop/scripts/kounek7zrdx745qydx6p59t9mqjpuhdfbin6694 -> 0 bytes
-rwxr-xr-xdesktop/scripts/macos-merge-universal.py47
-rw-r--r--desktop/scripts/tor-browser-devs.gpgbin0 -> 12870 bytes
-rw-r--r--desktop/setup-freeze.py15
-rw-r--r--desktop/setup.py2
-rwxr-xr-xdocs/build.sh2
-rwxr-xr-xdocs/check-weblate.py5
-rw-r--r--docs/gettext/.doctrees/advanced.doctreebin27307 -> 26130 bytes
-rw-r--r--docs/gettext/.doctrees/develop.doctreebin37911 -> 35392 bytes
-rw-r--r--docs/gettext/.doctrees/environment.picklebin40982 -> 268617 bytes
-rw-r--r--docs/gettext/.doctrees/features.doctreebin49758 -> 45504 bytes
-rw-r--r--docs/gettext/.doctrees/help.doctreebin7839 -> 7323 bytes
-rw-r--r--docs/gettext/.doctrees/index.doctreebin3551 -> 3527 bytes
-rw-r--r--docs/gettext/.doctrees/install.doctreebin23585 -> 34167 bytes
-rw-r--r--docs/gettext/.doctrees/security.doctreebin13668 -> 11424 bytes
-rw-r--r--docs/gettext/.doctrees/tor.doctreebin45053 -> 40604 bytes
-rw-r--r--docs/gettext/_static/_sphinx_javascript_frameworks_compat.js123
-rw-r--r--docs/gettext/_static/jquery.js2
-rw-r--r--docs/gettext/advanced.pot4
-rw-r--r--docs/gettext/develop.pot4
-rw-r--r--docs/gettext/features.pot4
-rw-r--r--docs/gettext/help.pot4
-rw-r--r--docs/gettext/index.pot4
-rw-r--r--docs/gettext/install.pot34
-rw-r--r--docs/gettext/security.pot4
-rw-r--r--docs/gettext/sphinx.pot4
-rw-r--r--docs/gettext/tor.pot2
-rw-r--r--docs/poetry.lock532
-rw-r--r--docs/source/conf.py11
-rw-r--r--docs/source/install.rst49
-rw-r--r--docs/source/locale/be/LC_MESSAGES/install.po4
-rw-r--r--docs/source/locale/bg/LC_MESSAGES/index.po6
-rw-r--r--docs/source/locale/bg/LC_MESSAGES/install.po8
-rw-r--r--docs/source/locale/bg/LC_MESSAGES/sphinx.po8
-rw-r--r--docs/source/locale/bg/LC_MESSAGES/tor.po6
-rw-r--r--docs/source/locale/ca/LC_MESSAGES/install.po11
-rw-r--r--docs/source/locale/el/LC_MESSAGES/install.po307
-rw-r--r--docs/source/locale/en/LC_MESSAGES/install.po398
-rw-r--r--docs/source/locale/en/LC_MESSAGES/tor.po232
-rw-r--r--docs/source/locale/es/LC_MESSAGES/install.po390
-rw-r--r--docs/source/locale/fr/LC_MESSAGES/install.po313
-rw-r--r--docs/source/locale/ja/LC_MESSAGES/install.po2
-rw-r--r--docs/source/locale/ja/LC_MESSAGES/security.po9
-rw-r--r--docs/source/locale/pl/LC_MESSAGES/install.po291
-rw-r--r--docs/source/locale/pt_PT/LC_MESSAGES/install.po10
-rw-r--r--docs/source/locale/ru/LC_MESSAGES/advanced.po2
-rw-r--r--docs/source/locale/ru/LC_MESSAGES/install.po42
-rw-r--r--docs/source/locale/ru/LC_MESSAGES/tor.po21
-rw-r--r--docs/source/locale/tr/LC_MESSAGES/install.po292
-rw-r--r--docs/source/locale/uk/LC_MESSAGES/install.po400
-rw-r--r--docs/source/locale/vi/LC_MESSAGES/install.po328
-rw-r--r--docs/source/locale/zh_CN/LC_MESSAGES/install.po10
-rw-r--r--flatpak/org.onionshare.OnionShare.yaml187
-rwxr-xr-xflatpak/poetry-to-requirements.py52
-rw-r--r--snap/snapcraft.yaml85
163 files changed, 4456 insertions, 3584 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 0e26bb58..2d794bae 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,5 +1,5 @@
name: Build
-run-name: Build win64, mac (Intel) 🚀
+run-name: Build Windows (x86_64), macOS (Intel), Snap, and Flatpak 🚀
on:
push:
branches:
@@ -17,10 +17,10 @@ jobs:
- name: Install python
uses: actions/setup-python@v4
with:
- python-version: '3.10.11'
+ python-version: "3.11.6"
- name: Install poetry
- run: C:\hostedtoolcache\windows\Python\3.10.11\x64\python -m pip install poetry
+ run: C:\hostedtoolcache\windows\Python\3.11.6\x64\python -m pip install poetry
- name: Restore cache - poetry
uses: actions/cache@v3
@@ -31,8 +31,8 @@ jobs:
- name: Install poetry dependencies
run: |
cd desktop
- C:\hostedtoolcache\windows\Python\3.10.11\x64\Scripts\poetry install
- C:\hostedtoolcache\windows\Python\3.10.11\x64\Scripts\poetry env list --full-path
+ C:\hostedtoolcache\windows\Python\3.11.6\x64\Scripts\poetry install
+ C:\hostedtoolcache\windows\Python\3.11.6\x64\Scripts\poetry env list --full-path
- name: Restore cache - tor
uses: actions/cache@v3
@@ -41,7 +41,14 @@ jobs:
key: ${{ runner.os }}-win64-tor-${{ hashFiles('desktop/scripts/get-tor.py') }}
- name: Get tor binaries from Tor Browser (64-bit)
- run: cd desktop && C:\hostedtoolcache\windows\Python\3.10.11\x64\Scripts\poetry run python .\scripts\get-tor.py win64
+ run: cd desktop && C:\hostedtoolcache\windows\Python\3.11.6\x64\Scripts\poetry run python .\scripts\get-tor.py win64
+
+ - name: Install Go >=1.21.1
+ uses: actions/setup-go@v4
+ with:
+ go-version: ">=1.21.1"
+ cache: false
+ - run: go version
- name: Restore cache - obfs4proxy
uses: actions/cache@v3
@@ -94,13 +101,13 @@ jobs:
- name: Build OnionShare
run: |
cd desktop
- C:\hostedtoolcache\windows\Python\3.10.11\x64\Scripts\poetry run python .\setup-freeze.py build
- C:\hostedtoolcache\windows\Python\3.10.11\x64\Scripts\poetry run python .\scripts\build-windows.py cleanup-build
+ C:\hostedtoolcache\windows\Python\3.11.6\x64\Scripts\poetry run python .\setup-freeze.py build
+ C:\hostedtoolcache\windows\Python\3.11.6\x64\Scripts\poetry run python .\scripts\build-windows.py cleanup-build
- name: Compress
shell: pwsh
run: |
- mv desktop\build\exe.win-amd64-3.10\ ~\onionshare-win64
+ mv desktop\build\exe.win-amd64-3.11\ ~\onionshare-win64
Compress-Archive -LiteralPath ~\onionshare-win64 -DestinationPath ~\onionshare-win64.zip
- uses: actions/upload-artifact@v3
@@ -108,17 +115,14 @@ jobs:
name: win64-build
path: ~\onionshare-win64.zip
- # TODO: Someday, build universal2 mac binaries. Right now it's blocked because Github Actions doesn't support
- # M1 Mac VMs: https://github.com/actions/runner-images/issues/2187
-
build-mac-intel:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- - name: Install Python 3.10.9 (universal2)
+ - name: Install Python 3.11.6 (universal2)
run: |
- curl -L https://www.python.org/ftp/python/3.10.9/python-3.10.9-macos11.pkg --output ~/Downloads/python.pkg
+ curl -L https://www.python.org/ftp/python/3.11.6/python-3.11.6-macos11.pkg --output ~/Downloads/python.pkg
sudo installer -pkg ~/Downloads/python.pkg -target /
- name: Install poetry
@@ -134,7 +138,7 @@ jobs:
- name: Install poetry dependencies
run: |
cd desktop
- /Library/Frameworks/Python.framework/Versions/3.10/bin/poetry install
+ /Library/Frameworks/Python.framework/Versions/3.11/bin/poetry install
- name: Restore cache - tor
uses: actions/cache@v3
@@ -145,7 +149,7 @@ jobs:
- name: Get tor binaries from Tor Browser
run: |
cd desktop
- /Library/Frameworks/Python.framework/Versions/3.10/bin/poetry run python ./scripts/get-tor.py macos
+ /Library/Frameworks/Python.framework/Versions/3.11/bin/poetry run python ./scripts/get-tor.py macos
- name: Restore cache - obfs4proxy
uses: actions/cache@v3
@@ -196,17 +200,18 @@ jobs:
run: |
brew install libiodbc
cd ~/Downloads
- curl -O -L https://github.com/PostgresApp/PostgresApp/releases/download/v2.5.12/Postgres-2.5.12-14.dmg
- hdiutil attach Postgres-2.5.12-14.dmg
- cp -r /Volumes/Postgres-2.5.12-14/Postgres.app /Applications/
- hdiutil detach /Volumes/Postgres-2.5.12-14
+ curl -O -L https://github.com/PostgresApp/PostgresApp/releases/download/v2.6.5/Postgres-2.6.5-14.dmg
+ hdiutil attach Postgres-2.6.5-14.dmg
+ cp -r /Volumes/Postgres-2.6.5-14/Postgres.app /Applications/
+ hdiutil detach /Volumes/Postgres-2.6.5-14
- name: Build OnionShare
run: |
cd desktop
- /Library/Frameworks/Python.framework/Versions/3.10/bin/poetry run python ./setup-freeze.py build
- /Library/Frameworks/Python.framework/Versions/3.10/bin/poetry run python ./setup-freeze.py bdist_mac
- /Library/Frameworks/Python.framework/Versions/3.10/bin/poetry run python ./scripts/build-macos.py cleanup-build
+ /Library/Frameworks/Python.framework/Versions/3.11/bin/poetry run python ./setup-freeze.py bdist_mac
+ rm -rf build/OnionShare.app/Contents/Resources/lib
+ mv build/exe.macosx-10.9-universal2-3.11/lib build/OnionShare.app/Contents/Resources/
+ /Library/Frameworks/Python.framework/Versions/3.11/bin/poetry run python ./scripts/build-macos.py cleanup-build
- name: Compress
run: |
@@ -215,7 +220,7 @@ jobs:
- uses: actions/upload-artifact@v3
with:
- name: mac-build
+ name: mac-intel-build
path: ~/onionshare-macos-intel.tar.gz
build-flatpak:
@@ -233,13 +238,13 @@ jobs:
uses: actions/cache@v3
with:
path: flatpak/.flatpak-builder
- key: flatpak-.flatpak-builder
+ key: flatpak-.flatpak-builder-${{ hashFiles('flatpak/org.onionshare.OnionShare.yaml') }}
- name: Restore cache - build
uses: actions/cache@v3
with:
path: flatpak/build
- key: flatpak-build
+ key: flatpak-build-${{ hashFiles('flatpak/org.onionshare.OnionShare.yaml') }}
- name: Flatpak build
run: |
@@ -257,14 +262,32 @@ jobs:
steps:
- uses: actions/checkout@v3
+ - name: Restore cache - lxd
+ uses: actions/cache@v3
+ with:
+ path: ~/lxd_cache.tar.gz
+ key: snap-lxd-${{ hashFiles('snap/snapcraft.yaml') }}
+
+ - name: Decompress cached content to lxd directory
+ run: |
+ if [ -f "~/lxd_cache.tar.gz" ]; then
+ sudo tar -xzf ~/lxd_cache.tar.gz -C /
+ fi
+
- name: Install dependencies
run: |
sudo lxd init --auto
+ sudo lxc storage list
sudo snap install snapcraft --classic
sudo ufw disable
- name: Build snap
- run: sudo snapcraft --use-lxd
+ run: sudo snapcraft
+
+ - name: Compress lxd directory and set proper permissions
+ run: |
+ sudo tar -czf ~/lxd_cache.tar.gz /var/snap/lxd/common/lxd/storage-pools/default
+ sudo chown $USER:$USER ~/lxd_cache.tar.gz
- uses: actions/upload-artifact@v3
with:
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index f124a4bd..da7ac335 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -29,10 +29,11 @@ jobs:
- run: |
cd cli
poetry run pytest -v ./tests
- poetry run onionshare-cli --local-only ./tests --auto-stop-timer 2 --verbose
- poetry run onionshare-cli --local-only --receive --auto-stop-timer 2 --verbose
- poetry run onionshare-cli --local-only --website ../docs --auto-stop-timer 2 --verbose
- poetry run onionshare-cli --local-only --chat --auto-stop-timer 5 --verbose
+ poetry run onionshare-cli --local-only ./tests --auto-stop-timer 2 --qr --verbose
+ poetry run onionshare-cli --local-only ./tests --auto-start-timer 2 --auto-stop-timer 2 --qr --verbose
+ poetry run onionshare-cli --local-only --receive --auto-stop-timer 2 --qr --verbose
+ poetry run onionshare-cli --local-only --website ../docs --auto-stop-timer 2 --qr --verbose
+ poetry run onionshare-cli --local-only --chat --auto-stop-timer 5 --qr --verbose
test-desktop:
runs-on: ubuntu-latest
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 794e7ff0..12e90eb0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,8 +2,11 @@
## 2.6.1
-* Upgrade Tor, Meek, and obfs4proxy versions
+* Release updates: Automate builds with CI, make just 64-bit Windows release, make both Intel and Apple Silicon macOS releases
+* Upgrade dependencies, including Tor, meek, and snowflake
* Bug fix: Restore the primary_action mode settings in a tab after OnionShare reconnects to Tor
+* Bug fix: Fix issue with auto-connecting to Tor with persistent tabs open
+* Bug fix: Fix packaging issue where Windows version of OnionShare conflicts with Windows version of Dangerzone
## 2.6
diff --git a/LICENSE b/LICENSE.txt
index 41232270..41232270 100644
--- a/LICENSE
+++ b/LICENSE.txt
diff --git a/RELEASE.md b/RELEASE.md
index 643dd671..035dd3f8 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -19,15 +19,47 @@ Unless you're a core OnionShare developer making a release, you'll probably neve
- [ ] `desktop/org.onionshare.OnionShare.appdata.xml` should have the correct release date, and links to correct screenshots
- [ ] `CHANGELOG.md` should be updated to include a list of all major changes since the last release
+### Update dependencies
+
+Check `cli/pyproject.toml` to see if any hard-coded versions should be updated. Then, update the dependencies like this:
+
+```sh
+cd cli
+poetry update
+cd ..
+```
+
If you update `flask-socketio`, ensure that you also update the [socket.io.min.js](https://github.com/micahflee/onionshare/blob/develop/cli/onionshare_cli/resources/static/js/socket.io.min.js) file to a version that is [supported](https://flask-socketio.readthedocs.io/en/latest/#version-compatibility) by the updated version of `flask-socketio`.
+Check `desktop/pyproject.toml` to see if any hard-coded versions should be updated. Then, update the dependencies like this:
+
+```
+cd desktop
+poetry update
+cd ..
+```
+
+Update the docs dependencies like this:
+
+```
+cd docs
+poetry update
+cd ..
+```
+
+Update the versions of `meek`, `obfs4proxy`, and `snowflake` in the `desktop/scripts/build-pt-*` scripts, both the bash and PowerShell scripts. You can find the latest versions by looking at the tags in their git repos: [meek](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/meek/-/tags), [obfs4proxy](https://gitlab.com/yawning/obfs4/-/tags), [snowflake](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/tags).
+
### Update the documentation
- [ ] Update all of the documentation in `docs` to cover new features, including taking new screenshots if necessary
### Finalize localization
-- [ ] Merge all the translations from weblate
+- [ ] Merge all the translations from weblate:
+ ```
+ git remote add weblate https://hosted.weblate.org/projects/onionshare/translations/
+ git pull weblate main
+ ```
- [ ] In `docs` run `poetry run ./check-weblate.py [API_KEY]` to see which translations are >90% in the app and docs
- [ ] Edit `cli/onionshare_cli/settings.py`, make sure `self.available_locales` lists only locales that are >90% translated
- [ ] From the `desktop` folder in the virtual env, run `./scripts/countries-update-list.py` to make sure the localized country list for censorship circumvention is available in all available languages
@@ -46,51 +78,54 @@ In `snap/snapcraft.yaml`:
- [ ] The `tor`, `libevent`, `obfs4`, `snowflake-client`, and `meek-client` parts should be updated if necessary
- [ ] In the `onionshare` part, in the `override-pull` section, all of the dependencies in the `requirements.txt` file should match the dependencies listed in `cli/pyproject.toml` and `desktop/pyproject.toml`, with the exception of PySide2
-- [ ] With every commit to the `main` branch, Snapcraft's CI should trigger builds. Make sure the builds all succeeded at https://snapcraft.io/onionshare/builds (you must be logged in), and test them. You can install them with: `snap install onionshare --edge`
-### Make sure the Flatpak packaging works
+To test locally:
-In `flatpak/org.onionshare.OnionShare.yaml`:
+- Install snapcraft with: `sudo snap install snapcraft --classic`
+- Build snap with: `snapcraft`
+- Install with: `sudo snap install ./onionshare_${VERSION}_amd64.snap --devmode`
-- [ ] Update `tor`, `libevent`, `obfs4`, `meek-client`, and `snowflake-client` dependencies, if necessary
-- [ ] Built the latest python dependencies using [this tool](https://github.com/flatpak/flatpak-builder-tools/blob/master/pip/flatpak-pip-generator) (see below)
-- [ ] Test the Flatpak package, ensure it works
+To in the edge branch:
-```
-pip3 install toml requirements-parser
-
-# clone flatpak-build-tools
-git clone https://github.com/flatpak/flatpak-builder-tools.git
-
-# get onionshare-cli dependencies
-cd poetry
-./flatpak-poetry-generator.py ../../onionshare/cli/poetry.lock
-cd ..
-
-# get onionshare dependencies
-cd pip
-./flatpak-pip-generator $(python3 -c 'import toml; print("\n".join(toml.loads(open("../../onionshare/desktop/pyproject.toml").read())["tool"]["poetry"]["dependencies"]))' |grep -vi onionshare_cli |grep -vi python | grep -vi pyside6 | grep -vi cx_freeze |tr "\n" " ")
-cd ..
+With every commit to the `main` branch, Snapcraft's CI should trigger builds. Make sure the builds all succeeded at https://snapcraft.io/onionshare/builds (you must be logged in), and test them. You can install them with: `snap install onionshare --edge`
-# convert to yaml
-./flatpak-json2yaml.py -o onionshare-cli.yml poetry/generated-poetry-sources.json
-./flatpak-json2yaml.py -o onionshare.yml pip/python3-modules.json
-```
+### Make sure the Flatpak packaging works
-Now, merge `onionshare-cli.yml` and `onionshare.yml` into the Flatpak manifest.
+In `flatpak/org.onionshare.OnionShare.yaml`:
-Build and test the Flatpak package before publishing:
+- [ ] Update `tor` and `libevent`
+- [ ] Update `obfs4proxy`, `meek-client`, and `snowflake-client` dependencies, if necessary using [this tool](https://github.com/micahflee/flatpak-builder-tools/tree/fix-go/go):
+ ```sh
+ cd flatpak-builder-tools/go
-```sh
-flatpak-builder build --force-clean --install-deps-from=flathub --install --user org.onionshare.OnionShare.yaml
-flatpak run org.onionshare.OnionShare
+ # For each these, incorporate the output into the Flatpak maniest
+ # Make sure to update the version numbers
+ ./flatpak-go-deps.py git.torproject.org/pluggable-transports/meek.git/meek-client@v0.38.0
+ ./flatpak-go-deps.py git.torproject.org/pluggable-transports/snowflake.git/client@v2.6.0
+ ./flatpak-go-deps.py gitlab.com/yawning/obfs4.git/obfs4proxy@obfs4proxy-0.0.14
+ ```
+ Merge the output of each of these commands into the Flatpak manifest.
+- [ ] Update the Python dependencies using [this tool](https://github.com/flatpak/flatpak-builder-tools/blob/master/pip/flatpak-pip-generator) along with `flatpak/poetry-to-requirements.py`:
+ ```sh
+ cd flatpak-build-tools/pip
+
+ # get onionshare-cli dependencies
+ ./flatpak-pip-generator $(../../onionshare/flatpak/poetry-to-requirements.py ../../onionshare/cli/pyproject.toml)
+ ../flatpak-json2yaml.py ./python3-modules.json
+ mv python3-modules.yml onionshare-cli.yaml
+
+ # get onionshare dependencies
+ ./flatpak-pip-generator $(../../onionshare/flatpak/poetry-to-requirements.py ../../onionshare/desktop/pyproject.toml | grep -v PySide6)
+ ../flatpak-json2yaml.py ./python3-modules.json
+ mv python3-modules.yml onionshare-desktop.yaml
+ ```
+ Now, merge `onionshare-desktop.yaml` and `onionshare-cli.yaml` into the Flatpak manifest.
+- [ ] Build and test the Flatpak package to ensure it works:
+ ```sh
+ flatpak-builder build --force-clean --jobs=$(nproc) --install-deps-from=flathub --install --user flatpak/org.onionshare.OnionShare.yaml
+ flatpak run org.onionshare.OnionShare
```
-### Update to the latest version of Tor
-
-- [ ] Edit `desktop/scripts/get-tor.py` to use the latest version of Tor Browser, and the latest sha256 checksums.
-- [ ] Update the version of `meek`, `obfs4proxy`, and `snowflake` in the `desktop/scripts/build-pt-*` scripts, both the bash and PowerShell scripts.
-
### Create a signed git tag
- [ ] There must be a PGP-signed git tag for the version, e.g. for OnionShare 2.1, the tag must be `v2.1`
@@ -125,70 +160,104 @@ From https://snapcraft.io/onionshare/releases (you must be logged in), promote t
### Windows release
-Set up the packaging environment:
+Create a Windows 11 VM, and set it up like this:
-- Install the Windows SDK from here: https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/ and add `C:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool` to the path (you'll need it for `signtool.exe`)
+- Install [git for Windows](https://git-scm.com/download/win).
+- Install the latest version of 3.11 [from python.org](https://www.python.org/downloads/).
+- Install [Microsoft C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/), making sure to check "Desktop development with C++".
+- Download and install [7-Zip (x64)](https://7-zip.org/). Add `C:\Program Files\7-Zip` to your path.
+- Download and install [gpg4win](https://gpg4win.org/). Add `C:\Program Files (x86)\GnuPG\bin` to your path.
+- Install the Windows SDK from here: https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/.
- Go to https://dotnet.microsoft.com/download/dotnet-framework and download and install .NET Framework 3.5 SP1 Runtime. I downloaded `dotnetfx35.exe`.
-- Go to https://wixtoolset.org/releases/ and download and install WiX toolset. I downloaded `wix311.exe`. Add `C:\Program Files (x86)\WiX Toolset v3.11\bin` to the path.
+- Go to https://wixtoolset.org/docs/wix3/ and download and install WiX toolset. I downloaded `wix311.exe`. Add `C:\Program Files (x86)\WiX Toolset v3.11\bin` to the path.
+
+Clone the OnionShare git repo and checkout the release tag.
-Github Actions will build the binaries. Find the Github Actions `build` workflow, switch to the summary tab, and download:
+If you've used this git repo for a previous release, clean it up:
-- `build-win32`
-- `build-win64`
+- In the `onionshare/desktop` folder, delete `build` and `dist` from the previous build.
+- Delete the poetry environment. You can find its name by run `poetry env list`, and then you can delete it with `poetry env remove [ENV_NAME]`.
-Extract these files, change to the `desktop` folder, and run:
+Install Poetry and deps. Open a Developer PowerShell for VS window, change to the `onionshare` folder, and run:
+```powershell
+cd desktop
+pip install poetry
+poetry install
```
-poetry run python .\scripts\build-windows.py codesign [onionshare_win32_path] [onionshare_win64_path]
-poetry run python .\scripts\build-windows.py package [onionshare_win32_path] [onionshare_win64_path]
+
+Github Actions will build the binaries. Find the Github Actions `build` workflow, switch to the summary tab, download `win64-build.zip`, and copy it to the Windows packaging environment.
+
+Extract `win64-build.zip`. Run:
+
+```
+poetry run python .\scripts\build-windows.py codesign [path]
+poetry run python .\scripts\build-windows.py package [path]
```
This will create:
-- `desktop/dist/OnionShare-win32-$VERSION.msi`
- `desktop/dist/OnionShare-win64-$VERSION.msi`
### macOS release
-In order to make a universal2 binary, you must run this one a Mac with Apple Silicon. To keep a clean environment, you can use VM.
+In order to make a universal2 binary, you must following these instructions using a Mac with Apple Silicon. To keep a clean environment, you can use VM.
Set up the VM like this:
- Install [Homebrew](https://brew.sh/)
- `brew install create-dmg libiodbc`
-- Install the latest Python 3.10 from https://www.python.org/downloads/
+- Install the latest Python 3.11 from https://www.python.org/downloads/
- Install ARM64 version of Go from https://go.dev/dl/
-- Install "Postgres.app with PostgreSQL 14 (Universal)" from https://postgresapp.com/downloads.html (required for cx_Freeze build step)
+- Install "Postgres.app with PostgreSQL 14 (Universal)" from https://postgresapp.com/downloads.html
+
+Clone the OnionShare git repo and checkout the release tag.
+
+If you've used this git repo for a previous release, clean it up:
+
+```sh
+cd desktop
+rm -rf build dist
+# Delete the old poetry environment
+poetry env remove $(poetry env list | grep "(Activated)" | cut -d" " -f1)
+```
+
+Install and build dependencies:
```sh
cd desktop
python3 -m pip install poetry
-/Library/Frameworks/Python.framework/Versions/3.10/bin/poetry install
-/Library/Frameworks/Python.framework/Versions/3.10/bin/poetry run python ./scripts/get-tor.py macos
+/Library/Frameworks/Python.framework/Versions/3.11/bin/poetry install
+/Library/Frameworks/Python.framework/Versions/3.11/bin/poetry run python ./scripts/get-tor.py macos
./scripts/build-pt-obfs4proxy.sh
./scripts/build-pt-snowflake.sh
./scripts/build-pt-meek.sh
-/Library/Frameworks/Python.framework/Versions/3.10/bin/poetry run python ./setup-freeze.py build
-/Library/Frameworks/Python.framework/Versions/3.10/bin/poetry run python ./setup-freeze.py bdist_mac
-/Library/Frameworks/Python.framework/Versions/3.10/bin/poetry run python ./scripts/build-macos.py cleanup-build
-cd build
-tar -czvf ~/onionshare-macos-universal2.tar.gz OnionShare.app
```
+Make the Apple Silicon app bundle:
+
+```sh
+/Library/Frameworks/Python.framework/Versions/3.11/bin/poetry run python ./setup-freeze.py bdist_mac
+rm -rf build/OnionShare.app/Contents/Resources/lib
+mv build/exe.macosx-10.9-universal2-3.11/lib build/OnionShare.app/Contents/Resources/
+/Library/Frameworks/Python.framework/Versions/3.11/bin/poetry run python ./scripts/build-macos.py cleanup-build
+```
-Set up the packaging environment:
+The Apple Silicon app bundle will be in `build` folder called `OnionShare.app`.
-- Install create-dmg: `brew install create-dmg`
+Github Actions will build the Intel app bundle. Find the Github Actions `build` workflow, switch to the summary tab, and download the `mac-intel-build` artifact. Extract it, and you'll get the Intel `OnionShare.app` folder.
-Github Actions will build the binaries. Find the Github Actions `build` workflow, switch to the summary tab, and download:
+Next, merge these two app bundles into a single universal2 app bundle:
-- `build-mac`
+```sh
+poetry run ./scripts/macos-merge-universal.py [intel_app_path] [silicon_app_path] [universal2_app_path]
+```
-Extract these files, change to the `desktop` folder, and run:
+Finally, code sign and package the universal2 app bundle:
```sh
-poetry run python ./scripts/build-macos.py codesign [app_path]
-poetry run python ./scripts/build-macos.py package [app_path]
+poetry run python ./scripts/build-macos.py codesign [universal2_app_path]
+poetry run python ./scripts/build-macos.py package [universal2_app_path]
```
The will create `dist/OnionShare-$VERSION.dmg`.
diff --git a/cli/onionshare_cli/__init__.py b/cli/onionshare_cli/__init__.py
index f77bceab..d84a1eec 100644
--- a/cli/onionshare_cli/__init__.py
+++ b/cli/onionshare_cli/__init__.py
@@ -31,7 +31,7 @@ from .web import Web
from .onion import TorErrorProtocolError, TorTooOldEphemeral, TorTooOldStealth, Onion
from .onionshare import OnionShare
from .mode_settings import ModeSettings
-
+from qrcode import QRCode
def main(cwd=None):
"""
@@ -119,6 +119,13 @@ def main(cwd=None):
default=False,
help="Share files: Continue sharing after files have been sent (default is to stop sharing)",
)
+ parser.add_argument(
+ "--qr",
+ action="store_true",
+ dest="qr",
+ default=False,
+ help="Display a QR code in the terminal for share links",
+ )
# Receive args
parser.add_argument(
"--data-dir",
@@ -190,6 +197,7 @@ def main(cwd=None):
autostart_timer = int(args.autostart_timer)
autostop_timer = int(args.autostop_timer)
autostop_sharing = not bool(args.no_autostop_sharing)
+ print_qr = bool(args.qr)
data_dir = args.data_dir
webhook_url = args.webhook_url
disable_text = args.disable_text
@@ -229,6 +237,7 @@ def main(cwd=None):
mode_settings.set("general", "public", public)
mode_settings.set("general", "autostart_timer", autostart_timer)
mode_settings.set("general", "autostop_timer", autostop_timer)
+ mode_settings.set("general", "qr", print_qr)
if persistent_filename:
mode_settings.set("persistent", "mode", mode)
if mode == "share":
@@ -382,6 +391,16 @@ def main(cwd=None):
f"Give this address to your recipient, and tell them it won't be accessible until: {schedule.strftime('%I:%M:%S%p, %b %d, %y')}"
)
print(url)
+ if mode_settings.get("general", "qr"):
+ qr = QRCode()
+ qr.add_data(url)
+ print("Onion address as QR code:")
+ qr.print_ascii()
+ if not mode_settings.get("general", "public"):
+ qr.clear()
+ qr.add_data(app.auth_string)
+ print("Private key as QR code:")
+ qr.print_ascii()
print("")
print("Waiting for the scheduled time before starting...")
app.onion.cleanup(False)
@@ -465,6 +484,17 @@ def main(cwd=None):
print("Give this address and private key to the recipient:")
print(url)
print(f"Private key: {app.auth_string}")
+ if mode_settings.get("general", "qr"):
+ qr = QRCode()
+ qr.add_data(url)
+ print("Onion address as QR code:")
+ qr.print_ascii()
+ if not mode_settings.get("general", "public"):
+ qr.clear()
+ qr.add_data(app.auth_string)
+ print("Private key as QR code:")
+ qr.print_ascii()
+
print("")
print("Press Ctrl+C to stop the server")
diff --git a/cli/onionshare_cli/resources/torrc_template-snowflake b/cli/onionshare_cli/resources/torrc_template-snowflake
index 40a9ccbb..0ca1edae 100644
--- a/cli/onionshare_cli/resources/torrc_template-snowflake
+++ b/cli/onionshare_cli/resources/torrc_template-snowflake
@@ -1,3 +1,3 @@
# Enable built-in snowflake bridge
-Bridge snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 url=https://snowflake-broker.torproject.net.global.prod.fastly.net/ front=cdn.sstatic.net ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn
-Bridge snowflake 192.0.2.4:80 8838024498816A039FCBBAB14E6F40A0843051FA fingerprint=8838024498816A039FCBBAB14E6F40A0843051FA url=https://snowflake-broker.torproject.net.global.prod.fastly.net/ front=cdn.sstatic.net ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.net:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn
+Bridge snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 url=https://snowflake-broker.torproject.net.global.prod.fastly.net/ front=foursquare.com ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn
+Bridge snowflake 192.0.2.4:80 8838024498816A039FCBBAB14E6F40A0843051FA fingerprint=8838024498816A039FCBBAB14E6F40A0843051FA url=https://snowflake-broker.torproject.net.global.prod.fastly.net/ front=foursquare.com ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.net:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn
diff --git a/cli/onionshare_cli/resources/version.txt b/cli/onionshare_cli/resources/version.txt
index 6a6a3d8e..4fb5836e 100644
--- a/cli/onionshare_cli/resources/version.txt
+++ b/cli/onionshare_cli/resources/version.txt
@@ -1 +1 @@
-2.6.1
+2.6.1.dev1 \ No newline at end of file
diff --git a/cli/onionshare_cli/settings.py b/cli/onionshare_cli/settings.py
index 732866ef..9d8db033 100644
--- a/cli/onionshare_cli/settings.py
+++ b/cli/onionshare_cli/settings.py
@@ -55,42 +55,48 @@ class Settings(object):
# Dictionary of available languages in this version of OnionShare,
# mapped to the language name, in that language
self.available_locales = {
- # "ar": "العربية", # Arabic
+ "af": "Afrikaans", # Afrikaans
+ "sq": "Shqip", # Albanian
+ "ar": "العربية", # Arabic
+ "be": "Беларуская", # Belarusian
# "bn": "বাংলা", # Bengali
- # "ca": "Català", # Catalan
- # "zh_Hant": "正體中文 (繁體)", # Traditional Chinese
+ "ca": "Català", # Catalan
+ "zh_Hant": "正體中文 (繁體)", # Traditional Chinese
"zh_Hans": "中文 (简体)", # Simplified Chinese
"hr": "Hrvatski", # Croatian
"cs": "čeština", # Czech
# "da": "Dansk", # Danish
# "nl": "Nederlands", # Dutch
"en": "English", # English
- # "fi": "Suomi", # Finnish
- # "fr": "Français", # French
+ "fi": "Suomi", # Finnish
+ "fr": "Français", # French
# "gl": "Galego", # Galician
"de": "Deutsch", # German
"el": "Ελληνικά", # Greek
"is": "Íslenska", # Icelandic
# "id": "Bahasa Indonesia", # Indonesian
# "ga": "Gaeilge", # Irish
- # "it": "Italiano", # Italian
+ "it": "Italiano", # Italian
"ja": "日本語", # Japanese
# "ckb": "Soranî", # Kurdish (Central)
- # "lt": "Lietuvių Kalba", # Lithuanian
- # "nb_NO": "Norsk Bokmål", # Norwegian Bokmål
- # "fa": "فارسی", # Persian
- # "pl": "Polski", # Polish
- # "pt_BR": "Português (Brasil)", # Portuguese Brazil
+ "lt": "Lietuvių Kalba", # Lithuanian
+ "nb_NO": "Norsk Bokmål", # Norwegian Bokmål
+ "fa": "فارسی", # Persian
+ "pl": "Polski", # Polish
+ "pt_BR": "Português (Brasil)", # Portuguese Brazil
# "pt_PT": "Português (Portugal)", # Portuguese Portugal
# "ro": "Română", # Romanian
- # "ru": "Русский", # Russian
+ "ru": "Русский", # Russian
+ "sn": "chiShona", # Shona
# "sr_Latn": "Srpska (latinica)", # Serbian (latin)
# "sk": "Slovenčina", # Slovak
- "sv": "Svenska", # Swedish
"es": "Español", # Spanish
+ "sw": "Kiswahili", # Swahili
+ "sv": "Svenska", # Swedish
# "te": "తెలుగు", # Telugu
"tr": "Türkçe", # Turkish
"uk": "Українська", # Ukrainian
+ "vi": "Tiếng Việt", # Vietnamese
}
# These are the default settings. They will get overwritten when loading from disk
diff --git a/cli/onionshare_cli/web/send_base_mode.py b/cli/onionshare_cli/web/send_base_mode.py
index d8cef496..ca79b99f 100644
--- a/cli/onionshare_cli/web/send_base_mode.py
+++ b/cli/onionshare_cli/web/send_base_mode.py
@@ -131,7 +131,7 @@ class SendBaseModeWeb:
self.set_file_info_custom(filenames, processed_size_callback)
- def directory_listing(self, filenames, path="", filesystem_path=None):
+ def directory_listing(self, filenames, path="", filesystem_path=None, add_trailing_slash=False):
# Tell the GUI about the directory listing
history_id = self.cur_history_id
self.cur_history_id += 1
@@ -150,12 +150,12 @@ class SendBaseModeWeb:
breadcrumbs_leaf = breadcrumbs.pop()[0]
# If filesystem_path is None, this is the root directory listing
- files, dirs = self.build_directory_listing(path, filenames, filesystem_path)
+ files, dirs = self.build_directory_listing(path, filenames, filesystem_path, add_trailing_slash)
return self.directory_listing_template(
path, files, dirs, breadcrumbs, breadcrumbs_leaf
)
- def build_directory_listing(self, path, filenames, filesystem_path):
+ def build_directory_listing(self, path, filenames, filesystem_path, add_trailing_slash=False):
files = []
dirs = []
@@ -168,9 +168,14 @@ class SendBaseModeWeb:
is_dir = os.path.isdir(this_filesystem_path)
if is_dir:
- dirs.append(
- {"link": os.path.join(f"/{path}", filename), "basename": filename}
- )
+ if add_trailing_slash:
+ dirs.append(
+ {"link": os.path.join(f"/{path}", filename, ""), "basename": filename}
+ )
+ else:
+ dirs.append(
+ {"link": os.path.join(f"/{path}", filename), "basename": filename}
+ )
else:
size = os.path.getsize(this_filesystem_path)
size_human = self.common.human_readable_filesize(size)
diff --git a/cli/onionshare_cli/web/web.py b/cli/onionshare_cli/web/web.py
index a6ccbeb0..3a15fdc1 100644
--- a/cli/onionshare_cli/web/web.py
+++ b/cli/onionshare_cli/web/web.py
@@ -365,7 +365,8 @@ class Web:
)
self.waitress.run()
except Exception as e:
- raise WaitressException(f"Error starting Waitress: {e}")
+ if not self.waitress.shutdown:
+ raise WaitressException(f"Error starting Waitress: {e}")
def stop(self, port):
"""
@@ -398,6 +399,7 @@ class Web:
def waitress_custom_shutdown(self):
"""Shutdown the Waitress server immediately"""
# Code borrowed from https://github.com/Pylons/webtest/blob/4b8a3ebf984185ff4fefb31b4d0cf82682e1fcf7/webtest/http.py#L93-L104
+ self.waitress.shutdown = True
while self.waitress._map:
triggers = list(self.waitress._map.values())
for trigger in triggers:
diff --git a/cli/onionshare_cli/web/website_mode.py b/cli/onionshare_cli/web/website_mode.py
index 1f61532b..34f5abf1 100644
--- a/cli/onionshare_cli/web/website_mode.py
+++ b/cli/onionshare_cli/web/website_mode.py
@@ -84,12 +84,13 @@ class WebsiteModeWeb(SendBaseModeWeb):
return self.stream_individual_file(self.files[index_path])
else:
- # Otherwise, render directory listing
+ # Otherwise, render directory listing, and enforce trailing slash
+ # which can help with relative asset links in sub-directories.
filenames = []
for filename in os.listdir(filesystem_path):
filenames.append(filename)
filenames.sort()
- return self.directory_listing(filenames, path, filesystem_path)
+ return self.directory_listing(filenames, path, filesystem_path, True)
# If it's a file
elif os.path.isfile(filesystem_path):
@@ -112,7 +113,7 @@ class WebsiteModeWeb(SendBaseModeWeb):
# Root directory listing
filenames = list(self.root_files)
filenames.sort()
- return self.directory_listing(filenames, path)
+ return self.directory_listing(filenames, path, None, True)
else:
# If the path isn't found, throw a 404
diff --git a/cli/poetry.lock b/cli/poetry.lock
index d4452ec1..42754f5c 100644
--- a/cli/poetry.lock
+++ b/cli/poetry.lock
@@ -1,10 +1,9 @@
-# This file is automatically @generated by Poetry 1.5.0 and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand.
[[package]]
name = "bidict"
version = "0.22.1"
description = "The bidirectional mapping library for Python."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -19,192 +18,216 @@ test = ["hypothesis", "pytest", "pytest-benchmark[histogram]", "pytest-cov", "py
[[package]]
name = "blinker"
-version = "1.6.2"
+version = "1.6.3"
description = "Fast, simple object-to-object and broadcast signaling"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "blinker-1.6.2-py3-none-any.whl", hash = "sha256:c3d739772abb7bc2860abf5f2ec284223d9ad5c76da018234f6f50d6f31ab1f0"},
- {file = "blinker-1.6.2.tar.gz", hash = "sha256:4afd3de66ef3a9f8067559fb7a1cbe555c17dcbe15971b05d1b625c3e7abe213"},
+ {file = "blinker-1.6.3-py3-none-any.whl", hash = "sha256:296320d6c28b006eb5e32d4712202dbcdcbf5dc482da298c2f44881c43884aaa"},
+ {file = "blinker-1.6.3.tar.gz", hash = "sha256:152090d27c1c5c722ee7e48504b02d76502811ce02e1523553b4cf8c8b3d3a8d"},
]
[[package]]
name = "brotli"
-version = "1.0.9"
+version = "1.1.0"
description = "Python bindings for the Brotli compression library"
-category = "main"
optional = false
python-versions = "*"
files = [
- {file = "Brotli-1.0.9-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:268fe94547ba25b58ebc724680609c8ee3e5a843202e9a381f6f9c5e8bdb5c70"},
- {file = "Brotli-1.0.9-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:c2415d9d082152460f2bd4e382a1e85aed233abc92db5a3880da2257dc7daf7b"},
- {file = "Brotli-1.0.9-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5913a1177fc36e30fcf6dc868ce23b0453952c78c04c266d3149b3d39e1410d6"},
- {file = "Brotli-1.0.9-cp27-cp27m-win32.whl", hash = "sha256:afde17ae04d90fbe53afb628f7f2d4ca022797aa093e809de5c3cf276f61bbfa"},
- {file = "Brotli-1.0.9-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:7cb81373984cc0e4682f31bc3d6be9026006d96eecd07ea49aafb06897746452"},
- {file = "Brotli-1.0.9-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:db844eb158a87ccab83e868a762ea8024ae27337fc7ddcbfcddd157f841fdfe7"},
- {file = "Brotli-1.0.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9744a863b489c79a73aba014df554b0e7a0fc44ef3f8a0ef2a52919c7d155031"},
- {file = "Brotli-1.0.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a72661af47119a80d82fa583b554095308d6a4c356b2a554fdc2799bc19f2a43"},
- {file = "Brotli-1.0.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ee83d3e3a024a9618e5be64648d6d11c37047ac48adff25f12fa4226cf23d1c"},
- {file = "Brotli-1.0.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:19598ecddd8a212aedb1ffa15763dd52a388518c4550e615aed88dc3753c0f0c"},
- {file = "Brotli-1.0.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:44bb8ff420c1d19d91d79d8c3574b8954288bdff0273bf788954064d260d7ab0"},
- {file = "Brotli-1.0.9-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e23281b9a08ec338469268f98f194658abfb13658ee98e2b7f85ee9dd06caa91"},
- {file = "Brotli-1.0.9-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:3496fc835370da351d37cada4cf744039616a6db7d13c430035e901443a34daa"},
- {file = "Brotli-1.0.9-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b83bb06a0192cccf1eb8d0a28672a1b79c74c3a8a5f2619625aeb6f28b3a82bb"},
- {file = "Brotli-1.0.9-cp310-cp310-win32.whl", hash = "sha256:26d168aac4aaec9a4394221240e8a5436b5634adc3cd1cdf637f6645cecbf181"},
- {file = "Brotli-1.0.9-cp310-cp310-win_amd64.whl", hash = "sha256:622a231b08899c864eb87e85f81c75e7b9ce05b001e59bbfbf43d4a71f5f32b2"},
- {file = "Brotli-1.0.9-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cc0283a406774f465fb45ec7efb66857c09ffefbe49ec20b7882eff6d3c86d3a"},
- {file = "Brotli-1.0.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:11d3283d89af7033236fa4e73ec2cbe743d4f6a81d41bd234f24bf63dde979df"},
- {file = "Brotli-1.0.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c1306004d49b84bd0c4f90457c6f57ad109f5cc6067a9664e12b7b79a9948ad"},
- {file = "Brotli-1.0.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1375b5d17d6145c798661b67e4ae9d5496920d9265e2f00f1c2c0b5ae91fbde"},
- {file = "Brotli-1.0.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cab1b5964b39607a66adbba01f1c12df2e55ac36c81ec6ed44f2fca44178bf1a"},
- {file = "Brotli-1.0.9-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8ed6a5b3d23ecc00ea02e1ed8e0ff9a08f4fc87a1f58a2530e71c0f48adf882f"},
- {file = "Brotli-1.0.9-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cb02ed34557afde2d2da68194d12f5719ee96cfb2eacc886352cb73e3808fc5d"},
- {file = "Brotli-1.0.9-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b3523f51818e8f16599613edddb1ff924eeb4b53ab7e7197f85cbc321cdca32f"},
- {file = "Brotli-1.0.9-cp311-cp311-win32.whl", hash = "sha256:ba72d37e2a924717990f4d7482e8ac88e2ef43fb95491eb6e0d124d77d2a150d"},
- {file = "Brotli-1.0.9-cp311-cp311-win_amd64.whl", hash = "sha256:3ffaadcaeafe9d30a7e4e1e97ad727e4f5610b9fa2f7551998471e3736738679"},
- {file = "Brotli-1.0.9-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:c83aa123d56f2e060644427a882a36b3c12db93727ad7a7b9efd7d7f3e9cc2c4"},
- {file = "Brotli-1.0.9-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:6b2ae9f5f67f89aade1fab0f7fd8f2832501311c363a21579d02defa844d9296"},
- {file = "Brotli-1.0.9-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:68715970f16b6e92c574c30747c95cf8cf62804569647386ff032195dc89a430"},
- {file = "Brotli-1.0.9-cp35-cp35m-win32.whl", hash = "sha256:defed7ea5f218a9f2336301e6fd379f55c655bea65ba2476346340a0ce6f74a1"},
- {file = "Brotli-1.0.9-cp35-cp35m-win_amd64.whl", hash = "sha256:88c63a1b55f352b02c6ffd24b15ead9fc0e8bf781dbe070213039324922a2eea"},
- {file = "Brotli-1.0.9-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:503fa6af7da9f4b5780bb7e4cbe0c639b010f12be85d02c99452825dd0feef3f"},
- {file = "Brotli-1.0.9-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:40d15c79f42e0a2c72892bf407979febd9cf91f36f495ffb333d1d04cebb34e4"},
- {file = "Brotli-1.0.9-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:93130612b837103e15ac3f9cbacb4613f9e348b58b3aad53721d92e57f96d46a"},
- {file = "Brotli-1.0.9-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87fdccbb6bb589095f413b1e05734ba492c962b4a45a13ff3408fa44ffe6479b"},
- {file = "Brotli-1.0.9-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:6d847b14f7ea89f6ad3c9e3901d1bc4835f6b390a9c71df999b0162d9bb1e20f"},
- {file = "Brotli-1.0.9-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:495ba7e49c2db22b046a53b469bbecea802efce200dffb69b93dd47397edc9b6"},
- {file = "Brotli-1.0.9-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:4688c1e42968ba52e57d8670ad2306fe92e0169c6f3af0089be75bbac0c64a3b"},
- {file = "Brotli-1.0.9-cp36-cp36m-win32.whl", hash = "sha256:61a7ee1f13ab913897dac7da44a73c6d44d48a4adff42a5701e3239791c96e14"},
- {file = "Brotli-1.0.9-cp36-cp36m-win_amd64.whl", hash = "sha256:1c48472a6ba3b113452355b9af0a60da5c2ae60477f8feda8346f8fd48e3e87c"},
- {file = "Brotli-1.0.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3b78a24b5fd13c03ee2b7b86290ed20efdc95da75a3557cc06811764d5ad1126"},
- {file = "Brotli-1.0.9-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:9d12cf2851759b8de8ca5fde36a59c08210a97ffca0eb94c532ce7b17c6a3d1d"},
- {file = "Brotli-1.0.9-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:6c772d6c0a79ac0f414a9f8947cc407e119b8598de7621f39cacadae3cf57d12"},
- {file = "Brotli-1.0.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29d1d350178e5225397e28ea1b7aca3648fcbab546d20e7475805437bfb0a130"},
- {file = "Brotli-1.0.9-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7bbff90b63328013e1e8cb50650ae0b9bac54ffb4be6104378490193cd60f85a"},
- {file = "Brotli-1.0.9-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:ec1947eabbaf8e0531e8e899fc1d9876c179fc518989461f5d24e2223395a9e3"},
- {file = "Brotli-1.0.9-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:12effe280b8ebfd389022aa65114e30407540ccb89b177d3fbc9a4f177c4bd5d"},
- {file = "Brotli-1.0.9-cp37-cp37m-win32.whl", hash = "sha256:f909bbbc433048b499cb9db9e713b5d8d949e8c109a2a548502fb9aa8630f0b1"},
- {file = "Brotli-1.0.9-cp37-cp37m-win_amd64.whl", hash = "sha256:97f715cf371b16ac88b8c19da00029804e20e25f30d80203417255d239f228b5"},
- {file = "Brotli-1.0.9-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e16eb9541f3dd1a3e92b89005e37b1257b157b7256df0e36bd7b33b50be73bcb"},
- {file = "Brotli-1.0.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:160c78292e98d21e73a4cc7f76a234390e516afcd982fa17e1422f7c6a9ce9c8"},
- {file = "Brotli-1.0.9-cp38-cp38-manylinux1_i686.whl", hash = "sha256:b663f1e02de5d0573610756398e44c130add0eb9a3fc912a09665332942a2efb"},
- {file = "Brotli-1.0.9-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:5b6ef7d9f9c38292df3690fe3e302b5b530999fa90014853dcd0d6902fb59f26"},
- {file = "Brotli-1.0.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a674ac10e0a87b683f4fa2b6fa41090edfd686a6524bd8dedbd6138b309175c"},
- {file = "Brotli-1.0.9-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e2d9e1cbc1b25e22000328702b014227737756f4b5bf5c485ac1d8091ada078b"},
- {file = "Brotli-1.0.9-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:b336c5e9cf03c7be40c47b5fd694c43c9f1358a80ba384a21969e0b4e66a9b17"},
- {file = "Brotli-1.0.9-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:85f7912459c67eaab2fb854ed2bc1cc25772b300545fe7ed2dc03954da638649"},
- {file = "Brotli-1.0.9-cp38-cp38-win32.whl", hash = "sha256:35a3edbe18e876e596553c4007a087f8bcfd538f19bc116917b3c7522fca0429"},
- {file = "Brotli-1.0.9-cp38-cp38-win_amd64.whl", hash = "sha256:269a5743a393c65db46a7bb982644c67ecba4b8d91b392403ad8a861ba6f495f"},
- {file = "Brotli-1.0.9-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2aad0e0baa04517741c9bb5b07586c642302e5fb3e75319cb62087bd0995ab19"},
- {file = "Brotli-1.0.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5cb1e18167792d7d21e21365d7650b72d5081ed476123ff7b8cac7f45189c0c7"},
- {file = "Brotli-1.0.9-cp39-cp39-manylinux1_i686.whl", hash = "sha256:16d528a45c2e1909c2798f27f7bf0a3feec1dc9e50948e738b961618e38b6a7b"},
- {file = "Brotli-1.0.9-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:56d027eace784738457437df7331965473f2c0da2c70e1a1f6fdbae5402e0389"},
- {file = "Brotli-1.0.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9bf919756d25e4114ace16a8ce91eb340eb57a08e2c6950c3cebcbe3dff2a5e7"},
- {file = "Brotli-1.0.9-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e4c4e92c14a57c9bd4cb4be678c25369bf7a092d55fd0866f759e425b9660806"},
- {file = "Brotli-1.0.9-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:e48f4234f2469ed012a98f4b7874e7f7e173c167bed4934912a29e03167cf6b1"},
- {file = "Brotli-1.0.9-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9ed4c92a0665002ff8ea852353aeb60d9141eb04109e88928026d3c8a9e5433c"},
- {file = "Brotli-1.0.9-cp39-cp39-win32.whl", hash = "sha256:cfc391f4429ee0a9370aa93d812a52e1fee0f37a81861f4fdd1f4fb28e8547c3"},
- {file = "Brotli-1.0.9-cp39-cp39-win_amd64.whl", hash = "sha256:854c33dad5ba0fbd6ab69185fec8dab89e13cda6b7d191ba111987df74f38761"},
- {file = "Brotli-1.0.9-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9749a124280a0ada4187a6cfd1ffd35c350fb3af79c706589d98e088c5044267"},
- {file = "Brotli-1.0.9-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:73fd30d4ce0ea48010564ccee1a26bfe39323fde05cb34b5863455629db61dc7"},
- {file = "Brotli-1.0.9-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:02177603aaca36e1fd21b091cb742bb3b305a569e2402f1ca38af471777fb019"},
- {file = "Brotli-1.0.9-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:76ffebb907bec09ff511bb3acc077695e2c32bc2142819491579a695f77ffd4d"},
- {file = "Brotli-1.0.9-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b43775532a5904bc938f9c15b77c613cb6ad6fb30990f3b0afaea82797a402d8"},
- {file = "Brotli-1.0.9-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5bf37a08493232fbb0f8229f1824b366c2fc1d02d64e7e918af40acd15f3e337"},
- {file = "Brotli-1.0.9-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:330e3f10cd01da535c70d09c4283ba2df5fb78e915bea0a28becad6e2ac010be"},
- {file = "Brotli-1.0.9-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e1abbeef02962596548382e393f56e4c94acd286bd0c5afba756cffc33670e8a"},
- {file = "Brotli-1.0.9-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3148362937217b7072cf80a2dcc007f09bb5ecb96dae4617316638194113d5be"},
- {file = "Brotli-1.0.9-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:336b40348269f9b91268378de5ff44dc6fbaa2268194f85177b53463d313842a"},
- {file = "Brotli-1.0.9-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b8b09a16a1950b9ef495a0f8b9d0a87599a9d1f179e2d4ac014b2ec831f87e7"},
- {file = "Brotli-1.0.9-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c8e521a0ce7cf690ca84b8cc2272ddaf9d8a50294fd086da67e517439614c755"},
- {file = "Brotli-1.0.9.zip", hash = "sha256:4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438"},
+ {file = "Brotli-1.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e1140c64812cb9b06c922e77f1c26a75ec5e3f0fb2bf92cc8c58720dec276752"},
+ {file = "Brotli-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c8fd5270e906eef71d4a8d19b7c6a43760c6abcfcc10c9101d14eb2357418de9"},
+ {file = "Brotli-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ae56aca0402a0f9a3431cddda62ad71666ca9d4dc3a10a142b9dce2e3c0cda3"},
+ {file = "Brotli-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:43ce1b9935bfa1ede40028054d7f48b5469cd02733a365eec8a329ffd342915d"},
+ {file = "Brotli-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7c4855522edb2e6ae7fdb58e07c3ba9111e7621a8956f481c68d5d979c93032e"},
+ {file = "Brotli-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:38025d9f30cf4634f8309c6874ef871b841eb3c347e90b0851f63d1ded5212da"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e6a904cb26bfefc2f0a6f240bdf5233be78cd2488900a2f846f3c3ac8489ab80"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a37b8f0391212d29b3a91a799c8e4a2855e0576911cdfb2515487e30e322253d"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e84799f09591700a4154154cab9787452925578841a94321d5ee8fb9a9a328f0"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f66b5337fa213f1da0d9000bc8dc0cb5b896b726eefd9c6046f699b169c41b9e"},
+ {file = "Brotli-1.1.0-cp310-cp310-win32.whl", hash = "sha256:be36e3d172dc816333f33520154d708a2657ea63762ec16b62ece02ab5e4daf2"},
+ {file = "Brotli-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:0c6244521dda65ea562d5a69b9a26120769b7a9fb3db2fe9545935ed6735b128"},
+ {file = "Brotli-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a3daabb76a78f829cafc365531c972016e4aa8d5b4bf60660ad8ecee19df7ccc"},
+ {file = "Brotli-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c8146669223164fc87a7e3de9f81e9423c67a79d6b3447994dfb9c95da16e2d6"},
+ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30924eb4c57903d5a7526b08ef4a584acc22ab1ffa085faceb521521d2de32dd"},
+ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ceb64bbc6eac5a140ca649003756940f8d6a7c444a68af170b3187623b43bebf"},
+ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a469274ad18dc0e4d316eefa616d1d0c2ff9da369af19fa6f3daa4f09671fd61"},
+ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:524f35912131cc2cabb00edfd8d573b07f2d9f21fa824bd3fb19725a9cf06327"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5b3cc074004d968722f51e550b41a27be656ec48f8afaeeb45ebf65b561481dd"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:19c116e796420b0cee3da1ccec3b764ed2952ccfcc298b55a10e5610ad7885f9"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:510b5b1bfbe20e1a7b3baf5fed9e9451873559a976c1a78eebaa3b86c57b4265"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a1fd8a29719ccce974d523580987b7f8229aeace506952fa9ce1d53a033873c8"},
+ {file = "Brotli-1.1.0-cp311-cp311-win32.whl", hash = "sha256:39da8adedf6942d76dc3e46653e52df937a3c4d6d18fdc94a7c29d263b1f5b50"},
+ {file = "Brotli-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:aac0411d20e345dc0920bdec5548e438e999ff68d77564d5e9463a7ca9d3e7b1"},
+ {file = "Brotli-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:316cc9b17edf613ac76b1f1f305d2a748f1b976b033b049a6ecdfd5612c70409"},
+ {file = "Brotli-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:caf9ee9a5775f3111642d33b86237b05808dafcd6268faa492250e9b78046eb2"},
+ {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70051525001750221daa10907c77830bc889cb6d865cc0b813d9db7fefc21451"},
+ {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7f4bf76817c14aa98cc6697ac02f3972cb8c3da93e9ef16b9c66573a68014f91"},
+ {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0c5516f0aed654134a2fc936325cc2e642f8a0e096d075209672eb321cff408"},
+ {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c3020404e0b5eefd7c9485ccf8393cfb75ec38ce75586e046573c9dc29967a0"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4ed11165dd45ce798d99a136808a794a748d5dc38511303239d4e2363c0695dc"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4093c631e96fdd49e0377a9c167bfd75b6d0bad2ace734c6eb20b348bc3ea180"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e4c4629ddad63006efa0ef968c8e4751c5868ff0b1c5c40f76524e894c50248"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:861bf317735688269936f755fa136a99d1ed526883859f86e41a5d43c61d8966"},
+ {file = "Brotli-1.1.0-cp312-cp312-win32.whl", hash = "sha256:5f4d5ea15c9382135076d2fb28dde923352fe02951e66935a9efaac8f10e81b0"},
+ {file = "Brotli-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:906bc3a79de8c4ae5b86d3d75a8b77e44404b0f4261714306e3ad248d8ab0951"},
+ {file = "Brotli-1.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a090ca607cbb6a34b0391776f0cb48062081f5f60ddcce5d11838e67a01928d1"},
+ {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2de9d02f5bda03d27ede52e8cfe7b865b066fa49258cbab568720aa5be80a47d"},
+ {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2333e30a5e00fe0fe55903c8832e08ee9c3b1382aacf4db26664a16528d51b4b"},
+ {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4d4a848d1837973bf0f4b5e54e3bec977d99be36a7895c61abb659301b02c112"},
+ {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:fdc3ff3bfccdc6b9cc7c342c03aa2400683f0cb891d46e94b64a197910dc4064"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:5eeb539606f18a0b232d4ba45adccde4125592f3f636a6182b4a8a436548b914"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:fd5f17ff8f14003595ab414e45fce13d073e0762394f957182e69035c9f3d7c2"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:069a121ac97412d1fe506da790b3e69f52254b9df4eb665cd42460c837193354"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:e93dfc1a1165e385cc8239fab7c036fb2cd8093728cbd85097b284d7b99249a2"},
+ {file = "Brotli-1.1.0-cp36-cp36m-win32.whl", hash = "sha256:a599669fd7c47233438a56936988a2478685e74854088ef5293802123b5b2460"},
+ {file = "Brotli-1.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:d143fd47fad1db3d7c27a1b1d66162e855b5d50a89666af46e1679c496e8e579"},
+ {file = "Brotli-1.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:11d00ed0a83fa22d29bc6b64ef636c4552ebafcef57154b4ddd132f5638fbd1c"},
+ {file = "Brotli-1.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f733d788519c7e3e71f0855c96618720f5d3d60c3cb829d8bbb722dddce37985"},
+ {file = "Brotli-1.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:929811df5462e182b13920da56c6e0284af407d1de637d8e536c5cd00a7daf60"},
+ {file = "Brotli-1.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b63b949ff929fbc2d6d3ce0e924c9b93c9785d877a21a1b678877ffbbc4423a"},
+ {file = "Brotli-1.1.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d192f0f30804e55db0d0e0a35d83a9fead0e9a359a9ed0285dbacea60cc10a84"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f296c40e23065d0d6650c4aefe7470d2a25fffda489bcc3eb66083f3ac9f6643"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:919e32f147ae93a09fe064d77d5ebf4e35502a8df75c29fb05788528e330fe74"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:23032ae55523cc7bccb4f6a0bf368cd25ad9bcdcc1990b64a647e7bbcce9cb5b"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:224e57f6eac61cc449f498cc5f0e1725ba2071a3d4f48d5d9dffba42db196438"},
+ {file = "Brotli-1.1.0-cp37-cp37m-win32.whl", hash = "sha256:587ca6d3cef6e4e868102672d3bd9dc9698c309ba56d41c2b9c85bbb903cdb95"},
+ {file = "Brotli-1.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2954c1c23f81c2eaf0b0717d9380bd348578a94161a65b3a2afc62c86467dd68"},
+ {file = "Brotli-1.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:efa8b278894b14d6da122a72fefcebc28445f2d3f880ac59d46c90f4c13be9a3"},
+ {file = "Brotli-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:03d20af184290887bdea3f0f78c4f737d126c74dc2f3ccadf07e54ceca3bf208"},
+ {file = "Brotli-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6172447e1b368dcbc458925e5ddaf9113477b0ed542df258d84fa28fc45ceea7"},
+ {file = "Brotli-1.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a743e5a28af5f70f9c080380a5f908d4d21d40e8f0e0c8901604d15cfa9ba751"},
+ {file = "Brotli-1.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0541e747cce78e24ea12d69176f6a7ddb690e62c425e01d31cc065e69ce55b48"},
+ {file = "Brotli-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cdbc1fc1bc0bff1cef838eafe581b55bfbffaed4ed0318b724d0b71d4d377619"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:890b5a14ce214389b2cc36ce82f3093f96f4cc730c1cffdbefff77a7c71f2a97"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ab4fbee0b2d9098c74f3057b2bc055a8bd92ccf02f65944a241b4349229185a"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:141bd4d93984070e097521ed07e2575b46f817d08f9fa42b16b9b5f27b5ac088"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fce1473f3ccc4187f75b4690cfc922628aed4d3dd013d047f95a9b3919a86596"},
+ {file = "Brotli-1.1.0-cp38-cp38-win32.whl", hash = "sha256:db85ecf4e609a48f4b29055f1e144231b90edc90af7481aa731ba2d059226b1b"},
+ {file = "Brotli-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3d7954194c36e304e1523f55d7042c59dc53ec20dd4e9ea9d151f1b62b4415c0"},
+ {file = "Brotli-1.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5fb2ce4b8045c78ebbc7b8f3c15062e435d47e7393cc57c25115cfd49883747a"},
+ {file = "Brotli-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7905193081db9bfa73b1219140b3d315831cbff0d8941f22da695832f0dd188f"},
+ {file = "Brotli-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a77def80806c421b4b0af06f45d65a136e7ac0bdca3c09d9e2ea4e515367c7e9"},
+ {file = "Brotli-1.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8dadd1314583ec0bf2d1379f7008ad627cd6336625d6679cf2f8e67081b83acf"},
+ {file = "Brotli-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:901032ff242d479a0efa956d853d16875d42157f98951c0230f69e69f9c09bac"},
+ {file = "Brotli-1.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:22fc2a8549ffe699bfba2256ab2ed0421a7b8fadff114a3d201794e45a9ff578"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ae15b066e5ad21366600ebec29a7ccbc86812ed267e4b28e860b8ca16a2bc474"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:949f3b7c29912693cee0afcf09acd6ebc04c57af949d9bf77d6101ebb61e388c"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:89f4988c7203739d48c6f806f1e87a1d96e0806d44f0fba61dba81392c9e474d"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:de6551e370ef19f8de1807d0a9aa2cdfdce2e85ce88b122fe9f6b2b076837e59"},
+ {file = "Brotli-1.1.0-cp39-cp39-win32.whl", hash = "sha256:f0d8a7a6b5983c2496e364b969f0e526647a06b075d034f3297dc66f3b360c64"},
+ {file = "Brotli-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:cdad5b9014d83ca68c25d2e9444e28e967ef16e80f6b436918c700c117a85467"},
+ {file = "Brotli-1.1.0.tar.gz", hash = "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724"},
]
[[package]]
+name = "brotlicffi"
+version = "1.1.0.0"
+description = "Python CFFI bindings to the Brotli library"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9b7ae6bd1a3f0df532b6d67ff674099a96d22bc0948955cb338488c31bfb8851"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19ffc919fa4fc6ace69286e0a23b3789b4219058313cf9b45625016bf7ff996b"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9feb210d932ffe7798ee62e6145d3a757eb6233aa9a4e7db78dd3690d7755814"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84763dbdef5dd5c24b75597a77e1b30c66604725707565188ba54bab4f114820"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-win32.whl", hash = "sha256:1b12b50e07c3911e1efa3a8971543e7648100713d4e0971b13631cce22c587eb"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:994a4f0681bb6c6c3b0925530a1926b7a189d878e6e5e38fae8efa47c5d9c613"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2e4aeb0bd2540cb91b069dbdd54d458da8c4334ceaf2d25df2f4af576d6766ca"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b7b0033b0d37bb33009fb2fef73310e432e76f688af76c156b3594389d81391"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54a07bb2374a1eba8ebb52b6fafffa2afd3c4df85ddd38fcc0511f2bb387c2a8"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7901a7dc4b88f1c1475de59ae9be59799db1007b7d059817948d8e4f12e24e35"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce01c7316aebc7fce59da734286148b1d1b9455f89cf2c8a4dfce7d41db55c2d"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:246f1d1a90279bb6069de3de8d75a8856e073b8ff0b09dcca18ccc14cec85979"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc4bc5d82bc56ebd8b514fb8350cfac4627d6b0743382e46d033976a5f80fab6"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37c26ecb14386a44b118ce36e546ce307f4810bc9598a6e6cb4f7fca725ae7e6"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca72968ae4eaf6470498d5c2887073f7efe3b1e7d7ec8be11a06a79cc810e990"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:add0de5b9ad9e9aa293c3aa4e9deb2b61e99ad6c1634e01d01d98c03e6a354cc"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9b6068e0f3769992d6b622a1cd2e7835eae3cf8d9da123d7f51ca9c1e9c333e5"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8557a8559509b61e65083f8782329188a250102372576093c88930c875a69838"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a7ae37e5d79c5bdfb5b4b99f2715a6035e6c5bf538c3746abc8e26694f92f33"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:391151ec86bb1c683835980f4816272a87eaddc46bb91cbf44f62228b84d8cca"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:2f3711be9290f0453de8eed5275d93d286abe26b08ab4a35d7452caa1fef532f"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1a807d760763e398bbf2c6394ae9da5815901aa93ee0a37bca5efe78d4ee3171"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa8ca0623b26c94fccc3a1fdd895be1743b838f3917300506d04aa3346fd2a14"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3de0cf28a53a3238b252aca9fed1593e9d36c1d116748013339f0949bfc84112"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6be5ec0e88a4925c91f3dea2bb0013b3a2accda6f77238f76a34a1ea532a1cb0"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d9eb71bb1085d996244439154387266fd23d6ad37161f6f52f1cd41dd95a3808"},
+ {file = "brotlicffi-1.1.0.0.tar.gz", hash = "sha256:b77827a689905143f87915310b93b273ab17888fd43ef350d4832c4a71083c13"},
+]
+
+[package.dependencies]
+cffi = ">=1.0.0"
+
+[[package]]
name = "certifi"
-version = "2023.5.7"
+version = "2023.7.22"
description = "Python package for providing Mozilla's CA Bundle."
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
- {file = "certifi-2023.5.7-py3-none-any.whl", hash = "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"},
- {file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"},
+ {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"},
+ {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"},
]
[[package]]
name = "cffi"
-version = "1.15.1"
+version = "1.16.0"
description = "Foreign Function Interface for Python calling C code."
-category = "main"
optional = false
-python-versions = "*"
+python-versions = ">=3.8"
files = [
- {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"},
- {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"},
- {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"},
- {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"},
- {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"},
- {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"},
- {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"},
- {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"},
- {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"},
- {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"},
- {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"},
- {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"},
- {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"},
- {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"},
- {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"},
- {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"},
- {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"},
- {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"},
- {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"},
- {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"},
- {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"},
- {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"},
- {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"},
- {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"},
- {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"},
- {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"},
- {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"},
- {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"},
- {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"},
- {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"},
- {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"},
- {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"},
- {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"},
- {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"},
- {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"},
- {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"},
- {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"},
- {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"},
- {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"},
- {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"},
- {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"},
- {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"},
- {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"},
- {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"},
- {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"},
- {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"},
- {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"},
- {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"},
- {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"},
- {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"},
- {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"},
- {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"},
- {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"},
- {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"},
- {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"},
- {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"},
- {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"},
- {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"},
- {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"},
- {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"},
- {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"},
- {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"},
- {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"},
- {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"},
+ {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"},
+ {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"},
+ {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"},
+ {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"},
+ {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"},
+ {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"},
+ {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"},
+ {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"},
+ {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"},
+ {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"},
+ {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"},
+ {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"},
+ {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"},
+ {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"},
+ {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"},
+ {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"},
+ {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"},
+ {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"},
+ {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"},
+ {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"},
+ {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"},
+ {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"},
+ {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"},
+ {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"},
+ {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"},
+ {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"},
+ {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"},
+ {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"},
+ {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"},
+ {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"},
+ {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"},
+ {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"},
+ {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"},
+ {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"},
+ {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"},
+ {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"},
+ {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"},
+ {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"},
+ {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"},
+ {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"},
+ {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"},
+ {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"},
+ {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"},
+ {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"},
+ {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"},
+ {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"},
+ {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"},
+ {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"},
+ {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"},
+ {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"},
+ {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"},
+ {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"},
]
[package.dependencies]
@@ -212,99 +235,112 @@ pycparser = "*"
[[package]]
name = "charset-normalizer"
-version = "3.1.0"
+version = "3.3.0"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
-category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
- {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"},
- {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"},
+ {file = "charset-normalizer-3.3.0.tar.gz", hash = "sha256:63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:effe5406c9bd748a871dbcaf3ac69167c38d72db8c9baf3ff954c344f31c4cbe"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4162918ef3098851fcd8a628bf9b6a98d10c380725df9e04caf5ca6dd48c847a"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0570d21da019941634a531444364f2482e8db0b3425fcd5ac0c36565a64142c8"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5707a746c6083a3a74b46b3a631d78d129edab06195a92a8ece755aac25a3f3d"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:278c296c6f96fa686d74eb449ea1697f3c03dc28b75f873b65b5201806346a69"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a4b71f4d1765639372a3b32d2638197f5cd5221b19531f9245fcc9ee62d38f56"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5969baeaea61c97efa706b9b107dcba02784b1601c74ac84f2a532ea079403e"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3f93dab657839dfa61025056606600a11d0b696d79386f974e459a3fbc568ec"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:db756e48f9c5c607b5e33dd36b1d5872d0422e960145b08ab0ec7fd420e9d649"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:232ac332403e37e4a03d209a3f92ed9071f7d3dbda70e2a5e9cff1c4ba9f0678"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e5c1502d4ace69a179305abb3f0bb6141cbe4714bc9b31d427329a95acfc8bdd"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:2502dd2a736c879c0f0d3e2161e74d9907231e25d35794584b1ca5284e43f596"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23e8565ab7ff33218530bc817922fae827420f143479b753104ab801145b1d5b"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-win32.whl", hash = "sha256:1872d01ac8c618a8da634e232f24793883d6e456a66593135aeafe3784b0848d"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:557b21a44ceac6c6b9773bc65aa1b4cc3e248a5ad2f5b914b91579a32e22204d"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d7eff0f27edc5afa9e405f7165f85a6d782d308f3b6b9d96016c010597958e63"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a685067d05e46641d5d1623d7c7fdf15a357546cbb2f71b0ebde91b175ffc3e"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0d3d5b7db9ed8a2b11a774db2bbea7ba1884430a205dbd54a32d61d7c2a190fa"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2935ffc78db9645cb2086c2f8f4cfd23d9b73cc0dc80334bc30aac6f03f68f8c"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fe359b2e3a7729010060fbca442ca225280c16e923b37db0e955ac2a2b72a05"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:380c4bde80bce25c6e4f77b19386f5ec9db230df9f2f2ac1e5ad7af2caa70459"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0d1e3732768fecb052d90d62b220af62ead5748ac51ef61e7b32c266cac9293"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b2919306936ac6efb3aed1fbf81039f7087ddadb3160882a57ee2ff74fd2382"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f8888e31e3a85943743f8fc15e71536bda1c81d5aa36d014a3c0c44481d7db6e"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:82eb849f085624f6a607538ee7b83a6d8126df6d2f7d3b319cb837b289123078"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7b8b8bf1189b3ba9b8de5c8db4d541b406611a71a955bbbd7385bbc45fcb786c"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5adf257bd58c1b8632046bbe43ee38c04e1038e9d37de9c57a94d6bd6ce5da34"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c350354efb159b8767a6244c166f66e67506e06c8924ed74669b2c70bc8735b1"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-win32.whl", hash = "sha256:02af06682e3590ab952599fbadac535ede5d60d78848e555aa58d0c0abbde786"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86d1f65ac145e2c9ed71d8ffb1905e9bba3a91ae29ba55b4c46ae6fc31d7c0d4"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3b447982ad46348c02cb90d230b75ac34e9886273df3a93eec0539308a6296d7"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:abf0d9f45ea5fb95051c8bfe43cb40cda383772f7e5023a83cc481ca2604d74e"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b09719a17a2301178fac4470d54b1680b18a5048b481cb8890e1ef820cb80455"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3d9b48ee6e3967b7901c052b670c7dda6deb812c309439adaffdec55c6d7b78"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:edfe077ab09442d4ef3c52cb1f9dab89bff02f4524afc0acf2d46be17dc479f5"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3debd1150027933210c2fc321527c2299118aa929c2f5a0a80ab6953e3bd1908"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86f63face3a527284f7bb8a9d4f78988e3c06823f7bea2bd6f0e0e9298ca0403"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:24817cb02cbef7cd499f7c9a2735286b4782bd47a5b3516a0e84c50eab44b98e"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c71f16da1ed8949774ef79f4a0260d28b83b3a50c6576f8f4f0288d109777989"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9cf3126b85822c4e53aa28c7ec9869b924d6fcfb76e77a45c44b83d91afd74f9"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:b3b2316b25644b23b54a6f6401074cebcecd1244c0b8e80111c9a3f1c8e83d65"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:03680bb39035fbcffe828eae9c3f8afc0428c91d38e7d61aa992ef7a59fb120e"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4cc152c5dd831641e995764f9f0b6589519f6f5123258ccaca8c6d34572fefa8"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-win32.whl", hash = "sha256:b8f3307af845803fb0b060ab76cf6dd3a13adc15b6b451f54281d25911eb92df"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8eaf82f0eccd1505cf39a45a6bd0a8cf1c70dcfc30dba338207a969d91b965c0"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dc45229747b67ffc441b3de2f3ae5e62877a282ea828a5bdb67883c4ee4a8810"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4a0033ce9a76e391542c182f0d48d084855b5fcba5010f707c8e8c34663d77"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ada214c6fa40f8d800e575de6b91a40d0548139e5dc457d2ebb61470abf50186"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1121de0e9d6e6ca08289583d7491e7fcb18a439305b34a30b20d8215922d43c"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1063da2c85b95f2d1a430f1c33b55c9c17ffaf5e612e10aeaad641c55a9e2b9d"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70f1d09c0d7748b73290b29219e854b3207aea922f839437870d8cc2168e31cc"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:250c9eb0f4600361dd80d46112213dff2286231d92d3e52af1e5a6083d10cad9"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:750b446b2ffce1739e8578576092179160f6d26bd5e23eb1789c4d64d5af7dc7"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:fc52b79d83a3fe3a360902d3f5d79073a993597d48114c29485e9431092905d8"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:588245972aca710b5b68802c8cad9edaa98589b1b42ad2b53accd6910dad3545"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e39c7eb31e3f5b1f88caff88bcff1b7f8334975b46f6ac6e9fc725d829bc35d4"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-win32.whl", hash = "sha256:abecce40dfebbfa6abf8e324e1860092eeca6f7375c8c4e655a8afb61af58f2c"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:24a91a981f185721542a0b7c92e9054b7ab4fea0508a795846bc5b0abf8118d4"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:67b8cc9574bb518ec76dc8e705d4c39ae78bb96237cb533edac149352c1f39fe"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac71b2977fb90c35d41c9453116e283fac47bb9096ad917b8819ca8b943abecd"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3ae38d325b512f63f8da31f826e6cb6c367336f95e418137286ba362925c877e"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:542da1178c1c6af8873e143910e2269add130a299c9106eef2594e15dae5e482"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30a85aed0b864ac88309b7d94be09f6046c834ef60762a8833b660139cfbad13"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aae32c93e0f64469f74ccc730a7cb21c7610af3a775157e50bbd38f816536b38"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b26ddf78d57f1d143bdf32e820fd8935d36abe8a25eb9ec0b5a71c82eb3895"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f5d10bae5d78e4551b7be7a9b29643a95aded9d0f602aa2ba584f0388e7a557"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:249c6470a2b60935bafd1d1d13cd613f8cd8388d53461c67397ee6a0f5dce741"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c5a74c359b2d47d26cdbbc7845e9662d6b08a1e915eb015d044729e92e7050b7"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:b5bcf60a228acae568e9911f410f9d9e0d43197d030ae5799e20dca8df588287"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:187d18082694a29005ba2944c882344b6748d5be69e3a89bf3cc9d878e548d5a"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:81bf654678e575403736b85ba3a7867e31c2c30a69bc57fe88e3ace52fb17b89"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-win32.whl", hash = "sha256:85a32721ddde63c9df9ebb0d2045b9691d9750cb139c161c80e500d210f5e26e"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:468d2a840567b13a590e67dd276c570f8de00ed767ecc611994c301d0f8c014f"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e0fc42822278451bc13a2e8626cf2218ba570f27856b536e00cfa53099724828"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:09c77f964f351a7369cc343911e0df63e762e42bac24cd7d18525961c81754f4"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12ebea541c44fdc88ccb794a13fe861cc5e35d64ed689513a5c03d05b53b7c82"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:805dfea4ca10411a5296bcc75638017215a93ffb584c9e344731eef0dcfb026a"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:96c2b49eb6a72c0e4991d62406e365d87067ca14c1a729a870d22354e6f68115"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aaf7b34c5bc56b38c931a54f7952f1ff0ae77a2e82496583b247f7c969eb1479"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:619d1c96099be5823db34fe89e2582b336b5b074a7f47f819d6b3a57ff7bdb86"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0ac5e7015a5920cfce654c06618ec40c33e12801711da6b4258af59a8eff00a"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:93aa7eef6ee71c629b51ef873991d6911b906d7312c6e8e99790c0f33c576f89"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7966951325782121e67c81299a031f4c115615e68046f79b85856b86ebffc4cd"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:02673e456dc5ab13659f85196c534dc596d4ef260e4d86e856c3b2773ce09843"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:c2af80fb58f0f24b3f3adcb9148e6203fa67dd3f61c4af146ecad033024dde43"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:153e7b6e724761741e0974fc4dcd406d35ba70b92bfe3fedcb497226c93b9da7"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-win32.whl", hash = "sha256:d47ecf253780c90ee181d4d871cd655a789da937454045b17b5798da9393901a"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:d97d85fa63f315a8bdaba2af9a6a686e0eceab77b3089af45133252618e70884"},
+ {file = "charset_normalizer-3.3.0-py3-none-any.whl", hash = "sha256:e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2"},
]
[[package]]
name = "click"
-version = "8.1.3"
+version = "8.1.7"
description = "Composable command line interface toolkit"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"},
- {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"},
+ {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"},
+ {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"},
]
[package.dependencies]
@@ -314,7 +350,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""}
name = "colorama"
version = "0.4.6"
description = "Cross-platform colored terminal text."
-category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
files = [
@@ -323,21 +358,86 @@ files = [
]
[[package]]
+name = "cython"
+version = "3.0.3"
+description = "The Cython compiler for writing C extensions in the Python language."
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+files = [
+ {file = "Cython-3.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:85073ab414ff432d2a39d36cb49c39ce69f30b53daccc7699bfad0ce3d1b539a"},
+ {file = "Cython-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30c1d9bd2bcb9b1a195dd23b359771857df8ebd4a1038fb37dd155d3ea38c09c"},
+ {file = "Cython-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9296f332523d5c550ebae694483874d255264cff3281372f25ea5f2739b96651"},
+ {file = "Cython-3.0.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d52ed47edbf48392dd0f419135e7ff59673f6b32d27d3ffc9e61a515571c050d"},
+ {file = "Cython-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6f63e959d13775472d37e731b2450d120e8db87e956e2de74475e8f17a89b1fb"},
+ {file = "Cython-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22d268c3023f405e13aa0c1600389794694ab3671614f8e782d89a1055da0858"},
+ {file = "Cython-3.0.3-cp310-cp310-win32.whl", hash = "sha256:51850f277660f67171135515e45edfc8815f723ff20768e39cb9785b2671062f"},
+ {file = "Cython-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:bff1fec968a6b2ca452ae9bff6d6d0bf8486427d4d791e85543240266b6915e0"},
+ {file = "Cython-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:587d664ff6bd5b03611ddc6ef320b7f8677d824c45d15553f16a69191a643843"},
+ {file = "Cython-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3192cd780435fca5ae5d79006b48cbf0ea674853b5a7b0055a122045bff9d84e"},
+ {file = "Cython-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7578b59ffd0d9c95ae6f7ae852309918915998b7fe0ed2f8725a683de8da276"},
+ {file = "Cython-3.0.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f05889eb1b5a95a7adf97303279c2d13819ff62292e10337e6c940dbf570b5d"},
+ {file = "Cython-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1d3416c24a1b7bf3a2d9615a7f9f12b00fac0b94fb2e61449e0c1ecf20d6ed52"},
+ {file = "Cython-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4cc0f7244da06fdc6a4a7240df788805436b6fb7f20edee777eb77777d9d2eb1"},
+ {file = "Cython-3.0.3-cp311-cp311-win32.whl", hash = "sha256:845e24ee70c204062e03f813114751387abf454b29410336797582e04abbc07b"},
+ {file = "Cython-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:e3ad109bdf40f55318e001cad12bcc00e8119569b49f72e442c082355617b036"},
+ {file = "Cython-3.0.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:14b898ec2fdeea68f81bd3838b035800b173b59ed532674f65a82724bab35d3b"},
+ {file = "Cython-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:188705eeae094bb716bc3e3d0da4e13469f0a0de803b65dfd63fe7eb78ec6173"},
+ {file = "Cython-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eb128fa40305f18eaa4d8dd0980033b92db86aada927181d3c3d561aa0634db"},
+ {file = "Cython-3.0.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80bd3167e689419cdaf7ede0d20a9f126b9698a43b1f8d3e8f54b970c7a6cd07"},
+ {file = "Cython-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d0c7b315f6feb75e2c949dc7816da5626cdca097fea1c0d9f4fdb20d2f4ffc2a"},
+ {file = "Cython-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:db9d4de4cd6cd3ad1c3f455aae877ad81a92b92b7cbb01dfb32b6306b873932b"},
+ {file = "Cython-3.0.3-cp312-cp312-win32.whl", hash = "sha256:be1a679c7ad90813f9206c9d62993f3bd0cba9330668e97bb3f70c87ae94d5f5"},
+ {file = "Cython-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:fa08259f4d176b86561eeff6954f9924099c0b0c128fc2cbfc18343c068ad8ca"},
+ {file = "Cython-3.0.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:056340c49bf7861eb1eba941423e67620b7c85e264e9a5594163f1d1e8b95acc"},
+ {file = "Cython-3.0.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cfbd60137f6fca9c29101d7517d4e341e0fd279ffc2489634e5e2dd592457c2"},
+ {file = "Cython-3.0.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66b7e71c16cab0814945014ffb101ead2b173259098bbb1b8138e7a547da3709"},
+ {file = "Cython-3.0.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:42b1ff0e19fb4d1fe68b60f55d46942ed246a323f6bbeec302924b78b4c3b637"},
+ {file = "Cython-3.0.3-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:5d6af87a787d5ce063e28e508fee34755a945e438c68ecda50eb4ea34c30e13f"},
+ {file = "Cython-3.0.3-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:0147a31fb73a063bb7b6c69fd843c1a2bad18f326f58048d4ee5bdaef87c9fbf"},
+ {file = "Cython-3.0.3-cp36-cp36m-win32.whl", hash = "sha256:84084fa05cf9a67a85818fa72a741d1cae2e3096551158730730a3bafc3b2f52"},
+ {file = "Cython-3.0.3-cp36-cp36m-win_amd64.whl", hash = "sha256:8a6a9a2d98758768052e4ac1bea4ebc20fae69b4c19cb2bc5457c9174532d302"},
+ {file = "Cython-3.0.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:94fa403de3a413cd41b8eb4ddb4adcbd66aa0a64f9a84d1c5f696c93572c83aa"},
+ {file = "Cython-3.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e729fd633a5225570c5480b36e7c530c8a82e2ab6d2944ddbe1ddfff5bf181b1"},
+ {file = "Cython-3.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59bf689409b0e51ef673e3dd0348727aef5b67e40f23f806be64c49cee321de0"},
+ {file = "Cython-3.0.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0ac9ec822fad010248b4a59ac197975de38c95378d0f13201c181dd9b0a2624"},
+ {file = "Cython-3.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8e78fc42a6e846941d23aba1aca587520ad38c8970255242f08f9288b0eeba85"},
+ {file = "Cython-3.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e40ac8bd6d11355d354bb4975bb88f6e923ba30f85e38f1f1234b642634e4fc4"},
+ {file = "Cython-3.0.3-cp37-cp37m-win32.whl", hash = "sha256:77a920ae19fa1db5adb8a618cebb095ca4f56adfbf9fc32cb7008a590607b62b"},
+ {file = "Cython-3.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:0630527a8c9e8fed815c38524e418dab713f5d66f6ac9dc2151b41f3a7727304"},
+ {file = "Cython-3.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4e956383e57d00b1fa6449b5ec03b9fa5fce2afd41ef3e518bee8e7c89f1616c"},
+ {file = "Cython-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ec9e15b821ef7e3c38abe9e4df4e6dda7af159325bc358afd5a3c2d5027ccfe"},
+ {file = "Cython-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18f4fb7cc6ad8e99e8f387ebbcded171a701bfbfd8cd3fd46156bf44bb4fd968"},
+ {file = "Cython-3.0.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b50f4f75f89e7eef2ed9c9b60746bc4ab1ba2bc0dff64587133db2b63e068f09"},
+ {file = "Cython-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5545d20d7a1c0cf17559152f7f4a465c3d5caace82dd051f82e2d753ae9fd956"},
+ {file = "Cython-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:1571b045ec1cb15c152c3949f3bd53ee0fa66d434271ea3d225658d99b7e721a"},
+ {file = "Cython-3.0.3-cp38-cp38-win32.whl", hash = "sha256:3db04801fd15d826174f63ff45878d4b1e62aff27cf1ea96b186581052d24446"},
+ {file = "Cython-3.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:75d42c8423ab299396f3c938445730600e32e4a2f0298f6f9df4d4a698fe8e16"},
+ {file = "Cython-3.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:48bae87b657009e5648c21d4a92de9f3dc6fed3e35e92957fa8a07a18cea2313"},
+ {file = "Cython-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ccde14ddc4b424435cb5722aa1529c254bbf3611e1ad9baea12d25e9c049361"},
+ {file = "Cython-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c8e5afcc19861c3b22faafbe906c7e1b23f0595073ac10e21a80dec9e60e7dd"},
+ {file = "Cython-3.0.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e1c9385e99eef299396b9a1e39790e81819446c6a83e249f6f0fc71a64f57a0"},
+ {file = "Cython-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d49d20db27c9cfcf45bb1fbf68f777bd1e04e4b949e4e5172d9ee8c9419bc792"},
+ {file = "Cython-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d12591939af93c59defea6fc5320ca099eb44e4694e3b2cbe72fb24406079b97"},
+ {file = "Cython-3.0.3-cp39-cp39-win32.whl", hash = "sha256:9f40b27545d583fd7df0d3c1b76b3bcaf8a72dbd8d83d5486af2384015660de8"},
+ {file = "Cython-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:74ba0f11b384246b7965169f08bf67d426e4957fee5c165571340217a9b43cfc"},
+ {file = "Cython-3.0.3-py2.py3-none-any.whl", hash = "sha256:176953a8a2532e34a589625a40c934ff339088f2bf4ddaa2e5cb77b05ca0c25c"},
+ {file = "Cython-3.0.3.tar.gz", hash = "sha256:327309301b01f729f173a94511cb2280c87ba03c89ed428e88f913f778245030"},
+]
+
+[[package]]
name = "dnspython"
-version = "2.3.0"
+version = "2.4.2"
description = "DNS toolkit"
-category = "main"
optional = false
-python-versions = ">=3.7,<4.0"
+python-versions = ">=3.8,<4.0"
files = [
- {file = "dnspython-2.3.0-py3-none-any.whl", hash = "sha256:89141536394f909066cabd112e3e1a37e4e654db00a25308b0f130bc3152eb46"},
- {file = "dnspython-2.3.0.tar.gz", hash = "sha256:224e32b03eb46be70e12ef6d64e0be123a64e621ab4c0822ff6d450d52a540b9"},
+ {file = "dnspython-2.4.2-py3-none-any.whl", hash = "sha256:57c6fbaaeaaf39c891292012060beb141791735dbb4004798328fc2c467402d8"},
+ {file = "dnspython-2.4.2.tar.gz", hash = "sha256:8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984"},
]
[package.extras]
-curio = ["curio (>=1.2,<2.0)", "sniffio (>=1.1,<2.0)"]
-dnssec = ["cryptography (>=2.6,<40.0)"]
-doh = ["h2 (>=4.1.0)", "httpx (>=0.21.1)", "requests (>=2.23.0,<3.0.0)", "requests-toolbelt (>=0.9.1,<0.11.0)"]
+dnssec = ["cryptography (>=2.6,<42.0)"]
+doh = ["h2 (>=4.1.0)", "httpcore (>=0.17.3)", "httpx (>=0.24.1)"]
doq = ["aioquic (>=0.9.20)"]
idna = ["idna (>=2.1,<4.0)"]
trio = ["trio (>=0.14,<0.23)"]
@@ -347,7 +447,6 @@ wmi = ["wmi (>=1.5.1,<2.0.0)"]
name = "eventlet"
version = "0.33.3"
description = "Highly concurrent networking library"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -362,14 +461,13 @@ six = ">=1.10.0"
[[package]]
name = "exceptiongroup"
-version = "1.1.1"
+version = "1.1.3"
description = "Backport of PEP 654 (exception groups)"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "exceptiongroup-1.1.1-py3-none-any.whl", hash = "sha256:232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e"},
- {file = "exceptiongroup-1.1.1.tar.gz", hash = "sha256:d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785"},
+ {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"},
+ {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"},
]
[package.extras]
@@ -379,7 +477,6 @@ test = ["pytest (>=6)"]
name = "flask"
version = "2.3.2"
description = "A simple framework for building complex web applications."
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -401,25 +498,24 @@ dotenv = ["python-dotenv"]
[[package]]
name = "flask-compress"
-version = "1.13"
+version = "1.14"
description = "Compress responses in your Flask app with gzip, deflate or brotli."
-category = "main"
optional = false
python-versions = "*"
files = [
- {file = "Flask-Compress-1.13.tar.gz", hash = "sha256:ee96f18bf9b00f2deb4e3406ca4a05093aa80e2ef0578525a3b4d32ecdff129d"},
- {file = "Flask_Compress-1.13-py3-none-any.whl", hash = "sha256:1128f71fbd788393ce26830c51f8b5a1a7a4d085e79a21a5cddf4c057dcd559b"},
+ {file = "Flask-Compress-1.14.tar.gz", hash = "sha256:e46528f37b91857012be38e24e65db1a248662c3dc32ee7808b5986bf1d123ee"},
+ {file = "Flask_Compress-1.14-py3-none-any.whl", hash = "sha256:b86c9808f0f38ea2246c9730972cf978f2cdf6a9a1a69102ba81e07891e6b26c"},
]
[package.dependencies]
-brotli = "*"
+brotli = {version = "*", markers = "platform_python_implementation != \"PyPy\""}
+brotlicffi = {version = "*", markers = "platform_python_implementation == \"PyPy\""}
flask = "*"
[[package]]
name = "flask-socketio"
version = "5.3.4"
description = "Socket.IO integration for Flask applications"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -433,85 +529,73 @@ python-socketio = ">=5.0.2"
[[package]]
name = "gevent"
-version = "22.10.2"
+version = "23.9.1"
description = "Coroutine-based network library"
-category = "main"
optional = false
-python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5"
+python-versions = ">=3.8"
files = [
- {file = "gevent-22.10.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:97cd42382421779f5d82ec5007199e8a84aa288114975429e4fd0a98f2290f10"},
- {file = "gevent-22.10.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:1e1286a76f15b5e15f1e898731d50529e249529095a032453f2c101af3fde71c"},
- {file = "gevent-22.10.2-cp27-cp27m-win32.whl", hash = "sha256:59b47e81b399d49a5622f0f503c59f1ce57b7705306ea0196818951dfc2f36c8"},
- {file = "gevent-22.10.2-cp27-cp27m-win_amd64.whl", hash = "sha256:1d543c9407a1e4bca11a8932916988cfb16de00366de5bf7bc9e7a3f61e60b18"},
- {file = "gevent-22.10.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:4e2f008c82dc54ec94f4de12ca6feea60e419babb48ec145456907ae61625aa4"},
- {file = "gevent-22.10.2-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:990d7069f14dc40674e0d5cb43c68fd3bad8337048613b9bb94a0c4180ffc176"},
- {file = "gevent-22.10.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f23d0997149a816a2a9045af29c66f67f405a221745b34cefeac5769ed451db8"},
- {file = "gevent-22.10.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b43d500d7d3c0e03070dee813335bb5315215aa1cf6a04c61093dfdd718640b3"},
- {file = "gevent-22.10.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b68f4c9e20e47ad49fe797f37f91d5bbeace8765ce2707f979a8d4ec197e4d"},
- {file = "gevent-22.10.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1f001cac0ba8da76abfeb392a3057f81fab3d67cc916c7df8ea977a44a2cc989"},
- {file = "gevent-22.10.2-cp310-cp310-win_amd64.whl", hash = "sha256:3b7eae8a0653ba95a224faaddf629a913ace408edb67384d3117acf42d7dcf89"},
- {file = "gevent-22.10.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8f2477e7b0a903a01485c55bacf2089110e5f767014967ba4b287ff390ae2638"},
- {file = "gevent-22.10.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddaa3e310a8f1a45b5c42cf50b54c31003a3028e7d4e085059090ea0e7a5fddd"},
- {file = "gevent-22.10.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:98bc510e80f45486ef5b806a1c305e0e89f0430688c14984b0dbdec03331f48b"},
- {file = "gevent-22.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:877abdb3a669576b1d51ce6a49b7260b2a96f6b2424eb93287e779a3219d20ba"},
- {file = "gevent-22.10.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d21ad79cca234cdbfa249e727500b0ddcbc7adfff6614a96e6eaa49faca3e4f2"},
- {file = "gevent-22.10.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e955238f59b2947631c9782a713280dd75884e40e455313b5b6bbc20b92ff73"},
- {file = "gevent-22.10.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:5aa99e4882a9e909b4756ee799c6fa0f79eb0542779fad4cc60efa23ec1b2aa8"},
- {file = "gevent-22.10.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:d82081656a5b9a94d37c718c8646c757e1617e389cdc533ea5e6a6f0b8b78545"},
- {file = "gevent-22.10.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54f4bfd74c178351a4a05c5c7df6f8a0a279ff6f392b57608ce0e83c768207f9"},
- {file = "gevent-22.10.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ff3796692dff50fec2f381b9152438b221335f557c4f9b811f7ded51b7a25a1"},
- {file = "gevent-22.10.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f01c9adbcb605364694b11dcd0542ec468a29ac7aba2fb5665dc6caf17ba4d7e"},
- {file = "gevent-22.10.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:9d85574eb729f981fea9a78998725a06292d90a3ed50ddca74530c3148c0be41"},
- {file = "gevent-22.10.2-cp36-cp36m-win32.whl", hash = "sha256:8c192d2073e558e241f0b592c1e2b34127a4481a5be240cad4796533b88b1a98"},
- {file = "gevent-22.10.2-cp36-cp36m-win_amd64.whl", hash = "sha256:a2237451c721a0f874ef89dbb4af4fdc172b76a964befaa69deb15b8fff10f49"},
- {file = "gevent-22.10.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:53ee7f170ed42c7561fe8aff5d381dc9a4124694e70580d0c02fba6aafc0ea37"},
- {file = "gevent-22.10.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:96c56c280e3c43cfd075efd10b250350ed5ffd3c1514ec99a080b1b92d7c8374"},
- {file = "gevent-22.10.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6c144e08dfad4106effc043a026e5d0c0eff6ad031904c70bf5090c63f3a6a7"},
- {file = "gevent-22.10.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:018f93de7d5318d2fb440f846839a4464738468c3476d5c9cf7da45bb71c18bd"},
- {file = "gevent-22.10.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7ed2346eb9dc4344f9cb0d7963ce5b74fe16fdd031a2809bb6c2b6eba7ebcd5"},
- {file = "gevent-22.10.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:84c517e33ed604fa06b7d756dc0171169cc12f7fdd68eb7b17708a62eebf4516"},
- {file = "gevent-22.10.2-cp37-cp37m-win32.whl", hash = "sha256:4114f0f439f0b547bb6f1d474fee99ddb46736944ad2207cef3771828f6aa358"},
- {file = "gevent-22.10.2-cp37-cp37m-win_amd64.whl", hash = "sha256:0d581f22a5be6281b11ad6309b38b18f0638cf896931223cbaa5adb904826ef6"},
- {file = "gevent-22.10.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2929377c8ebfb6f4d868d161cd8de2ea6b9f6c7a5fcd4f78bcd537319c16190b"},
- {file = "gevent-22.10.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:efc003b6c1481165af61f0aeac248e0a9ac8d880bb3acbe469b448674b2d5281"},
- {file = "gevent-22.10.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db562a8519838bddad0c439a2b12246bab539dd50e299ea7ff3644274a33b6a5"},
- {file = "gevent-22.10.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1472012493ca1fac103f700d309cb6ef7964dcdb9c788d1768266e77712f5e49"},
- {file = "gevent-22.10.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c04ee32c11e9fcee47c1b431834878dc987a7a2cc4fe126ddcae3bad723ce89"},
- {file = "gevent-22.10.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8729129edef2637a8084258cb9ec4e4d5ca45d97ac77aa7a6ff19ccb530ab731"},
- {file = "gevent-22.10.2-cp38-cp38-win32.whl", hash = "sha256:ae90226074a6089371a95f20288431cd4b3f6b0b096856afd862e4ac9510cddd"},
- {file = "gevent-22.10.2-cp38-cp38-win_amd64.whl", hash = "sha256:494c7f29e94df9a1c3157d67bb7edfa32a46eed786e04d9ee68d39f375e30001"},
- {file = "gevent-22.10.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:58898dbabb5b11e4d0192aae165ad286dc6742c543e1be9d30dc82753547c508"},
- {file = "gevent-22.10.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:4197d423e198265eef39a0dea286ef389da9148e070310f34455ecee8172c391"},
- {file = "gevent-22.10.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da4183f0b9d9a1e25e1758099220d32c51cc2c6340ee0dea3fd236b2b37598e4"},
- {file = "gevent-22.10.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5488eba6a568b4d23c072113da4fc0feb1b5f5ede7381656dc913e0d82204e2"},
- {file = "gevent-22.10.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:319d8b1699b7b8134de66d656cd739b308ab9c45ace14d60ae44de7775b456c9"},
- {file = "gevent-22.10.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f3329bedbba4d3146ae58c667e0f9ac1e6f1e1e6340c7593976cdc60aa7d1a47"},
- {file = "gevent-22.10.2-cp39-cp39-win32.whl", hash = "sha256:172caa66273315f283e90a315921902cb6549762bdcb0587fd60cb712a9d6263"},
- {file = "gevent-22.10.2-cp39-cp39-win_amd64.whl", hash = "sha256:323b207b281ba0405fea042067fa1a61662e5ac0d574ede4ebbda03efd20c350"},
- {file = "gevent-22.10.2-pp27-pypy_73-win_amd64.whl", hash = "sha256:ed7f16613eebf892a6a744d7a4a8f345bc6f066a0ff3b413e2479f9c0a180193"},
- {file = "gevent-22.10.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:a47a4e77e2bc668856aad92a0b8de7ee10768258d93cd03968e6c7ba2e832f76"},
- {file = "gevent-22.10.2.tar.gz", hash = "sha256:1ca01da176ee37b3527a2702f7d40dbc9ffb8cfc7be5a03bfa4f9eec45e55c46"},
+ {file = "gevent-23.9.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:a3c5e9b1f766a7a64833334a18539a362fb563f6c4682f9634dea72cbe24f771"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b101086f109168b23fa3586fccd1133494bdb97f86920a24dc0b23984dc30b69"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36a549d632c14684bcbbd3014a6ce2666c5f2a500f34d58d32df6c9ea38b6535"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:272cffdf535978d59c38ed837916dfd2b5d193be1e9e5dcc60a5f4d5025dd98a"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcb8612787a7f4626aa881ff15ff25439561a429f5b303048f0fca8a1c781c39"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:d57737860bfc332b9b5aa438963986afe90f49645f6e053140cfa0fa1bdae1ae"},
+ {file = "gevent-23.9.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5f3c781c84794926d853d6fb58554dc0dcc800ba25c41d42f6959c344b4db5a6"},
+ {file = "gevent-23.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:dbb22a9bbd6a13e925815ce70b940d1578dbe5d4013f20d23e8a11eddf8d14a7"},
+ {file = "gevent-23.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:707904027d7130ff3e59ea387dddceedb133cc742b00b3ffe696d567147a9c9e"},
+ {file = "gevent-23.9.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:45792c45d60f6ce3d19651d7fde0bc13e01b56bb4db60d3f32ab7d9ec467374c"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e24c2af9638d6c989caffc691a039d7c7022a31c0363da367c0d32ceb4a0648"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e1ead6863e596a8cc2a03e26a7a0981f84b6b3e956101135ff6d02df4d9a6b07"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65883ac026731ac112184680d1f0f1e39fa6f4389fd1fc0bf46cc1388e2599f9"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf7af500da05363e66f122896012acb6e101a552682f2352b618e541c941a011"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:c3e5d2fa532e4d3450595244de8ccf51f5721a05088813c1abd93ad274fe15e7"},
+ {file = "gevent-23.9.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c84d34256c243b0a53d4335ef0bc76c735873986d478c53073861a92566a8d71"},
+ {file = "gevent-23.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ada07076b380918829250201df1d016bdafb3acf352f35e5693b59dceee8dd2e"},
+ {file = "gevent-23.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:921dda1c0b84e3d3b1778efa362d61ed29e2b215b90f81d498eb4d8eafcd0b7a"},
+ {file = "gevent-23.9.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:ed7a048d3e526a5c1d55c44cb3bc06cfdc1947d06d45006cc4cf60dedc628904"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c1abc6f25f475adc33e5fc2dbcc26a732608ac5375d0d306228738a9ae14d3b"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4368f341a5f51611411ec3fc62426f52ac3d6d42eaee9ed0f9eebe715c80184e"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:52b4abf28e837f1865a9bdeef58ff6afd07d1d888b70b6804557e7908032e599"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52e9f12cd1cda96603ce6b113d934f1aafb873e2c13182cf8e86d2c5c41982ea"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:de350fde10efa87ea60d742901e1053eb2127ebd8b59a7d3b90597eb4e586599"},
+ {file = "gevent-23.9.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fde6402c5432b835fbb7698f1c7f2809c8d6b2bd9d047ac1f5a7c1d5aa569303"},
+ {file = "gevent-23.9.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:dd6c32ab977ecf7c7b8c2611ed95fa4aaebd69b74bf08f4b4960ad516861517d"},
+ {file = "gevent-23.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:455e5ee8103f722b503fa45dedb04f3ffdec978c1524647f8ba72b4f08490af1"},
+ {file = "gevent-23.9.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:7ccf0fd378257cb77d91c116e15c99e533374a8153632c48a3ecae7f7f4f09fe"},
+ {file = "gevent-23.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d163d59f1be5a4c4efcdd13c2177baaf24aadf721fdf2e1af9ee54a998d160f5"},
+ {file = "gevent-23.9.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7532c17bc6c1cbac265e751b95000961715adef35a25d2b0b1813aa7263fb397"},
+ {file = "gevent-23.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:78eebaf5e73ff91d34df48f4e35581ab4c84e22dd5338ef32714264063c57507"},
+ {file = "gevent-23.9.1-cp38-cp38-win32.whl", hash = "sha256:f632487c87866094546a74eefbca2c74c1d03638b715b6feb12e80120960185a"},
+ {file = "gevent-23.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:62d121344f7465e3739989ad6b91f53a6ca9110518231553fe5846dbe1b4518f"},
+ {file = "gevent-23.9.1-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:bf456bd6b992eb0e1e869e2fd0caf817f0253e55ca7977fd0e72d0336a8c1c6a"},
+ {file = "gevent-23.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43daf68496c03a35287b8b617f9f91e0e7c0d042aebcc060cadc3f049aadd653"},
+ {file = "gevent-23.9.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:7c28e38dcde327c217fdafb9d5d17d3e772f636f35df15ffae2d933a5587addd"},
+ {file = "gevent-23.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:fae8d5b5b8fa2a8f63b39f5447168b02db10c888a3e387ed7af2bd1b8612e543"},
+ {file = "gevent-23.9.1-cp39-cp39-win32.whl", hash = "sha256:2c7b5c9912378e5f5ccf180d1fdb1e83f42b71823483066eddbe10ef1a2fcaa2"},
+ {file = "gevent-23.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:a2898b7048771917d85a1d548fd378e8a7b2ca963db8e17c6d90c76b495e0e2b"},
+ {file = "gevent-23.9.1.tar.gz", hash = "sha256:72c002235390d46f94938a96920d8856d4ffd9ddf62a303a0d7c118894097e34"},
]
[package.dependencies]
cffi = {version = ">=1.12.2", markers = "platform_python_implementation == \"CPython\" and sys_platform == \"win32\""}
-greenlet = {version = ">=2.0.0", markers = "platform_python_implementation == \"CPython\""}
-setuptools = "*"
+greenlet = [
+ {version = ">=2.0.0", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.11\""},
+ {version = ">=3.0rc3", markers = "platform_python_implementation == \"CPython\" and python_version >= \"3.11\""},
+]
"zope.event" = "*"
"zope.interface" = "*"
[package.extras]
dnspython = ["dnspython (>=1.16.0,<2.0)", "idna"]
-docs = ["repoze.sphinx.autointerface", "sphinxcontrib-programoutput", "zope.schema"]
+docs = ["furo", "repoze.sphinx.autointerface", "sphinx", "sphinxcontrib-programoutput", "zope.schema"]
monitor = ["psutil (>=5.7.0)"]
-recommended = ["backports.socketpair", "cffi (>=1.12.2)", "dnspython (>=1.16.0,<2.0)", "idna", "psutil (>=5.7.0)", "selectors2"]
-test = ["backports.socketpair", "cffi (>=1.12.2)", "contextvars (==2.4)", "coverage (>=5.0)", "coveralls (>=1.7.0)", "dnspython (>=1.16.0,<2.0)", "futures", "idna", "mock", "objgraph", "psutil (>=5.7.0)", "requests", "selectors2"]
+recommended = ["cffi (>=1.12.2)", "dnspython (>=1.16.0,<2.0)", "idna", "psutil (>=5.7.0)"]
+test = ["cffi (>=1.12.2)", "coverage (>=5.0)", "dnspython (>=1.16.0,<2.0)", "idna", "objgraph", "psutil (>=5.7.0)", "requests", "setuptools"]
[[package]]
name = "gevent-websocket"
version = "0.10.1"
description = "Websocket handler for the gevent pywsgi server, a Python network library"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -524,83 +608,94 @@ gevent = "*"
[[package]]
name = "greenlet"
-version = "2.0.2"
+version = "3.0.0"
description = "Lightweight in-process concurrent programming"
-category = "main"
optional = false
-python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
+python-versions = ">=3.7"
files = [
- {file = "greenlet-2.0.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:bdfea8c661e80d3c1c99ad7c3ff74e6e87184895bbaca6ee8cc61209f8b9b85d"},
- {file = "greenlet-2.0.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:9d14b83fab60d5e8abe587d51c75b252bcc21683f24699ada8fb275d7712f5a9"},
- {file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"},
- {file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"},
- {file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"},
- {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"},
- {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"},
- {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"},
- {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d75209eed723105f9596807495d58d10b3470fa6732dd6756595e89925ce2470"},
- {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3a51c9751078733d88e013587b108f1b7a1fb106d402fb390740f002b6f6551a"},
- {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"},
- {file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"},
- {file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"},
- {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"},
- {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"},
- {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"},
- {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:eff4eb9b7eb3e4d0cae3d28c283dc16d9bed6b193c2e1ace3ed86ce48ea8df19"},
- {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5454276c07d27a740c5892f4907c86327b632127dd9abec42ee62e12427ff7e3"},
- {file = "greenlet-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:7cafd1208fdbe93b67c7086876f061f660cfddc44f404279c1585bbf3cdc64c5"},
- {file = "greenlet-2.0.2-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:910841381caba4f744a44bf81bfd573c94e10b3045ee00de0cbf436fe50673a6"},
- {file = "greenlet-2.0.2-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:18a7f18b82b52ee85322d7a7874e676f34ab319b9f8cce5de06067384aa8ff43"},
- {file = "greenlet-2.0.2-cp35-cp35m-win32.whl", hash = "sha256:03a8f4f3430c3b3ff8d10a2a86028c660355ab637cee9333d63d66b56f09d52a"},
- {file = "greenlet-2.0.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4b58adb399c4d61d912c4c331984d60eb66565175cdf4a34792cd9600f21b394"},
- {file = "greenlet-2.0.2-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:703f18f3fda276b9a916f0934d2fb6d989bf0b4fb5a64825260eb9bfd52d78f0"},
- {file = "greenlet-2.0.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:32e5b64b148966d9cccc2c8d35a671409e45f195864560829f395a54226408d3"},
- {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dd11f291565a81d71dab10b7033395b7a3a5456e637cf997a6f33ebdf06f8db"},
- {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0f72c9ddb8cd28532185f54cc1453f2c16fb417a08b53a855c4e6a418edd099"},
- {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd021c754b162c0fb55ad5d6b9d960db667faad0fa2ff25bb6e1301b0b6e6a75"},
- {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:3c9b12575734155d0c09d6c3e10dbd81665d5c18e1a7c6597df72fd05990c8cf"},
- {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b9ec052b06a0524f0e35bd8790686a1da006bd911dd1ef7d50b77bfbad74e292"},
- {file = "greenlet-2.0.2-cp36-cp36m-win32.whl", hash = "sha256:dbfcfc0218093a19c252ca8eb9aee3d29cfdcb586df21049b9d777fd32c14fd9"},
- {file = "greenlet-2.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:9f35ec95538f50292f6d8f2c9c9f8a3c6540bbfec21c9e5b4b751e0a7c20864f"},
- {file = "greenlet-2.0.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:d5508f0b173e6aa47273bdc0a0b5ba055b59662ba7c7ee5119528f466585526b"},
- {file = "greenlet-2.0.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:f82d4d717d8ef19188687aa32b8363e96062911e63ba22a0cff7802a8e58e5f1"},
- {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9c59a2120b55788e800d82dfa99b9e156ff8f2227f07c5e3012a45a399620b7"},
- {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2780572ec463d44c1d3ae850239508dbeb9fed38e294c68d19a24d925d9223ca"},
- {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:937e9020b514ceedb9c830c55d5c9872abc90f4b5862f89c0887033ae33c6f73"},
- {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:36abbf031e1c0f79dd5d596bfaf8e921c41df2bdf54ee1eed921ce1f52999a86"},
- {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:18e98fb3de7dba1c0a852731c3070cf022d14f0d68b4c87a19cc1016f3bb8b33"},
- {file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"},
- {file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"},
- {file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"},
- {file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"},
- {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"},
- {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"},
- {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acd2162a36d3de67ee896c43effcd5ee3de247eb00354db411feb025aa319857"},
- {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0bf60faf0bc2468089bdc5edd10555bab6e85152191df713e2ab1fcc86382b5a"},
- {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"},
- {file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"},
- {file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"},
- {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"},
- {file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"},
- {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"},
- {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be4ed120b52ae4d974aa40215fcdfde9194d63541c7ded40ee12eb4dda57b76b"},
- {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94c817e84245513926588caf1152e3b559ff794d505555211ca041f032abbb6b"},
- {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1a819eef4b0e0b96bb0d98d797bef17dc1b4a10e8d7446be32d1da33e095dbb8"},
- {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7efde645ca1cc441d6dc4b48c0f7101e8d86b54c8530141b09fd31cef5149ec9"},
- {file = "greenlet-2.0.2-cp39-cp39-win32.whl", hash = "sha256:ea9872c80c132f4663822dd2a08d404073a5a9b5ba6155bea72fb2a79d1093b5"},
- {file = "greenlet-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:db1a39669102a1d8d12b57de2bb7e2ec9066a6f2b3da35ae511ff93b01b5d564"},
- {file = "greenlet-2.0.2.tar.gz", hash = "sha256:e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0"},
+ {file = "greenlet-3.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e09dea87cc91aea5500262993cbd484b41edf8af74f976719dd83fe724644cd6"},
+ {file = "greenlet-3.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f47932c434a3c8d3c86d865443fadc1fbf574e9b11d6650b656e602b1797908a"},
+ {file = "greenlet-3.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bdfaeecf8cc705d35d8e6de324bf58427d7eafb55f67050d8f28053a3d57118c"},
+ {file = "greenlet-3.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a68d670c8f89ff65c82b936275369e532772eebc027c3be68c6b87ad05ca695"},
+ {file = "greenlet-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38ad562a104cd41e9d4644f46ea37167b93190c6d5e4048fcc4b80d34ecb278f"},
+ {file = "greenlet-3.0.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:02a807b2a58d5cdebb07050efe3d7deaf915468d112dfcf5e426d0564aa3aa4a"},
+ {file = "greenlet-3.0.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b1660a15a446206c8545edc292ab5c48b91ff732f91b3d3b30d9a915d5ec4779"},
+ {file = "greenlet-3.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:813720bd57e193391dfe26f4871186cf460848b83df7e23e6bef698a7624b4c9"},
+ {file = "greenlet-3.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:aa15a2ec737cb609ed48902b45c5e4ff6044feb5dcdfcf6fa8482379190330d7"},
+ {file = "greenlet-3.0.0-cp310-universal2-macosx_11_0_x86_64.whl", hash = "sha256:7709fd7bb02b31908dc8fd35bfd0a29fc24681d5cc9ac1d64ad07f8d2b7db62f"},
+ {file = "greenlet-3.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:211ef8d174601b80e01436f4e6905aca341b15a566f35a10dd8d1e93f5dbb3b7"},
+ {file = "greenlet-3.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6512592cc49b2c6d9b19fbaa0312124cd4c4c8a90d28473f86f92685cc5fef8e"},
+ {file = "greenlet-3.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:871b0a8835f9e9d461b7fdaa1b57e3492dd45398e87324c047469ce2fc9f516c"},
+ {file = "greenlet-3.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b505fcfc26f4148551826a96f7317e02c400665fa0883fe505d4fcaab1dabfdd"},
+ {file = "greenlet-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:123910c58234a8d40eaab595bc56a5ae49bdd90122dde5bdc012c20595a94c14"},
+ {file = "greenlet-3.0.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:96d9ea57292f636ec851a9bb961a5cc0f9976900e16e5d5647f19aa36ba6366b"},
+ {file = "greenlet-3.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0b72b802496cccbd9b31acea72b6f87e7771ccfd7f7927437d592e5c92ed703c"},
+ {file = "greenlet-3.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:527cd90ba3d8d7ae7dceb06fda619895768a46a1b4e423bdb24c1969823b8362"},
+ {file = "greenlet-3.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:37f60b3a42d8b5499be910d1267b24355c495064f271cfe74bf28b17b099133c"},
+ {file = "greenlet-3.0.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1482fba7fbed96ea7842b5a7fc11d61727e8be75a077e603e8ab49d24e234383"},
+ {file = "greenlet-3.0.0-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:be557119bf467d37a8099d91fbf11b2de5eb1fd5fc5b91598407574848dc910f"},
+ {file = "greenlet-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73b2f1922a39d5d59cc0e597987300df3396b148a9bd10b76a058a2f2772fc04"},
+ {file = "greenlet-3.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d1e22c22f7826096ad503e9bb681b05b8c1f5a8138469b255eb91f26a76634f2"},
+ {file = "greenlet-3.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1d363666acc21d2c204dd8705c0e0457d7b2ee7a76cb16ffc099d6799744ac99"},
+ {file = "greenlet-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:334ef6ed8337bd0b58bb0ae4f7f2dcc84c9f116e474bb4ec250a8bb9bd797a66"},
+ {file = "greenlet-3.0.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6672fdde0fd1a60b44fb1751a7779c6db487e42b0cc65e7caa6aa686874e79fb"},
+ {file = "greenlet-3.0.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:952256c2bc5b4ee8df8dfc54fc4de330970bf5d79253c863fb5e6761f00dda35"},
+ {file = "greenlet-3.0.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:269d06fa0f9624455ce08ae0179430eea61085e3cf6457f05982b37fd2cefe17"},
+ {file = "greenlet-3.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:9adbd8ecf097e34ada8efde9b6fec4dd2a903b1e98037adf72d12993a1c80b51"},
+ {file = "greenlet-3.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6b5ce7f40f0e2f8b88c28e6691ca6806814157ff05e794cdd161be928550f4c"},
+ {file = "greenlet-3.0.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ecf94aa539e97a8411b5ea52fc6ccd8371be9550c4041011a091eb8b3ca1d810"},
+ {file = "greenlet-3.0.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80dcd3c938cbcac986c5c92779db8e8ce51a89a849c135172c88ecbdc8c056b7"},
+ {file = "greenlet-3.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e52a712c38e5fb4fd68e00dc3caf00b60cb65634d50e32281a9d6431b33b4af1"},
+ {file = "greenlet-3.0.0-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d5539f6da3418c3dc002739cb2bb8d169056aa66e0c83f6bacae0cd3ac26b423"},
+ {file = "greenlet-3.0.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:343675e0da2f3c69d3fb1e894ba0a1acf58f481f3b9372ce1eb465ef93cf6fed"},
+ {file = "greenlet-3.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:abe1ef3d780de56defd0c77c5ba95e152f4e4c4e12d7e11dd8447d338b85a625"},
+ {file = "greenlet-3.0.0-cp37-cp37m-win32.whl", hash = "sha256:e693e759e172fa1c2c90d35dea4acbdd1d609b6936115d3739148d5e4cd11947"},
+ {file = "greenlet-3.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:bdd696947cd695924aecb3870660b7545a19851f93b9d327ef8236bfc49be705"},
+ {file = "greenlet-3.0.0-cp37-universal2-macosx_11_0_x86_64.whl", hash = "sha256:cc3e2679ea13b4de79bdc44b25a0c4fcd5e94e21b8f290791744ac42d34a0353"},
+ {file = "greenlet-3.0.0-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:63acdc34c9cde42a6534518e32ce55c30f932b473c62c235a466469a710bfbf9"},
+ {file = "greenlet-3.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a1a6244ff96343e9994e37e5b4839f09a0207d35ef6134dce5c20d260d0302c"},
+ {file = "greenlet-3.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b822fab253ac0f330ee807e7485769e3ac85d5eef827ca224feaaefa462dc0d0"},
+ {file = "greenlet-3.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8060b32d8586e912a7b7dac2d15b28dbbd63a174ab32f5bc6d107a1c4143f40b"},
+ {file = "greenlet-3.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:621fcb346141ae08cb95424ebfc5b014361621b8132c48e538e34c3c93ac7365"},
+ {file = "greenlet-3.0.0-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6bb36985f606a7c49916eff74ab99399cdfd09241c375d5a820bb855dfb4af9f"},
+ {file = "greenlet-3.0.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:10b5582744abd9858947d163843d323d0b67be9432db50f8bf83031032bc218d"},
+ {file = "greenlet-3.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f351479a6914fd81a55c8e68963609f792d9b067fb8a60a042c585a621e0de4f"},
+ {file = "greenlet-3.0.0-cp38-cp38-win32.whl", hash = "sha256:9de687479faec7db5b198cc365bc34addd256b0028956501f4d4d5e9ca2e240a"},
+ {file = "greenlet-3.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:3fd2b18432e7298fcbec3d39e1a0aa91ae9ea1c93356ec089421fabc3651572b"},
+ {file = "greenlet-3.0.0-cp38-universal2-macosx_11_0_x86_64.whl", hash = "sha256:3c0d36f5adc6e6100aedbc976d7428a9f7194ea79911aa4bf471f44ee13a9464"},
+ {file = "greenlet-3.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4cd83fb8d8e17633ad534d9ac93719ef8937568d730ef07ac3a98cb520fd93e4"},
+ {file = "greenlet-3.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a5b2d4cdaf1c71057ff823a19d850ed5c6c2d3686cb71f73ae4d6382aaa7a06"},
+ {file = "greenlet-3.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e7dcdfad252f2ca83c685b0fa9fba00e4d8f243b73839229d56ee3d9d219314"},
+ {file = "greenlet-3.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c94e4e924d09b5a3e37b853fe5924a95eac058cb6f6fb437ebb588b7eda79870"},
+ {file = "greenlet-3.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad6fb737e46b8bd63156b8f59ba6cdef46fe2b7db0c5804388a2d0519b8ddb99"},
+ {file = "greenlet-3.0.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d55db1db455c59b46f794346efce896e754b8942817f46a1bada2d29446e305a"},
+ {file = "greenlet-3.0.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:56867a3b3cf26dc8a0beecdb4459c59f4c47cdd5424618c08515f682e1d46692"},
+ {file = "greenlet-3.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9a812224a5fb17a538207e8cf8e86f517df2080c8ee0f8c1ed2bdaccd18f38f4"},
+ {file = "greenlet-3.0.0-cp39-cp39-win32.whl", hash = "sha256:0d3f83ffb18dc57243e0151331e3c383b05e5b6c5029ac29f754745c800f8ed9"},
+ {file = "greenlet-3.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:831d6f35037cf18ca5e80a737a27d822d87cd922521d18ed3dbc8a6967be50ce"},
+ {file = "greenlet-3.0.0-cp39-universal2-macosx_11_0_x86_64.whl", hash = "sha256:a048293392d4e058298710a54dfaefcefdf49d287cd33fb1f7d63d55426e4355"},
+ {file = "greenlet-3.0.0.tar.gz", hash = "sha256:19834e3f91f485442adc1ee440171ec5d9a4840a1f7bd5ed97833544719ce10b"},
]
[package.extras]
-docs = ["Sphinx", "docutils (<0.18)"]
+docs = ["Sphinx"]
test = ["objgraph", "psutil"]
[[package]]
+name = "h11"
+version = "0.14.0"
+description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"},
+ {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"},
+]
+
+[[package]]
name = "idna"
version = "3.4"
description = "Internationalized Domain Names in Applications (IDNA)"
-category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -610,14 +705,13 @@ files = [
[[package]]
name = "importlib-metadata"
-version = "6.6.0"
+version = "6.8.0"
description = "Read metadata from Python packages"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "importlib_metadata-6.6.0-py3-none-any.whl", hash = "sha256:43dd286a2cd8995d5eaef7fee2066340423b818ed3fd70adf0bad5f1fac53fed"},
- {file = "importlib_metadata-6.6.0.tar.gz", hash = "sha256:92501cdf9cc66ebd3e612f1b4f0c0765dfa42f0fa38ffb319b6bd84dd675d705"},
+ {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"},
+ {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"},
]
[package.dependencies]
@@ -626,13 +720,12 @@ zipp = ">=0.5"
[package.extras]
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
perf = ["ipython"]
-testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"]
+testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
[[package]]
name = "iniconfig"
version = "2.0.0"
description = "brain-dead simple config-ini parsing"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -644,7 +737,6 @@ files = [
name = "itsdangerous"
version = "2.1.2"
description = "Safely pass data to untrusted environments and back."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -656,7 +748,6 @@ files = [
name = "jinja2"
version = "3.1.2"
description = "A very fast and expressive template engine."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -672,86 +763,93 @@ i18n = ["Babel (>=2.7)"]
[[package]]
name = "markupsafe"
-version = "2.1.2"
+version = "2.1.3"
description = "Safely add untrusted strings to HTML/XML markup."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"},
- {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"},
+ {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"},
]
[[package]]
name = "packaging"
-version = "23.1"
+version = "23.2"
description = "Core utilities for Python packages"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"},
- {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"},
+ {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"},
+ {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"},
]
[[package]]
name = "pluggy"
-version = "1.0.0"
+version = "1.3.0"
description = "plugin and hook calling mechanisms for python"
-category = "dev"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.8"
files = [
- {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"},
- {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"},
+ {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"},
+ {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"},
]
[package.extras]
@@ -760,26 +858,27 @@ testing = ["pytest", "pytest-benchmark"]
[[package]]
name = "psutil"
-version = "5.9.5"
+version = "5.9.6"
description = "Cross-platform lib for process and system monitoring in Python."
-category = "main"
optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
files = [
- {file = "psutil-5.9.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:be8929ce4313f9f8146caad4272f6abb8bf99fc6cf59344a3167ecd74f4f203f"},
- {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ab8ed1a1d77c95453db1ae00a3f9c50227ebd955437bcf2a574ba8adbf6a74d5"},
- {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:4aef137f3345082a3d3232187aeb4ac4ef959ba3d7c10c33dd73763fbc063da4"},
- {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:ea8518d152174e1249c4f2a1c89e3e6065941df2fa13a1ab45327716a23c2b48"},
- {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:acf2aef9391710afded549ff602b5887d7a2349831ae4c26be7c807c0a39fac4"},
- {file = "psutil-5.9.5-cp27-none-win32.whl", hash = "sha256:5b9b8cb93f507e8dbaf22af6a2fd0ccbe8244bf30b1baad6b3954e935157ae3f"},
- {file = "psutil-5.9.5-cp27-none-win_amd64.whl", hash = "sha256:8c5f7c5a052d1d567db4ddd231a9d27a74e8e4a9c3f44b1032762bd7b9fdcd42"},
- {file = "psutil-5.9.5-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:3c6f686f4225553615612f6d9bc21f1c0e305f75d7d8454f9b46e901778e7217"},
- {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a7dd9997128a0d928ed4fb2c2d57e5102bb6089027939f3b722f3a210f9a8da"},
- {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89518112647f1276b03ca97b65cc7f64ca587b1eb0278383017c2a0dcc26cbe4"},
- {file = "psutil-5.9.5-cp36-abi3-win32.whl", hash = "sha256:104a5cc0e31baa2bcf67900be36acde157756b9c44017b86b2c049f11957887d"},
- {file = "psutil-5.9.5-cp36-abi3-win_amd64.whl", hash = "sha256:b258c0c1c9d145a1d5ceffab1134441c4c5113b2417fafff7315a917a026c3c9"},
- {file = "psutil-5.9.5-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:c607bb3b57dc779d55e1554846352b4e358c10fff3abf3514a7a6601beebdb30"},
- {file = "psutil-5.9.5.tar.gz", hash = "sha256:5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c"},
+ {file = "psutil-5.9.6-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:fb8a697f11b0f5994550555fcfe3e69799e5b060c8ecf9e2f75c69302cc35c0d"},
+ {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:91ecd2d9c00db9817a4b4192107cf6954addb5d9d67a969a4f436dbc9200f88c"},
+ {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:10e8c17b4f898d64b121149afb136c53ea8b68c7531155147867b7b1ac9e7e28"},
+ {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:18cd22c5db486f33998f37e2bb054cc62fd06646995285e02a51b1e08da97017"},
+ {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:ca2780f5e038379e520281e4c032dddd086906ddff9ef0d1b9dcf00710e5071c"},
+ {file = "psutil-5.9.6-cp27-none-win32.whl", hash = "sha256:70cb3beb98bc3fd5ac9ac617a327af7e7f826373ee64c80efd4eb2856e5051e9"},
+ {file = "psutil-5.9.6-cp27-none-win_amd64.whl", hash = "sha256:51dc3d54607c73148f63732c727856f5febec1c7c336f8f41fcbd6315cce76ac"},
+ {file = "psutil-5.9.6-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c69596f9fc2f8acd574a12d5f8b7b1ba3765a641ea5d60fb4736bf3c08a8214a"},
+ {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92e0cc43c524834af53e9d3369245e6cc3b130e78e26100d1f63cdb0abeb3d3c"},
+ {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:748c9dd2583ed86347ed65d0035f45fa8c851e8d90354c122ab72319b5f366f4"},
+ {file = "psutil-5.9.6-cp36-cp36m-win32.whl", hash = "sha256:3ebf2158c16cc69db777e3c7decb3c0f43a7af94a60d72e87b2823aebac3d602"},
+ {file = "psutil-5.9.6-cp36-cp36m-win_amd64.whl", hash = "sha256:ff18b8d1a784b810df0b0fff3bcb50ab941c3b8e2c8de5726f9c71c601c611aa"},
+ {file = "psutil-5.9.6-cp37-abi3-win32.whl", hash = "sha256:a6f01f03bf1843280f4ad16f4bde26b817847b4c1a0db59bf6419807bc5ce05c"},
+ {file = "psutil-5.9.6-cp37-abi3-win_amd64.whl", hash = "sha256:6e5fb8dc711a514da83098bc5234264e551ad980cec5f85dabf4d38ed6f15e9a"},
+ {file = "psutil-5.9.6-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:daecbcbd29b289aac14ece28eca6a3e60aa361754cf6da3dfb20d4d32b6c7f57"},
+ {file = "psutil-5.9.6.tar.gz", hash = "sha256:e4b92ddcd7dd4cdd3f900180ea1e104932c7bce234fb88976e2a3b296441225a"},
]
[package.extras]
@@ -789,7 +888,6 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"]
name = "pycparser"
version = "2.21"
description = "C parser in Python"
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -801,7 +899,6 @@ files = [
name = "pynacl"
version = "1.5.0"
description = "Python binding to the Networking and Cryptography (NaCl) library"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -825,10 +922,20 @@ docs = ["sphinx (>=1.6.5)", "sphinx-rtd-theme"]
tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"]
[[package]]
+name = "pypng"
+version = "0.20220715.0"
+description = "Pure Python library for saving and loading PNG images"
+optional = false
+python-versions = "*"
+files = [
+ {file = "pypng-0.20220715.0-py3-none-any.whl", hash = "sha256:4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c"},
+ {file = "pypng-0.20220715.0.tar.gz", hash = "sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1"},
+]
+
+[[package]]
name = "pysocks"
version = "1.7.1"
description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information."
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -839,14 +946,13 @@ files = [
[[package]]
name = "pytest"
-version = "7.3.1"
+version = "7.4.2"
description = "pytest: simple powerful testing with Python"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "pytest-7.3.1-py3-none-any.whl", hash = "sha256:3799fa815351fea3a5e96ac7e503a96fa51cc9942c3753cda7651b93c1cfa362"},
- {file = "pytest-7.3.1.tar.gz", hash = "sha256:434afafd78b1d78ed0addf160ad2b77a30d35d4bdf8af234fe621919d9ed15e3"},
+ {file = "pytest-7.4.2-py3-none-any.whl", hash = "sha256:1d881c6124e08ff0a1bb75ba3ec0bfd8b5354a01c194ddd5a0a870a48d99b002"},
+ {file = "pytest-7.4.2.tar.gz", hash = "sha256:a766259cfab564a2ad52cb1aae1b881a75c3eb7e34ca3779697c23ed47c47069"},
]
[package.dependencies]
@@ -858,49 +964,74 @@ pluggy = ">=0.12,<2.0"
tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
[package.extras]
-testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"]
+testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"]
[[package]]
name = "python-engineio"
-version = "4.4.1"
+version = "4.8.0"
description = "Engine.IO server and client for Python"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
- {file = "python-engineio-4.4.1.tar.gz", hash = "sha256:eb3663ecb300195926b526386f712dff84cd092c818fb7b62eeeda9160120c29"},
- {file = "python_engineio-4.4.1-py3-none-any.whl", hash = "sha256:28ab67f94cba2e5f598cbb04428138fd6bb8b06d3478c939412da445f24f0773"},
+ {file = "python-engineio-4.8.0.tar.gz", hash = "sha256:2a32585d8fecd0118264fe0c39788670456ca9aa466d7c026d995cfff68af164"},
+ {file = "python_engineio-4.8.0-py3-none-any.whl", hash = "sha256:6055ce35b7f32b70641d53846faf76e06f2af0107a714cedb2750595c69ade43"},
]
+[package.dependencies]
+simple-websocket = ">=0.10.0"
+
[package.extras]
asyncio-client = ["aiohttp (>=3.4)"]
client = ["requests (>=2.21.0)", "websocket-client (>=0.54.0)"]
+docs = ["sphinx"]
[[package]]
name = "python-socketio"
-version = "5.8.0"
+version = "5.10.0"
description = "Socket.IO server and client for Python"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
- {file = "python-socketio-5.8.0.tar.gz", hash = "sha256:e714f4dddfaaa0cb0e37a1e2deef2bb60590a5b9fea9c343dd8ca5e688416fd9"},
- {file = "python_socketio-5.8.0-py3-none-any.whl", hash = "sha256:7adb8867aac1c2929b9c1429f1c02e12ca4c36b67c807967393e367dfbb01441"},
+ {file = "python-socketio-5.10.0.tar.gz", hash = "sha256:01c616946fa9f67ed5cc3d1568e1c4940acfc64aeeb9ff621a53e80cabeb748a"},
+ {file = "python_socketio-5.10.0-py3-none-any.whl", hash = "sha256:fb18d9b84cfb05289dc207b790c3de59cd242310d9b980b1c31e9faf4f79101a"},
]
[package.dependencies]
bidict = ">=0.21.0"
-python-engineio = ">=4.3.0"
+python-engineio = ">=4.8.0"
[package.extras]
asyncio-client = ["aiohttp (>=3.4)"]
client = ["requests (>=2.21.0)", "websocket-client (>=0.54.0)"]
+docs = ["sphinx"]
+
+[[package]]
+name = "qrcode"
+version = "7.4.2"
+description = "QR Code image generator"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "qrcode-7.4.2-py3-none-any.whl", hash = "sha256:581dca7a029bcb2deef5d01068e39093e80ef00b4a61098a2182eac59d01643a"},
+ {file = "qrcode-7.4.2.tar.gz", hash = "sha256:9dd969454827e127dbd93696b20747239e6d540e082937c90f14ac95b30f5845"},
+]
+
+[package.dependencies]
+colorama = {version = "*", markers = "platform_system == \"Windows\""}
+pypng = "*"
+typing-extensions = "*"
+
+[package.extras]
+all = ["pillow (>=9.1.0)", "pytest", "pytest-cov", "tox", "zest.releaser[recommended]"]
+dev = ["pytest", "pytest-cov", "tox"]
+maintainer = ["zest.releaser[recommended]"]
+pil = ["pillow (>=9.1.0)"]
+test = ["coverage", "pytest"]
[[package]]
name = "requests"
version = "2.31.0"
description = "Python HTTP for Humans."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -921,26 +1052,41 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
[[package]]
name = "setuptools"
-version = "67.8.0"
+version = "68.2.2"
description = "Easily download, build, install, upgrade, and uninstall Python packages"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
+files = [
+ {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"},
+ {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"},
+]
+
+[package.extras]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
+testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
+testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
+
+[[package]]
+name = "simple-websocket"
+version = "1.0.0"
+description = "Simple WebSocket server and client for Python"
+optional = false
+python-versions = ">=3.6"
files = [
- {file = "setuptools-67.8.0-py3-none-any.whl", hash = "sha256:5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f"},
- {file = "setuptools-67.8.0.tar.gz", hash = "sha256:62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102"},
+ {file = "simple-websocket-1.0.0.tar.gz", hash = "sha256:17d2c72f4a2bd85174a97e3e4c88b01c40c3f81b7b648b0cc3ce1305968928c8"},
+ {file = "simple_websocket-1.0.0-py3-none-any.whl", hash = "sha256:1d5bf585e415eaa2083e2bcf02a3ecf91f9712e7b3e6b9fa0b461ad04e0837bc"},
]
+[package.dependencies]
+wsproto = "*"
+
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
-testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
-testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
+docs = ["sphinx"]
[[package]]
name = "six"
version = "1.16.0"
description = "Python 2 and 3 compatibility utilities"
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
files = [
@@ -952,7 +1098,6 @@ files = [
name = "stem"
version = "1.8.1"
description = "Stem is a Python controller library that allows applications to interact with Tor (https://www.torproject.org/)."
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -963,7 +1108,6 @@ files = [
name = "tomli"
version = "2.0.1"
description = "A lil' TOML parser"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -972,27 +1116,36 @@ files = [
]
[[package]]
+name = "typing-extensions"
+version = "4.8.0"
+description = "Backported and Experimental Type Hints for Python 3.8+"
+optional = false
+python-versions = ">=3.8"
+files = [
+ {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"},
+ {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"},
+]
+
+[[package]]
name = "unidecode"
-version = "1.3.6"
+version = "1.3.7"
description = "ASCII transliterations of Unicode text"
-category = "main"
optional = false
python-versions = ">=3.5"
files = [
- {file = "Unidecode-1.3.6-py3-none-any.whl", hash = "sha256:547d7c479e4f377b430dd91ac1275d593308dce0fc464fb2ab7d41f82ec653be"},
- {file = "Unidecode-1.3.6.tar.gz", hash = "sha256:fed09cf0be8cf415b391642c2a5addfc72194407caee4f98719e40ec2a72b830"},
+ {file = "Unidecode-1.3.7-py3-none-any.whl", hash = "sha256:663a537f506834ed836af26a81b210d90cbde044c47bfbdc0fbbc9f94c86a6e4"},
+ {file = "Unidecode-1.3.7.tar.gz", hash = "sha256:3c90b4662aa0de0cb591884b934ead8d2225f1800d8da675a7750cbc3bd94610"},
]
[[package]]
name = "urllib3"
-version = "2.0.2"
+version = "2.0.7"
description = "HTTP library with thread-safe connection pooling, file post, and more."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "urllib3-2.0.2-py3-none-any.whl", hash = "sha256:d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"},
- {file = "urllib3-2.0.2.tar.gz", hash = "sha256:61717a1095d7e155cdb737ac7bb2f4324a858a1e2e6466f6d03ff630ca68d3cc"},
+ {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"},
+ {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"},
]
[package.extras]
@@ -1005,7 +1158,6 @@ zstd = ["zstandard (>=0.18.0)"]
name = "waitress"
version = "2.1.2"
description = "Waitress WSGI server"
-category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
@@ -1019,14 +1171,13 @@ testing = ["coverage (>=5.0)", "pytest", "pytest-cover"]
[[package]]
name = "werkzeug"
-version = "2.3.4"
+version = "3.0.0"
description = "The comprehensive WSGI web application library."
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
- {file = "Werkzeug-2.3.4-py3-none-any.whl", hash = "sha256:48e5e61472fee0ddee27ebad085614ebedb7af41e88f687aaf881afb723a162f"},
- {file = "Werkzeug-2.3.4.tar.gz", hash = "sha256:1d5a58e0377d1fe39d061a5de4469e414e78ccb1e1e59c0f5ad6fa1c36c52b76"},
+ {file = "werkzeug-3.0.0-py3-none-any.whl", hash = "sha256:cbb2600f7eabe51dbc0502f58be0b3e1b96b893b05695ea2b35b43d4de2d9962"},
+ {file = "werkzeug-3.0.0.tar.gz", hash = "sha256:3ffff4dcc32db52ef3cc94dff3000a3c2846890f3a5a51800a27b909c5e770f0"},
]
[package.dependencies]
@@ -1036,31 +1187,57 @@ MarkupSafe = ">=2.1.1"
watchdog = ["watchdog (>=2.3)"]
[[package]]
+name = "wheel"
+version = "0.41.2"
+description = "A built-package format for Python"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "wheel-0.41.2-py3-none-any.whl", hash = "sha256:75909db2664838d015e3d9139004ee16711748a52c8f336b52882266540215d8"},
+ {file = "wheel-0.41.2.tar.gz", hash = "sha256:0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985"},
+]
+
+[package.extras]
+test = ["pytest (>=6.0.0)", "setuptools (>=65)"]
+
+[[package]]
+name = "wsproto"
+version = "1.2.0"
+description = "WebSockets state-machine based protocol implementation"
+optional = false
+python-versions = ">=3.7.0"
+files = [
+ {file = "wsproto-1.2.0-py3-none-any.whl", hash = "sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736"},
+ {file = "wsproto-1.2.0.tar.gz", hash = "sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065"},
+]
+
+[package.dependencies]
+h11 = ">=0.9.0,<1"
+
+[[package]]
name = "zipp"
-version = "3.15.0"
+version = "3.17.0"
description = "Backport of pathlib-compatible object wrapper for zip files"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"},
- {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"},
+ {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"},
+ {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"},
]
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
+testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"]
[[package]]
name = "zope-event"
-version = "4.6"
+version = "5.0"
description = "Very basic event publishing system"
-category = "main"
optional = false
-python-versions = "*"
+python-versions = ">=3.7"
files = [
- {file = "zope.event-4.6-py2.py3-none-any.whl", hash = "sha256:73d9e3ef750cca14816a9c322c7250b0d7c9dbc337df5d1b807ff8d3d0b9e97c"},
- {file = "zope.event-4.6.tar.gz", hash = "sha256:81d98813046fc86cc4136e3698fee628a3282f9c320db18658c21749235fce80"},
+ {file = "zope.event-5.0-py3-none-any.whl", hash = "sha256:2832e95014f4db26c47a13fdaef84cef2f4df37e66b59d8f1f4a8f319a632c26"},
+ {file = "zope.event-5.0.tar.gz", hash = "sha256:bac440d8d9891b4068e2b5a2c5e2c9765a9df762944bda6955f96bb9b91e67cd"},
]
[package.dependencies]
@@ -1072,53 +1249,58 @@ test = ["zope.testrunner"]
[[package]]
name = "zope-interface"
-version = "6.0"
+version = "6.1"
description = "Interfaces for Python"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "zope.interface-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f299c020c6679cb389814a3b81200fe55d428012c5e76da7e722491f5d205990"},
- {file = "zope.interface-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ee4b43f35f5dc15e1fec55ccb53c130adb1d11e8ad8263d68b1284b66a04190d"},
- {file = "zope.interface-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a158846d0fca0a908c1afb281ddba88744d403f2550dc34405c3691769cdd85"},
- {file = "zope.interface-6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f72f23bab1848edb7472309e9898603141644faec9fd57a823ea6b4d1c4c8995"},
- {file = "zope.interface-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48f4d38cf4b462e75fac78b6f11ad47b06b1c568eb59896db5b6ec1094eb467f"},
- {file = "zope.interface-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:87b690bbee9876163210fd3f500ee59f5803e4a6607d1b1238833b8885ebd410"},
- {file = "zope.interface-6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f2363e5fd81afb650085c6686f2ee3706975c54f331b426800b53531191fdf28"},
- {file = "zope.interface-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:af169ba897692e9cd984a81cb0f02e46dacdc07d6cf9fd5c91e81f8efaf93d52"},
- {file = "zope.interface-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa90bac61c9dc3e1a563e5babb3fd2c0c1c80567e815442ddbe561eadc803b30"},
- {file = "zope.interface-6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:89086c9d3490a0f265a3c4b794037a84541ff5ffa28bb9c24cc9f66566968464"},
- {file = "zope.interface-6.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:809fe3bf1a91393abc7e92d607976bbb8586512913a79f2bf7d7ec15bd8ea518"},
- {file = "zope.interface-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:0ec9653825f837fbddc4e4b603d90269b501486c11800d7c761eee7ce46d1bbb"},
- {file = "zope.interface-6.0-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:790c1d9d8f9c92819c31ea660cd43c3d5451df1df61e2e814a6f99cebb292788"},
- {file = "zope.interface-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b39b8711578dcfd45fc0140993403b8a81e879ec25d53189f3faa1f006087dca"},
- {file = "zope.interface-6.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eba51599370c87088d8882ab74f637de0c4f04a6d08a312dce49368ba9ed5c2a"},
- {file = "zope.interface-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ee934f023f875ec2cfd2b05a937bd817efcc6c4c3f55c5778cbf78e58362ddc"},
- {file = "zope.interface-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:042f2381118b093714081fd82c98e3b189b68db38ee7d35b63c327c470ef8373"},
- {file = "zope.interface-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:dfbbbf0809a3606046a41f8561c3eada9db811be94138f42d9135a5c47e75f6f"},
- {file = "zope.interface-6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:424d23b97fa1542d7be882eae0c0fc3d6827784105264a8169a26ce16db260d8"},
- {file = "zope.interface-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e538f2d4a6ffb6edfb303ce70ae7e88629ac6e5581870e66c306d9ad7b564a58"},
- {file = "zope.interface-6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12175ca6b4db7621aedd7c30aa7cfa0a2d65ea3a0105393e05482d7a2d367446"},
- {file = "zope.interface-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c3d7dfd897a588ec27e391edbe3dd320a03684457470415870254e714126b1f"},
- {file = "zope.interface-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:b3f543ae9d3408549a9900720f18c0194ac0fe810cecda2a584fd4dca2eb3bb8"},
- {file = "zope.interface-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d0583b75f2e70ec93f100931660328965bb9ff65ae54695fb3fa0a1255daa6f2"},
- {file = "zope.interface-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:23ac41d52fd15dd8be77e3257bc51bbb82469cf7f5e9a30b75e903e21439d16c"},
- {file = "zope.interface-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99856d6c98a326abbcc2363827e16bd6044f70f2ef42f453c0bd5440c4ce24e5"},
- {file = "zope.interface-6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1592f68ae11e557b9ff2bc96ac8fc30b187e77c45a3c9cd876e3368c53dc5ba8"},
- {file = "zope.interface-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4407b1435572e3e1610797c9203ad2753666c62883b921318c5403fb7139dec2"},
- {file = "zope.interface-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:5171eb073474a5038321409a630904fd61f12dd1856dd7e9d19cd6fe092cbbc5"},
- {file = "zope.interface-6.0.tar.gz", hash = "sha256:aab584725afd10c710b8f1e6e208dbee2d0ad009f57d674cb9d1b3964037275d"},
+ {file = "zope.interface-6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:43b576c34ef0c1f5a4981163b551a8781896f2a37f71b8655fd20b5af0386abb"},
+ {file = "zope.interface-6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:67be3ca75012c6e9b109860820a8b6c9a84bfb036fbd1076246b98e56951ca92"},
+ {file = "zope.interface-6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b9bc671626281f6045ad61d93a60f52fd5e8209b1610972cf0ef1bbe6d808e3"},
+ {file = "zope.interface-6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbe81def9cf3e46f16ce01d9bfd8bea595e06505e51b7baf45115c77352675fd"},
+ {file = "zope.interface-6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dc998f6de015723196a904045e5a2217f3590b62ea31990672e31fbc5370b41"},
+ {file = "zope.interface-6.1-cp310-cp310-win_amd64.whl", hash = "sha256:239a4a08525c080ff833560171d23b249f7f4d17fcbf9316ef4159f44997616f"},
+ {file = "zope.interface-6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9ffdaa5290422ac0f1688cb8adb1b94ca56cee3ad11f29f2ae301df8aecba7d1"},
+ {file = "zope.interface-6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:34c15ca9248f2e095ef2e93af2d633358c5f048c49fbfddf5fdfc47d5e263736"},
+ {file = "zope.interface-6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b012d023b4fb59183909b45d7f97fb493ef7a46d2838a5e716e3155081894605"},
+ {file = "zope.interface-6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:97806e9ca3651588c1baaebb8d0c5ee3db95430b612db354c199b57378312ee8"},
+ {file = "zope.interface-6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fddbab55a2473f1d3b8833ec6b7ac31e8211b0aa608df5ab09ce07f3727326de"},
+ {file = "zope.interface-6.1-cp311-cp311-win_amd64.whl", hash = "sha256:a0da79117952a9a41253696ed3e8b560a425197d4e41634a23b1507efe3273f1"},
+ {file = "zope.interface-6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e8bb9c990ca9027b4214fa543fd4025818dc95f8b7abce79d61dc8a2112b561a"},
+ {file = "zope.interface-6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b51b64432eed4c0744241e9ce5c70dcfecac866dff720e746d0a9c82f371dfa7"},
+ {file = "zope.interface-6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa6fd016e9644406d0a61313e50348c706e911dca29736a3266fc9e28ec4ca6d"},
+ {file = "zope.interface-6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c8cf55261e15590065039696607f6c9c1aeda700ceee40c70478552d323b3ff"},
+ {file = "zope.interface-6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e30506bcb03de8983f78884807e4fd95d8db6e65b69257eea05d13d519b83ac0"},
+ {file = "zope.interface-6.1-cp312-cp312-win_amd64.whl", hash = "sha256:e33e86fd65f369f10608b08729c8f1c92ec7e0e485964670b4d2633a4812d36b"},
+ {file = "zope.interface-6.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:2f8d89721834524a813f37fa174bac074ec3d179858e4ad1b7efd4401f8ac45d"},
+ {file = "zope.interface-6.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:13b7d0f2a67eb83c385880489dbb80145e9d344427b4262c49fbf2581677c11c"},
+ {file = "zope.interface-6.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef43ee91c193f827e49599e824385ec7c7f3cd152d74cb1dfe02cb135f264d83"},
+ {file = "zope.interface-6.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e441e8b7d587af0414d25e8d05e27040d78581388eed4c54c30c0c91aad3a379"},
+ {file = "zope.interface-6.1-cp37-cp37m-win_amd64.whl", hash = "sha256:f89b28772fc2562ed9ad871c865f5320ef761a7fcc188a935e21fe8b31a38ca9"},
+ {file = "zope.interface-6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70d2cef1bf529bff41559be2de9d44d47b002f65e17f43c73ddefc92f32bf00f"},
+ {file = "zope.interface-6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ad54ed57bdfa3254d23ae04a4b1ce405954969c1b0550cc2d1d2990e8b439de1"},
+ {file = "zope.interface-6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef467d86d3cfde8b39ea1b35090208b0447caaabd38405420830f7fd85fbdd56"},
+ {file = "zope.interface-6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6af47f10cfc54c2ba2d825220f180cc1e2d4914d783d6fc0cd93d43d7bc1c78b"},
+ {file = "zope.interface-6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9559138690e1bd4ea6cd0954d22d1e9251e8025ce9ede5d0af0ceae4a401e43"},
+ {file = "zope.interface-6.1-cp38-cp38-win_amd64.whl", hash = "sha256:964a7af27379ff4357dad1256d9f215047e70e93009e532d36dcb8909036033d"},
+ {file = "zope.interface-6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:387545206c56b0315fbadb0431d5129c797f92dc59e276b3ce82db07ac1c6179"},
+ {file = "zope.interface-6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:57d0a8ce40ce440f96a2c77824ee94bf0d0925e6089df7366c2272ccefcb7941"},
+ {file = "zope.interface-6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ebc4d34e7620c4f0da7bf162c81978fce0ea820e4fa1e8fc40ee763839805f3"},
+ {file = "zope.interface-6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a804abc126b33824a44a7aa94f06cd211a18bbf31898ba04bd0924fbe9d282d"},
+ {file = "zope.interface-6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f294a15f7723fc0d3b40701ca9b446133ec713eafc1cc6afa7b3d98666ee1ac"},
+ {file = "zope.interface-6.1-cp39-cp39-win_amd64.whl", hash = "sha256:a41f87bb93b8048fe866fa9e3d0c51e27fe55149035dcf5f43da4b56732c0a40"},
+ {file = "zope.interface-6.1.tar.gz", hash = "sha256:2fdc7ccbd6eb6b7df5353012fbed6c3c5d04ceaca0038f75e601060e95345309"},
]
[package.dependencies]
setuptools = "*"
[package.extras]
-docs = ["Sphinx", "repoze.sphinx.autointerface"]
+docs = ["Sphinx", "repoze.sphinx.autointerface", "sphinx-rtd-theme"]
test = ["coverage (>=5.0.3)", "zope.event", "zope.testing"]
testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"]
[metadata]
lock-version = "2.0"
python-versions = ">=3.8,<3.12"
-content-hash = "a66690a27977b5b8f8798846ff8a243639e7c425c38cd3426af646469ea5e5e3" \ No newline at end of file
+content-hash = "3fd881193c3fa5149c4141ca0d85619b763225c312d4e35d46fdd5a317ec209f"
diff --git a/cli/pyproject.toml b/cli/pyproject.toml
index f6ff9c94..5b458aae 100644
--- a/cli/pyproject.toml
+++ b/cli/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "onionshare_cli"
-version = "2.6.1"
+version = "2.6.1.dev1"
description = "OnionShare lets you securely and anonymously send and receive files. It works by starting a web server, making it accessible as a Tor onion service, and generating an unguessable web address so others can download files from you, or upload files to you. It does _not_ require setting up a separate server or using a third party file-sharing service."
authors = ["Micah Lee <micah@micahflee.com>"]
license = "GPLv3+"
@@ -34,6 +34,12 @@ gevent-websocket = "*"
stem = "1.8.1"
waitress = "^2.1.2"
werkzeug = ">=2.3.4"
+packaging = "^23.1"
+gevent = "^23.9.1"
+wheel = "^0.41.2"
+cffi = "^1.15.1"
+cython = "^3.0.2"
+qrcode = "^7.4.2"
[tool.poetry.dev-dependencies]
pytest = ">=7.2.0"
diff --git a/desktop/README.md b/desktop/README.md
index c1e869ab..88835c27 100644
--- a/desktop/README.md
+++ b/desktop/README.md
@@ -9,7 +9,7 @@ git clone https://github.com/onionshare/onionshare.git
cd onionshare/desktop
```
-Make sure you have Python 3 installed. If you're using Windows or macOS, install the latest version of 3.10 [from python.org](https://www.python.org/downloads/). For Windows, make sure to check the box to add python to the path on the first page of the installer.
+Make sure you have Python 3 installed. If you're using Windows or macOS, install the latest version of 3.11 [from python.org](https://www.python.org/downloads/). For Windows, make sure to check the box to add python to the path on the first page of the installer.
Make sure you have [poetry](https://python-poetry.org/) installed:
@@ -27,13 +27,15 @@ poetry install
### Get Tor
-**Linux users:** In Ubuntu you may need the `libxcb-xinerama0` package installed.
+**Linux users:**
+- On Debian/Debian-based distributions you may need the `libxcb-xinerama0` and `libxcb-cursor0` packages installed.
+- On Fedora/CentOS you may need the `libxcb-*` and `xcb-util-*` packages installed.
**Windows users:**
-- Download and install 7-Zip (x64) from https://7-zip.org/download.html. [Add](https://medium.com/@kevinmarkvi/how-to-add-executables-togit fethc-your-path-in-windows-5ffa4ce61a53) `C:\Program Files\7-Zip` to your path.
-- Download and install gpg4win from https://gpg4win.org/. Add `C:\Program Files (x86)\GnuPG\bin` to your path too.
+- Download and install [7-Zip (x64)](https://7-zip.org/). Add `C:\Program Files\7-Zip` to your path.
+- Download and install [gpg4win](https://gpg4win.org/). Add `C:\Program Files (x86)\GnuPG\bin` to your path.
-Download Tor Browser and extract the binaries for your platform. The platform must be `win64`, `macos`, or `linux64`.
+Download Tor Browser and extract the binaries for your platform. The platform must be `win64`, `macos`, or `linux-x86_64`.
```sh
poetry run python ./scripts/get-tor.py [platform]
diff --git a/desktop/onionshare/__init__.py b/desktop/onionshare/__init__.py
index 537e3802..72491e7f 100644
--- a/desktop/onionshare/__init__.py
+++ b/desktop/onionshare/__init__.py
@@ -144,10 +144,6 @@ def main():
common = Common()
common.display_banner()
- # Required for macOS Big Sur: https://stackoverflow.com/a/64878899
- if common.platform == "Darwin":
- os.environ["QT_MAC_WANTS_LAYER"] = "1"
-
# Start the Qt app
global qtapp
qtapp = Application(common)
diff --git a/desktop/onionshare/gui_common.py b/desktop/onionshare/gui_common.py
index e3d712f5..fcbf47f7 100644
--- a/desktop/onionshare/gui_common.py
+++ b/desktop/onionshare/gui_common.py
@@ -471,6 +471,10 @@ class GuiCommon:
QPushButton {
padding: 5px 10px;
}""",
+ "receive_options": """
+ QCheckBox:disabled {
+ color: #666666;
+ }""",
# Tor Settings dialogs
"tor_settings_error": """
QLabel {
diff --git a/desktop/onionshare/resources/countries/af.json b/desktop/onionshare/resources/countries/af.json
new file mode 100644
index 00000000..4d80c659
--- /dev/null
+++ b/desktop/onionshare/resources/countries/af.json
@@ -0,0 +1 @@
+{"AF": "Afganistan", "AX": "\u00c5landeilande", "AL": "Albani\u00eb", "DZ": "Algeri\u00eb", "AS": "Amerikaanse Samoa", "AD": "Andorra", "AO": "Angola", "AI": "Anguilla", "AQ": "Antarktika", "AG": "Antigua en Barbuda", "AR": "Argentini\u00eb", "AM": "Armeni\u00eb", "AW": "Aruba", "AU": "Australi\u00eb", "AZ": "Azerbeidjan", "BS": "Bahamas", "BH": "Bahrein", "BD": "Bangladesj", "BB": "Barbados", "BY": "Belarus", "BE": "Belgi\u00eb", "BZ": "Belize", "BJ": "Benin", "BM": "Bermuda", "BT": "Bhoetan", "BO": "Bolivi\u00eb", "BA": "Bosni\u00eb en Herzegowina", "BW": "Botswana", "BV": "Bouvet-eiland", "BR": "Brasili\u00eb", "IO": "Brits-Indiese Oseaangebied", "VG": "Britse Maagde-eilande", "BN": "Broenei", "BG": "Bulgarye", "BF": "Burkina Faso", "BI": "Burundi", "CL": "Chili", "CO": "Colombi\u00eb", "KM": "Comore", "CK": "Cookeilande", "CR": "Costa Rica", "CW": "Cura\u00e7ao", "CD": "Demokratiese Republiek van die Kongo", "DK": "Denemarke", "DJ": "Djiboeti", "DM": "Dominica", "DO": "Dominikaanse Republiek", "DE": "Duitsland", "EC": "Ecuador", "EG": "Egipte", "IM": "Eiland Man", "GQ": "Ekwatoriaal-Guinee", "SV": "El Salvador", "ER": "Eritrea", "EE": "Estland", "SZ": "Eswatini", "ET": "Ethiopi\u00eb", "FK": "Falklandeilande", "FO": "Faro\u00ebreilande", "FJ": "Fidji", "PH": "Filippyne", "FI": "Finland", "FR": "Frankryk", "GF": "Frans-Guyana", "PF": "Frans-Polinesi\u00eb", "TF": "Franse Suidelike Gebiede", "GA": "Gaboen", "GM": "Gambi\u00eb", "GE": "Georgi\u00eb", "GH": "Ghana", "GI": "Gibraltar", "GD": "Grenada", "GR": "Griekeland", "GL": "Groenland", "GP": "Guadeloupe", "GU": "Guam", "GT": "Guatemala", "GG": "Guernsey", "GN": "Guinee", "GW": "Guinee-Bissau", "GY": "Guyana", "HT": "Ha\u00efti", "HM": "Heardeiland en McDonaldeilande", "HN": "Honduras", "HU": "Hongarye", "HK": "Hongkong SAS Sjina", "IE": "Ierland", "IN": "Indi\u00eb", "ID": "Indonesi\u00eb", "IQ": "Irak", "IR": "Iran", "IL": "Israel", "IT": "Itali\u00eb", "CI": "Ivoorkus", "JM": "Jamaika", "JP": "Japan", "YE": "Jemen", "JO": "Jordani\u00eb", "KY": "Kaaimanseilande", "CV": "Kaap Verde", "KH": "Kambodja", "CM": "Kameroen", "CA": "Kanada", "BQ": "Karibiese Nederland", "QA": "Katar", "KZ": "Kazakstan", "KE": "Kenia", "CX": "Kerseiland", "KG": "Kirgistan", "KI": "Kiribati", "KW": "Koeweit", "CC": "Kokoseilande", "CG": "Kongo - Brazzaville", "HR": "Kroasi\u00eb", "CU": "Kuba", "LA": "Laos", "LS": "Lesotho", "LV": "Letland", "LB": "Libanon", "LR": "Liberi\u00eb", "LY": "Libi\u00eb", "LI": "Liechtenstein", "LT": "Litaue", "LU": "Luxemburg", "MO": "Macau SAS Sjina", "MG": "Madagaskar", "MW": "Malawi", "MV": "Maledive", "MY": "Maleisi\u00eb", "ML": "Mali", "MT": "Malta", "MA": "Marokko", "MQ": "Martinique", "MR": "Mauritani\u00eb", "MU": "Mauritius", "YT": "Mayotte", "MX": "Meksiko", "MM": "Mianmar (Birma)", "MD": "Moldowa", "MC": "Monaco", "MN": "Mongoli\u00eb", "ME": "Montenegro", "MS": "Montserrat", "MZ": "Mosambiek", "NA": "Namibi\u00eb", "NR": "Nauru", "NL": "Nederland", "NP": "Nepal", "NI": "Nicaragua", "NC": "Nieu-Kaledoni\u00eb", "NZ": "Nieu-Seeland", "NE": "Niger", "NG": "Nigeri\u00eb", "NU": "Niue", "KP": "Noord-Korea", "MK": "Noord-Macedoni\u00eb", "NO": "Noorwe\u00eb", "NF": "Norfolkeiland", "UA": "Oekra\u00efne", "UZ": "Oesbekistan", "OM": "Oman", "TL": "Oos-Timor", "AT": "Oostenryk", "PK": "Pakistan", "PW": "Palau", "PA": "Panama", "PG": "Papoea-Nieu-Guinee", "PY": "Paraguay", "PE": "Peru", "PN": "Pitcairneilande", "PL": "Pole", "PT": "Portugal", "PR": "Puerto Rico", "RE": "R\u00e9union", "RO": "Roemeni\u00eb", "RU": "Rusland", "RW": "Rwanda", "SB": "Salomonseilande", "WS": "Samoa", "SM": "San Marino", "ST": "S\u00e3o Tom\u00e9 en Pr\u00edncipe", "SA": "Saoedi-Arabi\u00eb", "SN": "Senegal", "CF": "Sentraal-Afrikaanse Republiek", "RS": "Serwi\u00eb", "SC": "Seychelle", "SL": "Sierra Leone", "SG": "Singapoer", "BL": "Sint Barth\u00e9lemy", "SH": "Sint Helena", "KN": "Sint Kitts en Nevis", "LC": "Sint Lucia", "SX": "Sint Maarten", "MF": "Sint Martin", "PM": "Sint Pierre en Miquelon", "VC": "Sint Vincent en die Grenadine", "CY": "Siprus", "SY": "Siri\u00eb", "CN": "Sjina", "SK": "Slowakye", "SI": "Sloweni\u00eb", "SD": "Soedan", "SO": "Somali\u00eb", "ES": "Spanje", "LK": "Sri Lanka", "ZA": "Suid-Afrika", "GS": "Suid-Georgi\u00eb en die Suidelike Sandwicheilande", "KR": "Suid-Korea", "SS": "Suid-Soedan", "SR": "Suriname", "SJ": "Svalbard en Jan Mayen", "SE": "Swede", "CH": "Switserland", "TJ": "Tadjikistan", "TW": "Taiwan", "TZ": "Tanzani\u00eb", "TH": "Thailand", "TG": "Togo", "TK": "Tokelau", "TO": "Tonga", "TT": "Trinidad en Tobago", "TD": "Tsjad", "CZ": "Tsjeggi\u00eb", "TN": "Tunisi\u00eb", "TM": "Turkmenistan", "TC": "Turks- en Caicoseilande", "TR": "Turkye", "UG": "Uganda", "UY": "Uruguay", "VU": "Vanuatu", "VA": "Vatikaanstad", "VE": "Venezuela", "AE": "Verenigde Arabiese Emirate", "GB": "Verenigde Koninkryk", "US": "Verenigde State van Amerika", "VN": "Vi\u00ebtnam", "VI": "VSA se Maagde-eilande", "WF": "Wallis en Futuna", "EH": "Wes-Sahara", "IS": "Ysland", "ZM": "Zambi\u00eb", "ZW": "Zimbabwe"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/be.json b/desktop/onionshare/resources/countries/be.json
new file mode 100644
index 00000000..7e7c49a0
--- /dev/null
+++ b/desktop/onionshare/resources/countries/be.json
@@ -0,0 +1 @@
+{"AE": "\u0410\u0431\u2019\u044f\u0434\u043d\u0430\u043d\u044b\u044f \u0410\u0440\u0430\u0431\u0441\u043a\u0456\u044f \u042d\u043c\u0456\u0440\u0430\u0442\u044b", "AZ": "\u0410\u0437\u0435\u0440\u0431\u0430\u0439\u0434\u0436\u0430\u043d", "AX": "\u0410\u043b\u0430\u043d\u0434\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "AL": "\u0410\u043b\u0431\u0430\u043d\u0456\u044f", "DZ": "\u0410\u043b\u0436\u044b\u0440", "OM": "\u0410\u043c\u0430\u043d", "AS": "\u0410\u043c\u0435\u0440\u044b\u043a\u0430\u043d\u0441\u043a\u0430\u0435 \u0421\u0430\u043c\u043e\u0430", "VI": "\u0410\u043c\u0435\u0440\u044b\u043a\u0430\u043d\u0441\u043a\u0456\u044f \u0412\u0456\u0440\u0433\u0456\u043d\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "AI": "\u0410\u043d\u0433\u0456\u043b\u044c\u044f", "AO": "\u0410\u043d\u0433\u043e\u043b\u0430", "AD": "\u0410\u043d\u0434\u043e\u0440\u0430", "AQ": "\u0410\u043d\u0442\u0430\u0440\u043a\u0442\u044b\u043a\u0430", "AG": "\u0410\u043d\u0442\u044b\u0433\u0443\u0430 \u0456 \u0411\u0430\u0440\u0431\u0443\u0434\u0430", "AR": "\u0410\u0440\u0433\u0435\u043d\u0446\u0456\u043d\u0430", "AM": "\u0410\u0440\u043c\u0435\u043d\u0456\u044f", "AW": "\u0410\u0440\u0443\u0431\u0430", "CK": "\u0410\u0441\u0442\u0440\u0430\u0432\u044b \u041a\u0443\u043a\u0430", "PN": "\u0410\u0441\u0442\u0440\u0430\u0432\u044b \u041f\u0456\u0442\u043a\u044d\u0440\u043d", "HM": "\u0410\u0441\u0442\u0440\u0430\u0432\u044b \u0425\u0435\u0440\u0434 \u0456 \u041c\u0430\u043a\u0434\u043e\u043d\u0430\u043b\u044c\u0434", "TC": "\u0410\u0441\u0442\u0440\u0430\u0432\u044b \u0426\u0451\u0440\u043a\u0441 \u0456 \u041a\u0430\u0439\u043a\u0430\u0441", "AU": "\u0410\u045e\u0441\u0442\u0440\u0430\u043b\u0456\u044f", "AT": "\u0410\u045e\u0441\u0442\u0440\u044b\u044f", "AF": "\u0410\u0444\u0433\u0430\u043d\u0456\u0441\u0442\u0430\u043d", "BS": "\u0411\u0430\u0433\u0430\u043c\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "BG": "\u0411\u0430\u043b\u0433\u0430\u0440\u044b\u044f", "BO": "\u0411\u0430\u043b\u0456\u0432\u0456\u044f", "BD": "\u0411\u0430\u043d\u0433\u043b\u0430\u0434\u044d\u0448", "BB": "\u0411\u0430\u0440\u0431\u0430\u0434\u0430\u0441", "BW": "\u0411\u0430\u0442\u0441\u0432\u0430\u043d\u0430", "BH": "\u0411\u0430\u0445\u0440\u044d\u0439\u043d", "BY": "\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u044c", "BZ": "\u0411\u0435\u043b\u0456\u0437", "BE": "\u0411\u0435\u043b\u044c\u0433\u0456\u044f", "BJ": "\u0411\u0435\u043d\u0456\u043d", "BM": "\u0411\u0435\u0440\u043c\u0443\u0434\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "BA": "\u0411\u043e\u0441\u043d\u0456\u044f \u0456 \u0413\u0435\u0440\u0446\u0430\u0433\u0430\u0432\u0456\u043d\u0430", "BR": "\u0411\u0440\u0430\u0437\u0456\u043b\u0456\u044f", "BN": "\u0411\u0440\u0443\u043d\u0435\u0439", "IO": "\u0411\u0440\u044b\u0442\u0430\u043d\u0441\u043a\u0430\u044f \u0442\u044d\u0440\u044b\u0442\u043e\u0440\u044b\u044f \u045e \u0406\u043d\u0434\u044b\u0439\u0441\u043a\u0456\u043c \u0430\u043a\u0456\u044f\u043d\u0435", "VG": "\u0411\u0440\u044b\u0442\u0430\u043d\u0441\u043a\u0456\u044f \u0412\u0456\u0440\u0433\u0456\u043d\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "BF": "\u0411\u0443\u0440\u043a\u0456\u043d\u0430-\u0424\u0430\u0441\u043e", "BI": "\u0411\u0443\u0440\u0443\u043d\u0434\u0437\u0456", "BT": "\u0411\u0443\u0442\u0430\u043d", "VN": "\u0412\u2019\u0435\u0442\u043d\u0430\u043c", "VU": "\u0412\u0430\u043d\u0443\u0430\u0442\u0443", "VA": "\u0412\u0430\u0442\u044b\u043a\u0430\u043d", "HU": "\u0412\u0435\u043d\u0433\u0440\u044b\u044f", "VE": "\u0412\u0435\u043d\u0435\u0441\u0443\u044d\u043b\u0430", "BV": "\u0412\u043e\u0441\u0442\u0440\u0430\u045e \u0411\u0443\u0432\u044d", "CX": "\u0412\u043e\u0441\u0442\u0440\u0430\u045e \u041a\u0430\u043b\u044f\u0434", "IM": "\u0412\u043e\u0441\u0442\u0440\u0430\u045e \u041c\u044d\u043d", "NF": "\u0412\u043e\u0441\u0442\u0440\u0430\u045e \u041d\u043e\u0440\u0444\u0430\u043b\u043a", "SH": "\u0412\u043e\u0441\u0442\u0440\u0430\u045e \u0421\u0432\u044f\u0442\u043e\u0439 \u0410\u043b\u0435\u043d\u044b", "GB": "\u0412\u044f\u043b\u0456\u043a\u0430\u0431\u0440\u044b\u0442\u0430\u043d\u0456\u044f", "GA": "\u0413\u0430\u0431\u043e\u043d", "HT": "\u0413\u0430\u0456\u0446\u0456", "GM": "\u0413\u0430\u043c\u0431\u0456\u044f", "GH": "\u0413\u0430\u043d\u0430", "HN": "\u0413\u0430\u043d\u0434\u0443\u0440\u0430\u0441", "HK": "\u0413\u0430\u043d\u043a\u043e\u043d\u0433, \u0421\u0410\u0420 (\u041a\u0456\u0442\u0430\u0439)", "GY": "\u0413\u0430\u044f\u043d\u0430", "GP": "\u0413\u0432\u0430\u0434\u044d\u043b\u0443\u043f\u0430", "GT": "\u0413\u0432\u0430\u0442\u044d\u043c\u0430\u043b\u0430", "GN": "\u0413\u0432\u0456\u043d\u0435\u044f", "GW": "\u0413\u0432\u0456\u043d\u0435\u044f-\u0411\u0456\u0441\u0430\u0443", "DE": "\u0413\u0435\u0440\u043c\u0430\u043d\u0456\u044f", "GG": "\u0413\u0435\u0440\u043d\u0441\u0456", "GI": "\u0413\u0456\u0431\u0440\u0430\u043b\u0442\u0430\u0440", "GE": "\u0413\u0440\u0443\u0437\u0456\u044f", "GD": "\u0413\u0440\u044d\u043d\u0430\u0434\u0430", "GL": "\u0413\u0440\u044d\u043d\u043b\u0430\u043d\u0434\u044b\u044f", "GR": "\u0413\u0440\u044d\u0446\u044b\u044f", "GU": "\u0413\u0443\u0430\u043c", "DM": "\u0414\u0430\u043c\u0456\u043d\u0456\u043a\u0430", "DO": "\u0414\u0430\u043c\u0456\u043d\u0456\u043a\u0430\u043d\u0441\u043a\u0430\u044f \u0420\u044d\u0441\u043f\u0443\u0431\u043b\u0456\u043a\u0430", "DK": "\u0414\u0430\u043d\u0456\u044f", "DJ": "\u0414\u0436\u044b\u0431\u0443\u0446\u0456", "EG": "\u0415\u0433\u0456\u043f\u0435\u0442", "YE": "\u0415\u043c\u0435\u043d", "ZM": "\u0417\u0430\u043c\u0431\u0456\u044f", "EH": "\u0417\u0430\u0445\u043e\u0434\u043d\u044f\u044f \u0421\u0430\u0445\u0430\u0440\u0430", "ZW": "\u0417\u0456\u043c\u0431\u0430\u0431\u0432\u044d", "US": "\u0417\u043b\u0443\u0447\u0430\u043d\u044b\u044f \u0428\u0442\u0430\u0442\u044b", "JO": "\u0406\u0430\u0440\u0434\u0430\u043d\u0456\u044f", "IL": "\u0406\u0437\u0440\u0430\u0456\u043b\u044c", "ID": "\u0406\u043d\u0434\u0430\u043d\u0435\u0437\u0456\u044f", "IN": "\u0406\u043d\u0434\u044b\u044f", "IQ": "\u0406\u0440\u0430\u043a", "IR": "\u0406\u0440\u0430\u043d", "IE": "\u0406\u0440\u043b\u0430\u043d\u0434\u044b\u044f", "IS": "\u0406\u0441\u043b\u0430\u043d\u0434\u044b\u044f", "ES": "\u0406\u0441\u043f\u0430\u043d\u0456\u044f", "IT": "\u0406\u0442\u0430\u043b\u0456\u044f", "CV": "\u041a\u0430\u0431\u0430-\u0412\u0435\u0440\u0434\u044d", "KZ": "\u041a\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043d", "KY": "\u041a\u0430\u0439\u043c\u0430\u043d\u0430\u0432\u044b \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "CC": "\u041a\u0430\u043a\u043e\u0441\u0430\u0432\u044b\u044f (\u041a\u0456\u043b\u0456\u043d\u0433) \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "CO": "\u041a\u0430\u043b\u0443\u043c\u0431\u0456\u044f", "KH": "\u041a\u0430\u043c\u0431\u043e\u0434\u0436\u0430", "CM": "\u041a\u0430\u043c\u0435\u0440\u0443\u043d", "KM": "\u041a\u0430\u043c\u043e\u0440\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "CA": "\u041a\u0430\u043d\u0430\u0434\u0430", "BQ": "\u041a\u0430\u0440\u044b\u0431\u0441\u043a\u0456\u044f \u041d\u0456\u0434\u044d\u0440\u043b\u0430\u043d\u0434\u044b", "QA": "\u041a\u0430\u0442\u0430\u0440", "KE": "\u041a\u0435\u043d\u0456\u044f", "CY": "\u041a\u0456\u043f\u0440", "KI": "\u041a\u0456\u0440\u044b\u0431\u0430\u0446\u0456", "CN": "\u041a\u0456\u0442\u0430\u0439", "CG": "\u041a\u043e\u043d\u0433\u0430 - \u0411\u0440\u0430\u0437\u0430\u0432\u0456\u043b\u044c", "CD": "\u041a\u043e\u043d\u0433\u0430 (\u041a\u0456\u043d\u0448\u0430\u0441\u0430)", "CR": "\u041a\u043e\u0441\u0442\u0430-\u0420\u044b\u043a\u0430", "CI": "\u041a\u043e\u0442-\u0434\u2019\u0406\u0432\u0443\u0430\u0440", "CU": "\u041a\u0443\u0431\u0430", "KW": "\u041a\u0443\u0432\u0435\u0439\u0442", "KG": "\u041a\u044b\u0440\u0433\u044b\u0437\u0441\u0442\u0430\u043d", "CW": "\u041a\u044e\u0440\u0430\u0441\u0430\u0430", "LA": "\u041b\u0430\u043e\u0441", "LV": "\u041b\u0430\u0442\u0432\u0456\u044f", "LS": "\u041b\u0435\u0441\u043e\u0442\u0430", "LR": "\u041b\u0456\u0431\u0435\u0440\u044b\u044f", "LB": "\u041b\u0456\u0432\u0430\u043d", "LY": "\u041b\u0456\u0432\u0456\u044f", "LT": "\u041b\u0456\u0442\u0432\u0430", "LI": "\u041b\u0456\u0445\u0442\u044d\u043d\u0448\u0442\u044d\u0439\u043d", "LU": "\u041b\u044e\u043a\u0441\u0435\u043c\u0431\u0443\u0440\u0433", "MM": "\u041c\u2019\u044f\u043d\u043c\u0430 (\u0411\u0456\u0440\u043c\u0430)", "MG": "\u041c\u0430\u0434\u0430\u0433\u0430\u0441\u043a\u0430\u0440", "YT": "\u041c\u0430\u0451\u0442\u0430", "MZ": "\u041c\u0430\u0437\u0430\u043c\u0431\u0456\u043a", "MO": "\u041c\u0430\u043a\u0430\u0430, \u0421\u0410\u0420 (\u041a\u0456\u0442\u0430\u0439)", "MW": "\u041c\u0430\u043b\u0430\u0432\u0456", "MY": "\u041c\u0430\u043b\u0430\u0439\u0437\u0456\u044f", "MD": "\u041c\u0430\u043b\u0434\u043e\u0432\u0430", "ML": "\u041c\u0430\u043b\u0456", "MV": "\u041c\u0430\u043b\u044c\u0434\u044b\u0432\u044b", "MT": "\u041c\u0430\u043b\u044c\u0442\u0430", "MC": "\u041c\u0430\u043d\u0430\u043a\u0430", "MN": "\u041c\u0430\u043d\u0433\u043e\u043b\u0456\u044f", "MS": "\u041c\u0430\u043d\u0442\u0441\u0435\u0440\u0430\u0442", "MA": "\u041c\u0430\u0440\u043e\u043a\u0430", "MQ": "\u041c\u0430\u0440\u0446\u0456\u043d\u0456\u043a\u0430", "MU": "\u041c\u0430\u045e\u0440\u044b\u043a\u0456\u0439", "MR": "\u041c\u0430\u045e\u0440\u044b\u0442\u0430\u043d\u0456\u044f", "MX": "\u041c\u0435\u043a\u0441\u0456\u043a\u0430", "NA": "\u041d\u0430\u043c\u0456\u0431\u0456\u044f", "NO": "\u041d\u0430\u0440\u0432\u0435\u0433\u0456\u044f", "NR": "\u041d\u0430\u0443\u0440\u0443", "NP": "\u041d\u0435\u043f\u0430\u043b", "NE": "\u041d\u0456\u0433\u0435\u0440", "NG": "\u041d\u0456\u0433\u0435\u0440\u044b\u044f", "NL": "\u041d\u0456\u0434\u044d\u0440\u043b\u0430\u043d\u0434\u044b", "NI": "\u041d\u0456\u043a\u0430\u0440\u0430\u0433\u0443\u0430", "NU": "\u041d\u0456\u0443\u044d", "NZ": "\u041d\u043e\u0432\u0430\u044f \u0417\u0435\u043b\u0430\u043d\u0434\u044b\u044f", "NC": "\u041d\u043e\u0432\u0430\u044f \u041a\u0430\u043b\u0435\u0434\u043e\u043d\u0456\u044f", "PK": "\u041f\u0430\u043a\u0456\u0441\u0442\u0430\u043d", "PW": "\u041f\u0430\u043b\u0430\u0443", "PA": "\u041f\u0430\u043d\u0430\u043c\u0430", "PG": "\u041f\u0430\u043f\u0443\u0430-\u041d\u043e\u0432\u0430\u044f \u0413\u0432\u0456\u043d\u0435\u044f", "PY": "\u041f\u0430\u0440\u0430\u0433\u0432\u0430\u0439", "PT": "\u041f\u0430\u0440\u0442\u0443\u0433\u0430\u043b\u0456\u044f", "ZA": "\u041f\u0430\u045e\u0434\u043d\u0451\u0432\u0430-\u0410\u0444\u0440\u044b\u043a\u0430\u043d\u0441\u043a\u0430\u044f \u0420\u044d\u0441\u043f\u0443\u0431\u043b\u0456\u043a\u0430", "GS": "\u041f\u0430\u045e\u0434\u043d\u0451\u0432\u0430\u044f \u0413\u0435\u043e\u0440\u0433\u0456\u044f \u0456 \u041f\u0430\u045e\u0434\u043d\u0451\u0432\u044b\u044f \u0421\u0430\u043d\u0434\u0432\u0456\u0447\u0430\u0432\u044b \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "KR": "\u041f\u0430\u045e\u0434\u043d\u0451\u0432\u0430\u044f \u041a\u0430\u0440\u044d\u044f", "SS": "\u041f\u0430\u045e\u0434\u043d\u0451\u0432\u044b \u0421\u0443\u0434\u0430\u043d", "KP": "\u041f\u0430\u045e\u043d\u043e\u0447\u043d\u0430\u044f \u041a\u0430\u0440\u044d\u044f", "MK": "\u041f\u0430\u045e\u043d\u043e\u0447\u043d\u0430\u044f \u041c\u0430\u043a\u0435\u0434\u043e\u043d\u0456\u044f", "PE": "\u041f\u0435\u0440\u0443", "PL": "\u041f\u043e\u043b\u044c\u0448\u0447\u0430", "PR": "\u041f\u0443\u044d\u0440\u0442\u0430-\u0420\u044b\u043a\u0430", "RU": "\u0420\u0430\u0441\u0456\u044f", "RW": "\u0420\u0443\u0430\u043d\u0434\u0430", "RO": "\u0420\u0443\u043c\u044b\u043d\u0456\u044f", "RE": "\u0420\u044d\u044e\u043d\u044c\u0451\u043d", "SB": "\u0421\u0430\u043b\u0430\u043c\u043e\u043d\u0430\u0432\u044b \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "SV": "\u0421\u0430\u043b\u044c\u0432\u0430\u0434\u043e\u0440", "SO": "\u0421\u0430\u043c\u0430\u043b\u0456", "WS": "\u0421\u0430\u043c\u043e\u0430", "SM": "\u0421\u0430\u043d-\u041c\u0430\u0440\u044b\u043d\u0430", "ST": "\u0421\u0430\u043d-\u0422\u0430\u043c\u044d \u0456 \u041f\u0440\u044b\u043d\u0441\u0456\u043f\u0456", "SA": "\u0421\u0430\u0443\u0434\u0430\u045e\u0441\u043a\u0430\u044f \u0410\u0440\u0430\u0432\u0456\u044f", "SC": "\u0421\u0435\u0439\u0448\u044d\u043b\u044c\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "BL": "\u0421\u0435\u043d-\u0411\u0430\u0440\u0442\u044d\u043b\u044c\u043c\u0456", "MF": "\u0421\u0435\u043d-\u041c\u0430\u0440\u0442\u044d\u043d", "PM": "\u0421\u0435\u043d-\u041f\u2019\u0435\u0440 \u0456 \u041c\u0456\u043a\u0435\u043b\u043e\u043d", "SN": "\u0421\u0435\u043d\u0435\u0433\u0430\u043b", "VC": "\u0421\u0435\u043d\u0442-\u0412\u0456\u043d\u0441\u0435\u043d\u0442 \u0456 \u0413\u0440\u044d\u043d\u0430\u0434\u0437\u0456\u043d\u044b", "KN": "\u0421\u0435\u043d\u0442-\u041a\u0456\u0442\u0441 \u0456 \u041d\u0435\u0432\u0456\u0441", "LC": "\u0421\u0435\u043d\u0442-\u041b\u044e\u0441\u0456\u044f", "RS": "\u0421\u0435\u0440\u0431\u0456\u044f", "SG": "\u0421\u0456\u043d\u0433\u0430\u043f\u0443\u0440", "SX": "\u0421\u0456\u043d\u0442-\u041c\u0430\u0440\u0442\u044d\u043d", "SY": "\u0421\u0456\u0440\u044b\u044f", "SK": "\u0421\u043b\u0430\u0432\u0430\u043a\u0456\u044f", "SI": "\u0421\u043b\u0430\u0432\u0435\u043d\u0456\u044f", "SD": "\u0421\u0443\u0434\u0430\u043d", "SR": "\u0421\u0443\u0440\u044b\u043d\u0430\u043c", "SL": "\u0421\u044c\u0435\u0440\u0430-\u041b\u0435\u043e\u043d\u044d", "TJ": "\u0422\u0430\u0434\u0436\u044b\u043a\u0456\u0441\u0442\u0430\u043d", "TW": "\u0422\u0430\u0439\u0432\u0430\u043d\u044c", "TH": "\u0422\u0430\u0439\u043b\u0430\u043d\u0434", "TK": "\u0422\u0430\u043a\u0435\u043b\u0430\u0443", "TZ": "\u0422\u0430\u043d\u0437\u0430\u043d\u0456\u044f", "TG": "\u0422\u043e\u0433\u0430", "TO": "\u0422\u043e\u043d\u0433\u0430", "TT": "\u0422\u0440\u044b\u043d\u0456\u0434\u0430\u0434 \u0456 \u0422\u0430\u0431\u0430\u0433\u0430", "TN": "\u0422\u0443\u043d\u0456\u0441", "TM": "\u0422\u0443\u0440\u043a\u043c\u0435\u043d\u0456\u0441\u0442\u0430\u043d", "TR": "\u0422\u0443\u0440\u0446\u044b\u044f", "TL": "\u0422\u044b\u043c\u043e\u0440-\u041b\u0435\u0448\u0446\u0456", "UG": "\u0423\u0433\u0430\u043d\u0434\u0430", "UZ": "\u0423\u0437\u0431\u0435\u043a\u0456\u0441\u0442\u0430\u043d", "UA": "\u0423\u043a\u0440\u0430\u0456\u043d\u0430", "WF": "\u0423\u043e\u043b\u0456\u0441 \u0456 \u0424\u0443\u0442\u0443\u043d\u0430", "UY": "\u0423\u0440\u0443\u0433\u0432\u0430\u0439", "FK": "\u0424\u0430\u043b\u043a\u043b\u0435\u043d\u0434\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "FO": "\u0424\u0430\u0440\u044d\u0440\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "FJ": "\u0424\u0456\u0434\u0436\u044b", "PH": "\u0424\u0456\u043b\u0456\u043f\u0456\u043d\u044b", "FI": "\u0424\u0456\u043d\u043b\u044f\u043d\u0434\u044b\u044f", "GF": "\u0424\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0430\u044f \u0413\u0432\u0456\u044f\u043d\u0430", "PF": "\u0424\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0430\u044f \u041f\u0430\u043b\u0456\u043d\u0435\u0437\u0456\u044f", "TF": "\u0424\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0456\u044f \u043f\u0430\u045e\u0434\u043d\u0451\u0432\u044b\u044f \u0442\u044d\u0440\u044b\u0442\u043e\u0440\u044b\u0456", "FR": "\u0424\u0440\u0430\u043d\u0446\u044b\u044f", "HR": "\u0425\u0430\u0440\u0432\u0430\u0442\u044b\u044f", "CF": "\u0426\u044d\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u0430-\u0410\u0444\u0440\u044b\u043a\u0430\u043d\u0441\u043a\u0430\u044f \u0420\u044d\u0441\u043f\u0443\u0431\u043b\u0456\u043a\u0430", "TD": "\u0427\u0430\u0434", "ME": "\u0427\u0430\u0440\u043d\u0430\u0433\u043e\u0440\u044b\u044f", "CL": "\u0427\u044b\u043b\u0456", "CZ": "\u0427\u044d\u0445\u0456\u044f", "CH": "\u0428\u0432\u0435\u0439\u0446\u0430\u0440\u044b\u044f", "SE": "\u0428\u0432\u0435\u0446\u044b\u044f", "SJ": "\u0428\u043f\u0456\u0446\u0431\u0435\u0440\u0433\u0435\u043d \u0456 \u042f\u043d-\u041c\u0430\u0435\u043d", "LK": "\u0428\u0440\u044b-\u041b\u0430\u043d\u043a\u0430", "EC": "\u042d\u043a\u0432\u0430\u0434\u043e\u0440", "GQ": "\u042d\u043a\u0432\u0430\u0442\u0430\u0440\u044b\u044f\u043b\u044c\u043d\u0430\u044f \u0413\u0432\u0456\u043d\u0435\u044f", "ER": "\u042d\u0440\u044b\u0442\u0440\u044d\u044f", "SZ": "\u042d\u0441\u0432\u0430\u0442\u044b\u043d\u0456", "EE": "\u042d\u0441\u0442\u043e\u043d\u0456\u044f", "ET": "\u042d\u0444\u0456\u043e\u043f\u0456\u044f", "JM": "\u042f\u043c\u0430\u0439\u043a\u0430", "JP": "\u042f\u043f\u043e\u043d\u0456\u044f"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/ca.json b/desktop/onionshare/resources/countries/ca.json
new file mode 100644
index 00000000..73cb3724
--- /dev/null
+++ b/desktop/onionshare/resources/countries/ca.json
@@ -0,0 +1 @@
+{"AF": "Afganistan", "AL": "Alb\u00e0nia", "DE": "Alemanya", "DZ": "Alg\u00e8ria", "AD": "Andorra", "AO": "Angola", "AI": "Anguilla", "AQ": "Ant\u00e0rtida", "AG": "Antigua i Barbuda", "SA": "Ar\u00e0bia Saudita", "AR": "Argentina", "AM": "Arm\u00e8nia", "AW": "Aruba", "AU": "Austr\u00e0lia", "AT": "\u00c0ustria", "AZ": "Azerbaidjan", "BS": "Bahames", "BH": "Bahrain", "BD": "Bangladesh", "BB": "Barbados", "BY": "Belar\u00fas", "BE": "B\u00e8lgica", "BZ": "Belize", "BJ": "Ben\u00edn", "BM": "Bermudes", "BT": "Bhutan", "BO": "Bol\u00edvia", "BA": "B\u00f2snia i Hercegovina", "BW": "Botswana", "BV": "Bouvet", "BR": "Brasil", "BN": "Brunei", "BG": "Bulg\u00e0ria", "BF": "Burkina Faso", "BI": "Burundi", "KH": "Cambodja", "CM": "Camerun", "CA": "Canad\u00e0", "CV": "Cap Verd", "BQ": "Carib Neerland\u00e8s", "VA": "Ciutat del Vatic\u00e0", "CO": "Col\u00f2mbia", "KM": "Comores", "CG": "Congo - Brazzaville", "CD": "Congo - Kinshasa", "KP": "Corea del Nord", "KR": "Corea del Sud", "CR": "Costa Rica", "CI": "C\u00f4te d\u2019Ivoire", "HR": "Cro\u00e0cia", "CU": "Cuba", "CW": "Cura\u00e7ao", "DK": "Dinamarca", "DJ": "Djibouti", "DM": "Dominica", "EG": "Egipte", "SV": "El Salvador", "AE": "Emirats \u00c0rabs Units", "EC": "Equador", "ER": "Eritrea", "SK": "Eslov\u00e0quia", "SI": "Eslov\u00e8nia", "ES": "Espanya", "US": "Estats Units", "EE": "Est\u00f2nia", "SZ": "eSwatini", "ET": "Eti\u00f2pia", "FJ": "Fiji", "PH": "Filipines", "FI": "Finl\u00e0ndia", "FR": "Fran\u00e7a", "GA": "Gabon", "GM": "G\u00e0mbia", "GE": "Ge\u00f2rgia", "GH": "Ghana", "GI": "Gibraltar", "GR": "Gr\u00e8cia", "GD": "Grenada", "GL": "Groenl\u00e0ndia", "GP": "Guadeloupe", "GF": "Guaiana Francesa", "GU": "Guam", "GT": "Guatemala", "GG": "Guernsey", "GN": "Guinea", "GW": "Guinea Bissau", "GQ": "Guinea Equatorial", "GY": "Guyana", "HT": "Hait\u00ed", "HN": "Hondures", "HK": "Hong Kong (RAE Xina)", "HU": "Hongria", "YE": "Iemen", "CX": "Illa Christmas", "RE": "Illa de la Reuni\u00f3", "IM": "Illa de Man", "HM": "Illa Heard i Illes McDonald", "AX": "Illes \u00c5land", "KY": "Illes Caiman", "CC": "Illes Cocos", "CK": "Illes Cook", "FO": "Illes F\u00e8roe", "GS": "Illes Ge\u00f2rgia del Sud i Sandwich del Sud", "FK": "Illes Malvines", "PN": "Illes Pitcairn", "SB": "Illes Salom\u00f3", "TC": "Illes Turks i Caicos", "VG": "Illes Verges Brit\u00e0niques", "VI": "Illes Verges Nord-americanes", "IN": "\u00cdndia", "ID": "Indon\u00e8sia", "IR": "Iran", "IQ": "Iraq", "IE": "Irlanda", "IS": "Isl\u00e0ndia", "IL": "Israel", "IT": "It\u00e0lia", "JM": "Jamaica", "JP": "Jap\u00f3", "JO": "Jord\u00e0nia", "KZ": "Kazakhstan", "KE": "Kenya", "KG": "Kirguizistan", "KI": "Kiribati", "KW": "Kuwait", "LA": "Laos", "LS": "Lesotho", "LV": "Let\u00f2nia", "LB": "L\u00edban", "LR": "Lib\u00e8ria", "LY": "L\u00edbia", "LI": "Liechtenstein", "LT": "Litu\u00e0nia", "LU": "Luxemburg", "MO": "Macau (RAE Xina)", "MK": "Maced\u00f2nia del Nord", "MG": "Madagascar", "MY": "Mal\u00e0isia", "MW": "Malawi", "MV": "Maldives", "ML": "Mali", "MT": "Malta", "MA": "Marroc", "MQ": "Martinica", "MU": "Maurici", "MR": "Maurit\u00e0nia", "YT": "Mayotte", "MX": "M\u00e8xic", "MZ": "Mo\u00e7ambic", "MD": "Mold\u00e0via", "MC": "M\u00f2naco", "MN": "Mong\u00f2lia", "ME": "Montenegro", "MS": "Montserrat", "MM": "Myanmar (Birm\u00e0nia)", "NA": "Nam\u00edbia", "NR": "Nauru", "NP": "Nepal", "NI": "Nicaragua", "NE": "N\u00edger", "NG": "Nig\u00e8ria", "NU": "Niue", "NF": "Norfolk", "NO": "Noruega", "NC": "Nova Caled\u00f2nia", "NZ": "Nova Zelanda", "OM": "Oman", "NL": "Pa\u00efsos Baixos", "PK": "Pakistan", "PW": "Palau", "PA": "Panam\u00e0", "PG": "Papua Nova Guinea", "PY": "Paraguai", "PE": "Per\u00fa", "PF": "Polin\u00e8sia Francesa", "PL": "Pol\u00f2nia", "PT": "Portugal", "PR": "Puerto Rico", "QA": "Qatar", "GB": "Regne Unit", "CF": "Rep\u00fablica Centreafricana", "ZA": "Rep\u00fablica de Sud-\u00e0frica", "DO": "Rep\u00fablica Dominicana", "RO": "Romania", "RW": "Ruanda", "RU": "R\u00fassia", "EH": "S\u00e0hara Occidental", "BL": "Saint Barth\u00e9lemy", "KN": "Saint Christopher i Nevis", "SH": "Saint Helena", "LC": "Saint Lucia", "MF": "Saint Martin", "VC": "Saint Vincent i les Grenadines", "PM": "Saint-Pierre-et-Miquelon", "WS": "Samoa", "AS": "Samoa Nord-americana", "SM": "San Marino", "ST": "S\u00e3o Tom\u00e9 i Pr\u00edncipe", "SN": "Senegal", "RS": "S\u00e8rbia", "SC": "Seychelles", "SL": "Sierra Leone", "SG": "Singapur", "SX": "Sint Maarten", "SY": "S\u00edria", "SO": "Som\u00e0lia", "LK": "Sri Lanka", "SD": "Sudan", "SS": "Sudan del Sud", "SE": "Su\u00e8cia", "CH": "Su\u00efssa", "SR": "Surinam", "SJ": "Svalbard i Jan Mayen", "TJ": "Tadjikistan", "TH": "Tail\u00e0ndia", "TW": "Taiwan", "TZ": "Tanz\u00e0nia", "IO": "Territori Brit\u00e0nic de l\u2019Oce\u00e0 \u00cdndic", "TF": "Territoris Australs Francesos", "TL": "Timor Oriental", "TG": "Togo", "TK": "Tokelau", "TO": "Tonga", "TT": "Trinitat i Tobago", "TN": "Tun\u00edsia", "TM": "Turkmenistan", "TR": "Turquia", "TD": "Txad", "CZ": "Tx\u00e8quia", "UA": "Ucra\u00efna", "UG": "Uganda", "UY": "Uruguai", "UZ": "Uzbekistan", "VU": "Vanuatu", "VE": "Vene\u00e7uela", "VN": "Vietnam", "WF": "Wallis i Futuna", "CL": "Xile", "CN": "Xina", "CY": "Xipre", "ZM": "Z\u00e0mbia", "ZW": "Zimb\u00e0bue"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/fa.json b/desktop/onionshare/resources/countries/fa.json
new file mode 100644
index 00000000..385e37ed
--- /dev/null
+++ b/desktop/onionshare/resources/countries/fa.json
@@ -0,0 +1 @@
+{"AR": "\u0622\u0631\u0698\u0627\u0646\u062a\u06cc\u0646", "AW": "\u0622\u0631\u0648\u0628\u0627", "AL": "\u0622\u0644\u0628\u0627\u0646\u06cc", "DE": "\u0622\u0644\u0645\u0627\u0646", "AG": "\u0622\u0646\u062a\u06cc\u06af\u0648\u0627 \u0648 \u0628\u0627\u0631\u0628\u0648\u062f\u0627", "AD": "\u0622\u0646\u062f\u0648\u0631\u0627", "AO": "\u0622\u0646\u06af\u0648\u0644\u0627", "AI": "\u0622\u0646\u06af\u0648\u06cc\u0644\u0627", "AT": "\u0627\u062a\u0631\u06cc\u0634", "ET": "\u0627\u062a\u06cc\u0648\u067e\u06cc", "JO": "\u0627\u0631\u062f\u0646", "AM": "\u0627\u0631\u0645\u0646\u0633\u062a\u0627\u0646", "UY": "\u0627\u0631\u0648\u06af\u0648\u0626\u0647", "ER": "\u0627\u0631\u06cc\u062a\u0631\u0647", "UZ": "\u0627\u0632\u0628\u06a9\u0633\u062a\u0627\u0646", "ES": "\u0627\u0633\u067e\u0627\u0646\u06cc\u0627", "AU": "\u0627\u0633\u062a\u0631\u0627\u0644\u06cc\u0627", "EE": "\u0627\u0633\u062a\u0648\u0646\u06cc", "IL": "\u0627\u0633\u0631\u0627\u0626\u06cc\u0644", "SK": "\u0627\u0633\u0644\u0648\u0627\u06a9\u06cc", "SI": "\u0627\u0633\u0644\u0648\u0648\u0646\u06cc", "SZ": "\u0627\u0633\u0648\u0627\u062a\u06cc\u0646\u06cc", "ZA": "\u0627\u0641\u0631\u06cc\u0642\u0627\u06cc \u062c\u0646\u0648\u0628\u06cc", "AF": "\u0627\u0641\u063a\u0627\u0646\u0633\u062a\u0627\u0646", "EC": "\u0627\u06a9\u0648\u0627\u062f\u0648\u0631", "DZ": "\u0627\u0644\u062c\u0632\u0627\u06cc\u0631", "SV": "\u0627\u0644\u0633\u0627\u0644\u0648\u0627\u062f\u0648\u0631", "AE": "\u0627\u0645\u0627\u0631\u0627\u062a \u0645\u062a\u062d\u062f\u0647\u0654 \u0639\u0631\u0628\u06cc", "ID": "\u0627\u0646\u062f\u0648\u0646\u0632\u06cc", "UA": "\u0627\u0648\u06a9\u0631\u0627\u06cc\u0646", "UG": "\u0627\u0648\u06af\u0627\u0646\u062f\u0627", "US": "\u0627\u06cc\u0627\u0644\u0627\u062a \u0645\u062a\u062d\u062f\u0647", "IT": "\u0627\u06cc\u062a\u0627\u0644\u06cc\u0627", "IR": "\u0627\u06cc\u0631\u0627\u0646", "IE": "\u0627\u06cc\u0631\u0644\u0646\u062f", "IS": "\u0627\u06cc\u0633\u0644\u0646\u062f", "BB": "\u0628\u0627\u0631\u0628\u0627\u062f\u0648\u0633", "BS": "\u0628\u0627\u0647\u0627\u0645\u0627", "BH": "\u0628\u062d\u0631\u06cc\u0646", "BR": "\u0628\u0631\u0632\u06cc\u0644", "BM": "\u0628\u0631\u0645\u0648\u062f\u0627", "BN": "\u0628\u0631\u0648\u0646\u0626\u06cc", "GB": "\u0628\u0631\u06cc\u062a\u0627\u0646\u06cc\u0627", "BY": "\u0628\u0644\u0627\u0631\u0648\u0633", "BE": "\u0628\u0644\u0698\u06cc\u06a9", "BG": "\u0628\u0644\u063a\u0627\u0631\u0633\u062a\u0627\u0646", "BZ": "\u0628\u0644\u06cc\u0632", "BD": "\u0628\u0646\u06af\u0644\u0627\u062f\u0634", "BJ": "\u0628\u0646\u06cc\u0646", "BT": "\u0628\u0648\u062a\u0627\u0646", "BW": "\u0628\u0648\u062a\u0633\u0648\u0627\u0646\u0627", "BF": "\u0628\u0648\u0631\u06a9\u06cc\u0646\u0627\u0641\u0627\u0633\u0648", "BI": "\u0628\u0648\u0631\u0648\u0646\u062f\u06cc", "BA": "\u0628\u0648\u0633\u0646\u06cc \u0648 \u0647\u0631\u0632\u06af\u0648\u06cc\u0646", "BO": "\u0628\u0648\u0644\u06cc\u0648\u06cc", "PG": "\u067e\u0627\u067e\u0648\u0627 \u06af\u06cc\u0646\u0647\u0654 \u0646\u0648", "PY": "\u067e\u0627\u0631\u0627\u06af\u0648\u0626\u0647", "PK": "\u067e\u0627\u06a9\u0633\u062a\u0627\u0646", "PW": "\u067e\u0627\u0644\u0627\u0626\u0648", "PA": "\u067e\u0627\u0646\u0627\u0645\u0627", "PT": "\u067e\u0631\u062a\u063a\u0627\u0644", "PE": "\u067e\u0631\u0648", "PF": "\u067e\u0644\u06cc\u200c\u0646\u0632\u06cc \u0641\u0631\u0627\u0646\u0633\u0647", "PR": "\u067e\u0648\u0631\u062a\u0648\u0631\u06cc\u06a9\u0648", "TJ": "\u062a\u0627\u062c\u06cc\u06a9\u0633\u062a\u0627\u0646", "TZ": "\u062a\u0627\u0646\u0632\u0627\u0646\u06cc\u0627", "TH": "\u062a\u0627\u06cc\u0644\u0646\u062f", "TW": "\u062a\u0627\u06cc\u0648\u0627\u0646", "TM": "\u062a\u0631\u06a9\u0645\u0646\u0633\u062a\u0627\u0646", "TR": "\u062a\u0631\u06a9\u06cc\u0647", "TT": "\u062a\u0631\u06cc\u0646\u06cc\u062f\u0627\u062f \u0648 \u062a\u0648\u0628\u0627\u06af\u0648", "TK": "\u062a\u0648\u06a9\u0644\u0627\u0626\u0648", "TG": "\u062a\u0648\u06af\u0648", "TN": "\u062a\u0648\u0646\u0633", "TO": "\u062a\u0648\u0646\u06af\u0627", "TL": "\u062a\u06cc\u0645\u0648\u0631-\u0644\u0633\u062a\u0647", "JM": "\u062c\u0627\u0645\u0627\u0626\u06cc\u06a9\u0627", "GI": "\u062c\u0628\u0644\u200c\u0627\u0644\u0637\u0627\u0631\u0642", "AX": "\u062c\u0632\u0627\u06cc\u0631 \u0622\u0644\u0627\u0646\u062f", "PN": "\u062c\u0632\u0627\u06cc\u0631 \u067e\u06cc\u062a\u200c\u06a9\u0631\u0646", "TC": "\u062c\u0632\u0627\u06cc\u0631 \u062a\u0648\u0631\u06a9\u0633 \u0648 \u06a9\u0627\u06cc\u06a9\u0648\u0633", "SB": "\u062c\u0632\u0627\u06cc\u0631 \u0633\u0644\u06cc\u0645\u0627\u0646", "FO": "\u062c\u0632\u0627\u06cc\u0631 \u0641\u0627\u0631\u0648", "FK": "\u062c\u0632\u0627\u06cc\u0631 \u0641\u0627\u0644\u06a9\u0644\u0646\u062f", "BQ": "\u062c\u0632\u0627\u06cc\u0631 \u06a9\u0627\u0631\u0627\u0626\u06cc\u0628 \u0647\u0644\u0646\u062f", "CK": "\u062c\u0632\u0627\u06cc\u0631 \u06a9\u0648\u06a9", "CC": "\u062c\u0632\u0627\u06cc\u0631 \u06a9\u0648\u06a9\u0648\u0633", "KY": "\u062c\u0632\u0627\u06cc\u0631 \u06a9\u0650\u06cc\u0645\u0646", "VI": "\u062c\u0632\u0627\u06cc\u0631 \u0648\u06cc\u0631\u062c\u06cc\u0646 \u0627\u06cc\u0627\u0644\u0627\u062a \u0645\u062a\u062d\u062f\u0647", "VG": "\u062c\u0632\u0627\u06cc\u0631 \u0648\u06cc\u0631\u062c\u06cc\u0646 \u0628\u0631\u06cc\u062a\u0627\u0646\u06cc\u0627", "BV": "\u062c\u0632\u06cc\u0631\u0647\u0654 \u0628\u0648\u0648\u0647", "CX": "\u062c\u0632\u06cc\u0631\u0647\u0654 \u06a9\u0631\u06cc\u0633\u0645\u0633", "IM": "\u062c\u0632\u06cc\u0631\u0647\u0654 \u0645\u0646", "NF": "\u062c\u0632\u06cc\u0631\u0647\u0654 \u0646\u0648\u0631\u0641\u0648\u0644\u06a9", "AZ": "\u062c\u0645\u0647\u0648\u0631\u06cc \u0622\u0630\u0631\u0628\u0627\u06cc\u062c\u0627\u0646", "CF": "\u062c\u0645\u0647\u0648\u0631\u06cc \u0627\u0641\u0631\u06cc\u0642\u0627\u06cc \u0645\u0631\u06a9\u0632\u06cc", "DO": "\u062c\u0645\u0647\u0648\u0631\u06cc \u062f\u0648\u0645\u06cc\u0646\u06cc\u06a9\u0646", "AQ": "\u062c\u0646\u0648\u0628\u06af\u0627\u0646", "GS": "\u062c\u0648\u0631\u062c\u06cc\u0627\u06cc \u062c\u0646\u0648\u0628\u06cc \u0648 \u062c\u0632\u0627\u06cc\u0631 \u0633\u0627\u0646\u062f\u0648\u06cc\u0686 \u062c\u0646\u0648\u0628\u06cc", "DJ": "\u062c\u06cc\u0628\u0648\u062a\u06cc", "TD": "\u0686\u0627\u062f", "CZ": "\u0686\u06a9", "CN": "\u0686\u06cc\u0646", "DK": "\u062f\u0627\u0646\u0645\u0627\u0631\u06a9", "DM": "\u062f\u0648\u0645\u06cc\u0646\u06cc\u06a9\u0627", "RE": "\u0631\u0626\u0648\u0646\u06cc\u0648\u0646", "RW": "\u0631\u0648\u0627\u0646\u062f\u0627", "RU": "\u0631\u0648\u0633\u06cc\u0647", "RO": "\u0631\u0648\u0645\u0627\u0646\u06cc", "ZM": "\u0632\u0627\u0645\u0628\u06cc\u0627", "ZW": "\u0632\u06cc\u0645\u0628\u0627\u0628\u0648\u0647", "JP": "\u0698\u0627\u067e\u0646", "ST": "\u0633\u0627\u0626\u0648\u062a\u0648\u0645\u0647 \u0648 \u067e\u0631\u06cc\u0646\u0633\u06cc\u067e", "CI": "\u0633\u0627\u062d\u0644 \u0639\u0627\u062c", "WS": "\u0633\u0627\u0645\u0648\u0622", "AS": "\u0633\u0627\u0645\u0648\u0622\u06cc \u0627\u0645\u0631\u06cc\u06a9\u0627", "SM": "\u0633\u0627\u0646\u200c\u0645\u0627\u0631\u06cc\u0646\u0648", "TF": "\u0633\u0631\u0632\u0645\u06cc\u0646\u200c\u0647\u0627\u06cc \u062c\u0646\u0648\u0628 \u0641\u0631\u0627\u0646\u0633\u0647", "LK": "\u0633\u0631\u06cc\u200c\u0644\u0627\u0646\u06a9\u0627", "BL": "\u0633\u0646 \u0628\u0627\u0631\u062a\u0644\u0645\u06cc", "PM": "\u0633\u0646 \u067e\u06cc\u0631 \u0648 \u0645\u06cc\u06a9\u0644\u0646", "KN": "\u0633\u0646\u062a \u06a9\u06cc\u062a\u0633 \u0648 \u0646\u0648\u06cc\u0633", "LC": "\u0633\u0646\u062a \u0644\u0648\u0633\u06cc\u0627", "SX": "\u0633\u0646\u062a \u0645\u0627\u0631\u062a\u0646", "MF": "\u0633\u0646\u062a \u0645\u0627\u0631\u062a\u06cc\u0646", "VC": "\u0633\u0646\u062a \u0648\u06cc\u0646\u0633\u0646\u062a \u0648 \u06af\u0631\u0646\u0627\u062f\u06cc\u0646", "SH": "\u0633\u0646\u062a \u0647\u0644\u0646", "SG": "\u0633\u0646\u06af\u0627\u067e\u0648\u0631", "SN": "\u0633\u0646\u06af\u0627\u0644", "SJ": "\u0633\u0648\u0627\u0644\u0628\u0627\u0631\u062f \u0648 \u06cc\u0627\u0646 \u0645\u0627\u06cc\u0646", "SE": "\u0633\u0648\u0626\u062f", "CH": "\u0633\u0648\u0626\u06cc\u0633", "SD": "\u0633\u0648\u062f\u0627\u0646", "SS": "\u0633\u0648\u062f\u0627\u0646 \u062c\u0646\u0648\u0628\u06cc", "SR": "\u0633\u0648\u0631\u06cc\u0646\u0627\u0645", "SY": "\u0633\u0648\u0631\u06cc\u0647", "SO": "\u0633\u0648\u0645\u0627\u0644\u06cc", "SL": "\u0633\u06cc\u0631\u0627\u0644\u0626\u0648\u0646", "SC": "\u0633\u06cc\u0634\u0644", "CL": "\u0634\u06cc\u0644\u06cc", "EH": "\u0635\u062d\u0631\u0627\u06cc \u063a\u0631\u0628\u06cc", "RS": "\u0635\u0631\u0628\u0633\u062a\u0627\u0646", "IQ": "\u0639\u0631\u0627\u0642", "SA": "\u0639\u0631\u0628\u0633\u062a\u0627\u0646 \u0633\u0639\u0648\u062f\u06cc", "OM": "\u0639\u0645\u0627\u0646", "GH": "\u063a\u0646\u0627", "FR": "\u0641\u0631\u0627\u0646\u0633\u0647", "FI": "\u0641\u0646\u0644\u0627\u0646\u062f", "FJ": "\u0641\u06cc\u062c\u06cc", "PH": "\u0641\u06cc\u0644\u06cc\u067e\u06cc\u0646", "CY": "\u0642\u0628\u0631\u0633", "KG": "\u0642\u0631\u0642\u06cc\u0632\u0633\u062a\u0627\u0646", "KZ": "\u0642\u0632\u0627\u0642\u0633\u062a\u0627\u0646", "QA": "\u0642\u0637\u0631", "IO": "\u0642\u0644\u0645\u0631\u0648 \u0628\u0631\u06cc\u062a\u0627\u0646\u06cc\u0627 \u062f\u0631 \u0627\u0642\u06cc\u0627\u0646\u0648\u0633 \u0647\u0646\u062f", "CR": "\u06a9\u0627\u0633\u062a\u0627\u0631\u06cc\u06a9\u0627", "NC": "\u06a9\u0627\u0644\u062f\u0648\u0646\u06cc\u0627\u06cc \u062c\u062f\u06cc\u062f", "KH": "\u06a9\u0627\u0645\u0628\u0648\u062c", "CM": "\u06a9\u0627\u0645\u0631\u0648\u0646", "CA": "\u06a9\u0627\u0646\u0627\u062f\u0627", "HR": "\u06a9\u0631\u0648\u0627\u0633\u06cc", "KR": "\u06a9\u0631\u0647\u0654 \u062c\u0646\u0648\u0628\u06cc", "KP": "\u06a9\u0631\u0647\u0654 \u0634\u0645\u0627\u0644\u06cc", "CO": "\u06a9\u0644\u0645\u0628\u06cc\u0627", "CG": "\u06a9\u0646\u06af\u0648 - \u0628\u0631\u0627\u0632\u0648\u06cc\u0644", "CD": "\u06a9\u0646\u06af\u0648 - \u06a9\u06cc\u0646\u0634\u0627\u0633\u0627", "KE": "\u06a9\u0646\u06cc\u0627", "CU": "\u06a9\u0648\u0628\u0627", "CW": "\u06a9\u0648\u0631\u0627\u0633\u0627\u0626\u0648", "KM": "\u06a9\u0648\u0645\u0648\u0631", "KW": "\u06a9\u0648\u06cc\u062a", "CV": "\u06a9\u06cc\u067e\u200c\u0648\u0631\u062f", "KI": "\u06a9\u06cc\u0631\u06cc\u0628\u0627\u062a\u06cc", "GA": "\u06af\u0627\u0628\u0646", "GM": "\u06af\u0627\u0645\u0628\u06cc\u0627", "GE": "\u06af\u0631\u062c\u0633\u062a\u0627\u0646", "GD": "\u06af\u0631\u0646\u0627\u062f\u0627", "GG": "\u06af\u0631\u0646\u0632\u06cc", "GL": "\u06af\u0631\u06cc\u0646\u0644\u0646\u062f", "GT": "\u06af\u0648\u0627\u062a\u0645\u0627\u0644\u0627", "GP": "\u06af\u0648\u0627\u062f\u0644\u0648\u067e", "GU": "\u06af\u0648\u0627\u0645", "GY": "\u06af\u0648\u06cc\u0627\u0646", "GF": "\u06af\u0648\u06cc\u0627\u0646 \u0641\u0631\u0627\u0646\u0633\u0647", "GN": "\u06af\u06cc\u0646\u0647", "GQ": "\u06af\u06cc\u0646\u0647\u0654 \u0627\u0633\u062a\u0648\u0627\u06cc\u06cc", "GW": "\u06af\u06cc\u0646\u0647\u0654 \u0628\u06cc\u0633\u0627\u0626\u0648", "LA": "\u0644\u0627\u0626\u0648\u0633", "LB": "\u0644\u0628\u0646\u0627\u0646", "LV": "\u0644\u062a\u0648\u0646\u06cc", "LS": "\u0644\u0633\u0648\u062a\u0648", "LU": "\u0644\u0648\u06a9\u0632\u0627\u0645\u0628\u0648\u0631\u06af", "PL": "\u0644\u0647\u0633\u062a\u0627\u0646", "LR": "\u0644\u06cc\u0628\u0631\u06cc\u0627", "LY": "\u0644\u06cc\u0628\u06cc", "LT": "\u0644\u06cc\u062a\u0648\u0627\u0646\u06cc", "LI": "\u0644\u06cc\u062e\u062a\u0646\u200c\u0627\u0634\u062a\u0627\u06cc\u0646", "MG": "\u0645\u0627\u062f\u0627\u06af\u0627\u0633\u06a9\u0627\u0631", "MQ": "\u0645\u0627\u0631\u062a\u06cc\u0646\u06cc\u06a9", "MO": "\u0645\u0627\u06a9\u0627\u0626\u0648\u060c \u0645\u0646\u0637\u0642\u0647\u0654 \u0648\u06cc\u0698\u0647\u0654 \u0627\u062f\u0627\u0631\u06cc \u0686\u06cc\u0646", "MW": "\u0645\u0627\u0644\u0627\u0648\u06cc", "MT": "\u0645\u0627\u0644\u062a", "MV": "\u0645\u0627\u0644\u062f\u06cc\u0648", "MY": "\u0645\u0627\u0644\u0632\u06cc", "ML": "\u0645\u0627\u0644\u06cc", "YT": "\u0645\u0627\u06cc\u0648\u062a", "HU": "\u0645\u062c\u0627\u0631\u0633\u062a\u0627\u0646", "MA": "\u0645\u0631\u0627\u06a9\u0634", "EG": "\u0645\u0635\u0631", "MN": "\u0645\u063a\u0648\u0644\u0633\u062a\u0627\u0646", "MK": "\u0645\u0642\u062f\u0648\u0646\u06cc\u0647\u0654 \u0634\u0645\u0627\u0644\u06cc", "MX": "\u0645\u06a9\u0632\u06cc\u06a9", "MR": "\u0645\u0648\u0631\u06cc\u062a\u0627\u0646\u06cc", "MU": "\u0645\u0648\u0631\u06cc\u0633", "MZ": "\u0645\u0648\u0632\u0627\u0645\u0628\u06cc\u06a9", "MD": "\u0645\u0648\u0644\u062f\u0627\u0648\u06cc", "MC": "\u0645\u0648\u0646\u0627\u06a9\u0648", "MS": "\u0645\u0648\u0646\u062a\u200c\u0633\u0631\u0627\u062a", "ME": "\u0645\u0648\u0646\u062a\u0647\u200c\u0646\u06af\u0631\u0648", "MM": "\u0645\u06cc\u0627\u0646\u0645\u0627\u0631 (\u0628\u0631\u0645\u0647)", "NR": "\u0646\u0627\u0626\u0648\u0631\u0648", "NA": "\u0646\u0627\u0645\u06cc\u0628\u06cc\u0627", "NP": "\u0646\u067e\u0627\u0644", "NO": "\u0646\u0631\u0648\u0698", "NE": "\u0646\u06cc\u062c\u0631", "NG": "\u0646\u06cc\u062c\u0631\u06cc\u0647", "NI": "\u0646\u06cc\u06a9\u0627\u0631\u0627\u06af\u0648\u0626\u0647", "NU": "\u0646\u06cc\u0648\u0626\u0647", "NZ": "\u0646\u06cc\u0648\u0632\u06cc\u0644\u0646\u062f", "VA": "\u0648\u0627\u062a\u06cc\u06a9\u0627\u0646", "WF": "\u0648\u0627\u0644\u06cc\u0633 \u0648 \u0641\u0648\u062a\u0648\u0646\u0627", "VU": "\u0648\u0627\u0646\u0648\u0627\u062a\u0648", "VE": "\u0648\u0646\u0632\u0648\u0626\u0644\u0627", "VN": "\u0648\u06cc\u062a\u0646\u0627\u0645", "HT": "\u0647\u0627\u0626\u06cc\u062a\u06cc", "HM": "\u0647\u0631\u062f \u0648 \u062c\u0632\u0627\u06cc\u0631 \u0645\u06a9\u200c\u062f\u0648\u0646\u0627\u0644\u062f", "NL": "\u0647\u0644\u0646\u062f", "IN": "\u0647\u0646\u062f", "HN": "\u0647\u0646\u062f\u0648\u0631\u0627\u0633", "HK": "\u0647\u0646\u06af\u200c\u06a9\u0646\u06af\u060c \u0645\u0646\u0637\u0642\u0647\u0654 \u0648\u06cc\u0698\u0647\u0654 \u0627\u062f\u0627\u0631\u06cc \u0686\u06cc\u0646", "YE": "\u06cc\u0645\u0646", "GR": "\u06cc\u0648\u0646\u0627\u0646"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/it.json b/desktop/onionshare/resources/countries/it.json
new file mode 100644
index 00000000..64cfba68
--- /dev/null
+++ b/desktop/onionshare/resources/countries/it.json
@@ -0,0 +1 @@
+{"AF": "Afghanistan", "AL": "Albania", "DZ": "Algeria", "AD": "Andorra", "AO": "Angola", "AI": "Anguilla", "AQ": "Antartide", "AG": "Antigua e Barbuda", "SA": "Arabia Saudita", "AR": "Argentina", "AM": "Armenia", "AW": "Aruba", "AU": "Australia", "AT": "Austria", "AZ": "Azerbaigian", "BS": "Bahamas", "BH": "Bahrein", "BD": "Bangladesh", "BB": "Barbados", "BE": "Belgio", "BZ": "Belize", "BJ": "Benin", "BM": "Bermuda", "BT": "Bhutan", "BY": "Bielorussia", "BO": "Bolivia", "BA": "Bosnia ed Erzegovina", "BW": "Botswana", "BR": "Brasile", "BN": "Brunei", "BG": "Bulgaria", "BF": "Burkina Faso", "BI": "Burundi", "KH": "Cambogia", "CM": "Camerun", "CA": "Canada", "CV": "Capo Verde", "BQ": "Caraibi olandesi", "CZ": "Cechia", "TD": "Ciad", "CL": "Cile", "CN": "Cina", "CY": "Cipro", "VA": "Citt\u00e0 del Vaticano", "CO": "Colombia", "KM": "Comore", "CD": "Congo - Kinshasa", "CG": "Congo-Brazzaville", "KP": "Corea del Nord", "KR": "Corea del Sud", "CI": "Costa d\u2019Avorio", "CR": "Costa Rica", "HR": "Croazia", "CU": "Cuba", "CW": "Cura\u00e7ao", "DK": "Danimarca", "DM": "Dominica", "EC": "Ecuador", "EG": "Egitto", "SV": "El Salvador", "AE": "Emirati Arabi Uniti", "ER": "Eritrea", "EE": "Estonia", "ET": "Etiopia", "FJ": "Figi", "PH": "Filippine", "FI": "Finlandia", "FR": "Francia", "GA": "Gabon", "GM": "Gambia", "GE": "Georgia", "GS": "Georgia del Sud e Sandwich australi", "DE": "Germania", "GH": "Ghana", "JM": "Giamaica", "JP": "Giappone", "GI": "Gibilterra", "DJ": "Gibuti", "JO": "Giordania", "GR": "Grecia", "GD": "Grenada", "GL": "Groenlandia", "GP": "Guadalupa", "GU": "Guam", "GT": "Guatemala", "GG": "Guernsey", "GN": "Guinea", "GQ": "Guinea Equatoriale", "GW": "Guinea-Bissau", "GY": "Guyana", "GF": "Guyana francese", "HT": "Haiti", "HN": "Honduras", "IN": "India", "ID": "Indonesia", "IR": "Iran", "IQ": "Iraq", "IE": "Irlanda", "IS": "Islanda", "BV": "Isola Bouvet", "CX": "Isola Christmas", "IM": "Isola di Man", "NF": "Isola Norfolk", "AX": "Isole \u00c5land", "KY": "Isole Cayman", "CC": "Isole Cocos (Keeling)", "CK": "Isole Cook", "FO": "Isole F\u00e6r \u00d8er", "FK": "Isole Falkland", "HM": "Isole Heard e McDonald", "PN": "Isole Pitcairn", "SB": "Isole Salomone", "TC": "Isole Turks e Caicos", "VI": "Isole Vergini Americane", "VG": "Isole Vergini Britanniche", "IL": "Israele", "IT": "Italia", "KZ": "Kazakistan", "KE": "Kenya", "KG": "Kirghizistan", "KI": "Kiribati", "KW": "Kuwait", "LA": "Laos", "LS": "Lesotho", "LV": "Lettonia", "LB": "Libano", "LR": "Liberia", "LY": "Libia", "LI": "Liechtenstein", "LT": "Lituania", "LU": "Lussemburgo", "MK": "Macedonia del Nord", "MG": "Madagascar", "MW": "Malawi", "MY": "Malaysia", "MV": "Maldive", "ML": "Mali", "MT": "Malta", "MA": "Marocco", "MQ": "Martinica", "MR": "Mauritania", "MU": "Mauritius", "YT": "Mayotte", "MX": "Messico", "MD": "Moldavia", "MC": "Monaco", "MN": "Mongolia", "ME": "Montenegro", "MS": "Montserrat", "MZ": "Mozambico", "MM": "Myanmar (Birmania)", "NA": "Namibia", "NR": "Nauru", "NP": "Nepal", "NI": "Nicaragua", "NE": "Niger", "NG": "Nigeria", "NU": "Niue", "NO": "Norvegia", "NC": "Nuova Caledonia", "NZ": "Nuova Zelanda", "OM": "Oman", "NL": "Paesi Bassi", "PK": "Pakistan", "PW": "Palau", "PA": "Panam\u00e1", "PG": "Papua Nuova Guinea", "PY": "Paraguay", "PE": "Per\u00f9", "PF": "Polinesia francese", "PL": "Polonia", "PT": "Portogallo", "PR": "Portorico", "QA": "Qatar", "HK": "RAS di Hong Kong", "MO": "RAS di Macao", "GB": "Regno Unito", "CF": "Repubblica Centrafricana", "DO": "Repubblica Dominicana", "RE": "Riunione", "RO": "Romania", "RW": "Ruanda", "RU": "Russia", "EH": "Sahara occidentale", "KN": "Saint Kitts e Nevis", "LC": "Saint Lucia", "MF": "Saint Martin", "VC": "Saint Vincent e Grenadine", "BL": "Saint-Barth\u00e9lemy", "PM": "Saint-Pierre e Miquelon", "WS": "Samoa", "AS": "Samoa americane", "SM": "San Marino", "SH": "Sant\u2019Elena", "ST": "S\u00e3o Tom\u00e9 e Pr\u00edncipe", "SN": "Senegal", "RS": "Serbia", "SC": "Seychelles", "SL": "Sierra Leone", "SG": "Singapore", "SX": "Sint Maarten", "SY": "Siria", "SK": "Slovacchia", "SI": "Slovenia", "SO": "Somalia", "ES": "Spagna", "LK": "Sri Lanka", "US": "Stati Uniti", "SS": "Sud Sudan", "ZA": "Sudafrica", "SD": "Sudan", "SR": "Suriname", "SJ": "Svalbard e Jan Mayen", "SE": "Svezia", "CH": "Svizzera", "SZ": "Swaziland", "TJ": "Tagikistan", "TW": "Taiwan", "TZ": "Tanzania", "TF": "Terre australi francesi", "IO": "Territorio britannico dell\u2019Oceano Indiano", "TH": "Thailandia", "TL": "Timor Est", "TG": "Togo", "TK": "Tokelau", "TO": "Tonga", "TT": "Trinidad e Tobago", "TN": "Tunisia", "TR": "Turchia", "TM": "Turkmenistan", "UA": "Ucraina", "UG": "Uganda", "HU": "Ungheria", "UY": "Uruguay", "UZ": "Uzbekistan", "VU": "Vanuatu", "VE": "Venezuela", "VN": "Vietnam", "WF": "Wallis e Futuna", "YE": "Yemen", "ZM": "Zambia", "ZW": "Zimbabwe"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/sn.json b/desktop/onionshare/resources/countries/sn.json
new file mode 100644
index 00000000..ed46b852
--- /dev/null
+++ b/desktop/onionshare/resources/countries/sn.json
@@ -0,0 +1 @@
+{"AF": "Afuganistani", "AR": "Ajentina", "AX": "\u00c5land Islands", "AL": "Albania", "DZ": "Aljeria", "US": "Amerika", "AD": "Andora", "AO": "Angola", "AI": "Anguila", "AQ": "Antarctica", "AG": "Antigua ne Barbuda", "AM": "Armenia", "AW": "Arubha", "AU": "Australia", "AT": "Austria", "AZ": "Azabajani", "BS": "Bahama", "BH": "Bahareni", "BD": "Bangladeshi", "BB": "Barbados", "BY": "Belarusi", "BZ": "Belize", "BE": "Beljium", "BJ": "Benini", "BM": "Bermuda", "BT": "Bhutani", "BO": "Bolivia", "BW": "Botswana", "BV": "Bouvet Island", "BA": "Boznia ne Herzegovina", "BR": "Brazil", "IO": "British Indian Ocean Territory", "BF": "Bukinafaso", "BG": "Bulgaria", "BI": "Burundi", "BN": "Burunei", "BQ": "Caribbean Netherlands", "CF": "Central African Republic", "TD": "Chadi", "CL": "Chile", "CN": "China", "NF": "Chitsuwa cheNorfolk", "CX": "Christmas Island", "CC": "Cocos (Keeling) Islands", "CU": "Cuba", "CW": "Cura\u00e7ao", "CY": "Cyprus", "CZ": "Czech Republic", "CD": "Democratic Republic of the Congo", "DK": "Denmark", "DJ": "Djibouti", "DM": "Dominica", "DO": "Dominican Republic", "TL": "East Timor", "EC": "Ecuador", "EG": "Egypt", "SV": "El Salvador", "GQ": "Equatorial Guinea", "ER": "Eritrea", "EE": "Estonia", "ET": "Etiopia", "FO": "Faroe Islands", "FJ": "Fiji", "FI": "Finland", "FR": "France", "GF": "French Guiana", "PF": "French Polynesia", "TF": "French Southern Territories", "GA": "Gabon", "GM": "Gambia", "GE": "Georgia", "DE": "Germany", "GH": "Ghana", "GI": "Gibraltar", "GR": "Greece", "GL": "Greenland", "GD": "Grenada", "GP": "Guadeloupe", "GU": "Guam", "GT": "Guatemala", "GG": "Guernsey", "GN": "Guinea", "GW": "Guinea-Bissau", "GY": "Guyana", "HT": "Haiti", "HM": "Heard & McDonald Islands", "HN": "Honduras", "HK": "Hong Kong SAR China", "HU": "Hungary", "IS": "Iceland", "IN": "India", "ID": "Indonesia", "IR": "Iran", "IQ": "Iraq", "IE": "Ireland", "IM": "Isle of Man", "IT": "Italy", "CI": "Ivory Coast", "IL": "Izuraeri", "JM": "Jamaica", "JP": "Japan", "JO": "Jordan", "KH": "Kambodia", "CM": "Kameruni", "CA": "Kanada", "KZ": "Kazakhstan", "KE": "Kenya", "KI": "Kiribati", "CO": "Kolombia", "KM": "Komoro", "CG": "Kongo", "HR": "Korasia", "KP": "Korea, North", "KR": "Korea, South", "CR": "Kostarika", "KW": "Kuwait", "KG": "Kyrgyzstan", "LA": "Laos", "LV": "Latvia", "LB": "Lebanon", "LS": "Lesotho", "LR": "Liberia", "LY": "Libya", "LI": "Liechtenstein", "LT": "Lithuania", "LU": "Luxembourg", "MO": "Macao SAR China", "MG": "Madagascar", "MW": "Malawi", "MY": "Malaysia", "MV": "Maldives", "ML": "Mali", "MT": "Malta", "MQ": "Martinique", "MR": "Mauritania", "MU": "Mauritius", "YT": "Mayotte", "MX": "Mexico", "MD": "Moldova", "MC": "Monaco", "MN": "Mongolia", "ME": "Montenegro", "MS": "Montserrat", "MA": "Morocco", "MZ": "Mozambique", "MM": "Myanmar", "NA": "Namibia", "NR": "Nauru", "NP": "Nepal", "NL": "Netherlands", "NC": "New Caledonia", "NZ": "New Zealand", "NI": "Nicaragua", "NE": "Niger", "NG": "Nigeria", "NU": "Niue", "MK": "North Macedonia", "NO": "Norway", "OM": "Oman", "PK": "Pakistan", "PW": "Palau", "PA": "Panama", "PG": "Papua New Guinea", "PY": "Paraguay", "PE": "Peru", "PH": "Philippines", "PN": "Pitcairn", "PL": "Poland", "PT": "Portugal", "PR": "Puerto Rico", "QA": "Qatar", "RE": "R\u00e9union", "RO": "Romania", "RU": "Russia", "RW": "Rwanda", "SH": "Saint Helena", "KN": "Saint Kitts and Nevis", "LC": "Saint Lucia", "PM": "Saint Pierre and Miquelon", "VC": "Saint Vincent and the Grenadines", "WS": "Samoa", "AS": "Samoa ye Amerika", "SM": "San Marino", "ST": "S\u00e3o Tom\u00e9 and Pr\u00edncipe", "SA": "Saudi Arabia", "SN": "Senegal", "RS": "Serbia", "SC": "Seychelles", "SL": "Sierra Leone", "SG": "Singapore", "SX": "Sint Maarten", "SK": "Slovakia", "SI": "Slovenia", "SO": "Somalia", "ZA": "South Africa", "GS": "South Georgia & South Sandwich Islands", "SS": "South Sudan", "ES": "Spain", "LK": "Sri Lanka", "BL": "St. Barth\u00e9lemy", "MF": "St. Martin", "SD": "Sudan", "SR": "Suriname", "SJ": "Svalbard & Jan Mayen", "SZ": "Swaziland", "SE": "Sweden", "CH": "Switzerland", "SY": "Syria", "TW": "Taiwan", "TJ": "Tajikistan", "TZ": "Tanzania", "TH": "Thailand", "TG": "Togo", "TK": "Tokelau", "TO": "Tonga", "TT": "Trinidad and Tobago", "TN": "Tunisia", "TR": "Turkey", "TM": "Turkmenistan", "UG": "Uganda", "UA": "Ukraine", "AE": "United Arab Emirates", "GB": "United Kingdom", "UY": "Uruguay", "UZ": "Uzbekistan", "VU": "Vanuatu", "VA": "Vatican State", "VE": "Venezuela", "VN": "Vietnam", "WF": "Wallis and Futuna", "EH": "Western Sahara", "YE": "Yemen", "ZM": "Zambia", "ZW": "Zimbabwe", "SB": "Zvitsuwa zvaSolomon", "VI": "Zvitsuwa zveAmerika", "CV": "Zvitsuwa zveCape Verde", "KY": "Zvitsuwa zveCayman", "CK": "Zvitsuwa zveCook", "FK": "Zvitsuwa zveFalklands", "VG": "Zvitsuwa zveHingirandi", "TC": "Zvitsuwa zveTurk neCaico"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/sq.json b/desktop/onionshare/resources/countries/sq.json
new file mode 100644
index 00000000..b62bfcd0
--- /dev/null
+++ b/desktop/onionshare/resources/countries/sq.json
@@ -0,0 +1 @@
+{"AF": "Afganistan", "ZA": "Afrika e Jugut", "DZ": "Algjeri", "AD": "Andorr\u00eb", "AO": "Angol\u00eb", "AI": "Anguil\u00eb", "AQ": "Antarktik\u00eb", "AG": "Antigua e Barbuda", "SA": "Arabi Saudite", "AR": "Argjentin\u00eb", "AM": "Armeni", "AW": "Arub\u00eb", "AU": "Australi", "AT": "Austri", "AZ": "Azerbajxhan", "BS": "Bahama", "BH": "Bahrejn", "BD": "Bangladesh", "BB": "Barbados", "BE": "Belgjik\u00eb", "BZ": "Beliz\u00eb", "BJ": "Benin", "BM": "Bermude", "BY": "Bjellorusi", "BO": "Bolivi", "BA": "Bosnj\u00eb-Hercegovin\u00eb", "BW": "Botsvan\u00eb", "BR": "Brazil", "BN": "Brunei", "BG": "Bullgari", "BF": "Burkina-Faso", "BI": "Burundi", "BT": "Butan", "CI": "C\u00f4te d\u2019Ivoire", "TD": "\u00c7ad", "CZ": "\u00c7eki", "DK": "Danimark\u00eb", "DM": "Dominik\u00eb", "EG": "Egjipt", "EC": "Ekuador", "AE": "Emiratet e Bashkuara Arabe", "ER": "Eritre", "EE": "Estoni", "SZ": "Esvatini", "ET": "Etiopi", "PH": "Filipine", "FI": "Finland\u00eb", "FJ": "Fixhi", "FR": "Franc\u00eb", "GA": "Gabon", "GM": "Gambi", "GH": "Gan\u00eb", "GG": "Gernsej", "GD": "Granad\u00eb", "GR": "Greqi", "GL": "Gr\u00ebnland\u00eb", "GP": "Guadelup\u00eb", "GF": "Guajana Franceze", "GY": "Guajan\u00eb", "GU": "Guam", "GT": "Guatemal\u00eb", "GN": "Guine", "GW": "Guine-Bisau", "PG": "Guineja e Re-Papua", "GQ": "Guineja Ekuatoriale", "GE": "Gjeorgji", "DE": "Gjermani", "GI": "Gjibraltar", "HT": "Haiti", "NL": "Holand\u00eb", "HN": "Honduras", "HU": "Hungari", "IN": "Indi", "ID": "Indonezi", "IQ": "Irak", "IR": "Iran", "IE": "Irland\u00eb", "IS": "Island\u00eb", "AX": "Ishujt Aland\u00eb", "VG": "Ishujt e Virgj\u00ebr Britanik\u00eb", "VI": "Ishujt e Virgj\u00ebr t\u00eb SHBA-s\u00eb", "FK": "Ishujt Falkland", "FO": "Ishujt Faroe", "HM": "Ishujt H\u00ebrd e Mekdonald", "KY": "Ishujt Kajman", "CC": "Ishujt Kokos", "CK": "Ishujt Kuk", "PN": "Ishujt Pitkern", "SB": "Ishujt Solomon", "TC": "Ishujt Turks dhe Kaikos", "BV": "Ishulli Bove", "CX": "Ishulli i Krishtlindjes", "IM": "Ishulli i Manit", "NF": "Ishulli Norfolk", "IT": "Itali", "IL": "Izrael", "JP": "Japoni", "YE": "Jemen", "JO": "Jordani", "NC": "Kaledoni e Re", "KH": "Kamboxhia", "CM": "Kamerun", "CA": "Kanada", "BQ": "Karaibet holandeze", "QA": "Katar", "KZ": "Kazakistan", "KE": "Kenia", "CV": "Kepi i Gjelb\u00ebr", "CL": "Kili", "CN": "Kin\u00eb", "KG": "Kirgizi", "KI": "Kiribati", "CO": "Kolumbi", "KM": "Komore", "CG": "Kongo-Brazavil\u00eb", "CD": "Kongo-Kinshasa", "KR": "Kore e Jugut", "KP": "Kore e Veriut", "CR": "Kosta-Rik\u00eb", "HR": "Kroaci", "CU": "Kub\u00eb", "CW": "Kurasao", "KW": "Kuvajt", "LA": "Laos", "LS": "Lesoto", "LV": "Letoni", "LB": "Liban", "LR": "Liberi", "LY": "Libi", "LI": "Lihtenshtajn", "LT": "Lituani", "LU": "Luksemburg", "MG": "Madagaskar", "YT": "Majot\u00eb", "ME": "Mal i Zi", "MY": "Malajzi", "MW": "Malavi", "MV": "Maldive", "ML": "Mali", "MT": "Malt\u00eb", "MK": "Maqedonia e Veriut", "MA": "Marok", "MQ": "Martinik\u00eb", "MR": "Mauritani", "MU": "Mauritius", "GB": "Mbret\u00ebria e Bashkuar", "MX": "Meksik\u00eb", "MM": "Mianmar (Burm\u00eb)", "MD": "Moldavi", "MC": "Monako", "MN": "Mongoli", "MS": "Montserat", "MZ": "Mozambik", "NA": "Namibi", "NR": "Nauru", "NP": "Nepal", "NE": "Niger", "NG": "Nigeri", "NI": "Nikaragua", "NU": "Niue", "NO": "Norvegji", "OM": "Oman", "PK": "Pakistan", "PW": "Palau", "PA": "Panama", "PY": "Paraguai", "PE": "Peru", "PF": "Polinezia Franceze", "PL": "Poloni", "PR": "Porto-Riko", "PT": "Portugali", "CY": "Qipro", "DO": "Republika Dominikane", "CF": "Republika e Afrik\u00ebs Qendrore", "RE": "Reunion", "HK": "RPA i Hong-Kongut", "MO": "RPA i Makaos", "RW": "Ruand\u00eb", "RO": "Rumani", "RU": "Rusi", "EH": "Saharaja Per\u00ebndimore", "SV": "Salvador", "WS": "Samoa", "AS": "Samoa Amerikane", "SM": "San-Marino", "ST": "Sao-Tome e Principe", "SC": "Sejshelle", "BL": "Sen-Bartelemi", "MF": "Sen-Marten", "SN": "Senegal", "RS": "Serbi", "SL": "Sierra-Leone", "SG": "Singapor", "SX": "Sint-Marten", "SY": "Siri", "SK": "Sllovaki", "SI": "Slloveni", "SO": "Somali", "ES": "Spanj\u00eb", "LK": "Sri-Lank\u00eb", "SD": "Sudan", "SS": "Sudani i Jugut", "SE": "Suedi", "SR": "Surinami", "SJ": "Svalbard e Jan-Majen", "US": "SHBA", "SH": "Sh\u00ebn-Elen\u00eb", "KN": "Sh\u00ebn-Kits dhe Nevis", "LC": "Sh\u00ebn-Lu\u00e7ia", "PM": "Sh\u00ebn-Pier dhe Mikelon", "VC": "Sh\u00ebn-Vincent dhe Grenadine", "AL": "Shqip\u00ebri", "TH": "Tajland\u00eb", "TW": "Tajvan", "TZ": "Tanzani", "TJ": "Taxhikistan", "TF": "Territoret Jugore Franceze", "IO": "Territori Britanik i Oqeanit Indian", "TL": "Timor-Leste", "TG": "Togo", "TK": "Tokelau", "TO": "Tonga", "TT": "Trinidad e Tobago", "TN": "Tunizi", "TM": "Turkmenistan", "TR": "Turqi", "UG": "Ugand\u00eb", "UA": "Ukrain\u00eb", "WF": "Uollis e Futuna", "UY": "Uruguai", "UZ": "Uzbekistan", "VU": "Vanuatu", "VA": "Vatikan", "VE": "Venezuel\u00eb", "VN": "Vietnam", "JM": "Xhamajk\u00eb", "DJ": "Xhibuti", "GS": "Xhorxha Jugore dhe Ishujt Sendui\u00e7\u00eb t\u00eb Jugut", "ZM": "Zambi", "NZ": "Zeland\u00eb e Re", "ZW": "Zimbabve", "CH": "Zvic\u00ebr"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/sw.json b/desktop/onionshare/resources/countries/sw.json
new file mode 100644
index 00000000..af11fd2f
--- /dev/null
+++ b/desktop/onionshare/resources/countries/sw.json
@@ -0,0 +1 @@
+{"AF": "Afghanistan", "ZA": "Afrika Kusini", "IS": "Aisilandi", "AR": "Ajentina", "AL": "Albania", "DZ": "Aljeria", "AD": "Andorra", "AO": "Angola", "AI": "Anguilla", "AQ": "Antaktiki", "AG": "Antigua na Barbuda", "AM": "Armenia", "AW": "Aruba", "AU": "Australia", "AT": "Austria", "IE": "Ayalandi", "AZ": "Azerbaijani", "BB": "Babadosi", "BS": "Bahama", "BH": "Bahareni", "BD": "Bangladeshi", "BY": "Belarus", "BZ": "Belize", "BJ": "Benin", "BM": "Bermuda", "BT": "Bhutan", "BO": "Bolivia", "BA": "Bosnia na Hezegovina", "BW": "Botswana", "BR": "Brazil", "BN": "Brunei", "BF": "Bukinafaso", "BG": "Bulgaria", "BI": "Burundi", "CV": "Cape Verde", "TD": "Chad", "CZ": "Chechia", "CL": "Chile", "CI": "Cote d\u2019Ivoire", "HR": "Croatia", "CU": "Cuba", "CW": "Curacao", "CY": "Cyprus", "DK": "Denmark", "DM": "Dominika", "EC": "Ecuador", "SV": "El Salvador", "IO": "Eneo la Uingereza katika Bahari Hindi", "ER": "Eritrea", "EE": "Estonia", "ET": "Ethiopia", "AE": "Falme za Kiarabu", "FJ": "Fiji", "GA": "Gabon", "GM": "Gambia", "GH": "Ghana", "GI": "Gibraltar", "GN": "Gine", "GW": "Ginebisau", "GL": "Greenland", "GD": "Grenada", "GP": "Guadeloupe", "GU": "Guam", "GT": "Guatemala", "GG": "Guernsey", "GF": "Guiana ya Ufaransa", "GQ": "Guinea ya Ikweta", "GY": "Guyana", "HT": "Haiti", "TF": "Himaya za Kusini za Kifaranza", "HN": "Honduras", "HK": "Hong Kong SAR China", "HU": "Hungaria", "IN": "India", "ID": "Indonesia", "IQ": "Iraki", "IR": "Iran", "IL": "Israeli", "IT": "Italia", "JM": "Jamaika", "CF": "Jamhuri ya Afrika ya Kati", "DO": "Jamhuri ya Dominika", "CD": "Jamhuri ya Kidemokrasia ya Kongo", "JP": "Japani", "DJ": "Jibuti", "GE": "Jojia", "JO": "Jordan", "KH": "Kambodia", "CM": "Kameruni", "CA": "Kanada", "KZ": "Kazakistani", "KE": "Kenya", "KI": "Kiribati", "KG": "Kirigizistani", "BV": "Kisiwa cha Bouvet", "HM": "Kisiwa cha Heard na Visiwa vya McDonald", "CX": "Kisiwa cha Krismasi", "IM": "Kisiwa cha Man", "NF": "Kisiwa cha Norfolk", "CO": "Kolombia", "KM": "Komoro", "CG": "Kongo - Brazzaville", "KP": "Korea Kaskazini", "KR": "Korea Kusini", "CR": "Kostarika", "KW": "Kuwait", "LA": "Laos", "LV": "Latvia", "LB": "Lebanon", "LS": "Lesoto", "LR": "Liberia", "LY": "Libya", "LI": "Liechtenstein", "LT": "Lithuania", "LU": "Luxembourg", "MG": "Madagaska", "MO": "Makau SAR China", "MW": "Malawi", "MV": "Maldives", "MY": "Malesia", "ML": "Mali", "MT": "Malta", "US": "Marekani", "MQ": "Martinique", "MK": "Masedonia ya Kaskazini", "YT": "Mayotte", "MX": "Meksiko", "EG": "Misri", "VA": "Mji wa Vatican", "MD": "Moldova", "MC": "Monaco", "MN": "Mongolia", "ME": "Montenegro", "MS": "Montserrat", "MU": "Morisi", "MR": "Moritania", "MA": "Morocco", "MZ": "Msumbiji", "MM": "Myanmar (Burma)", "NA": "Namibia", "NR": "Nauru", "NP": "Nepal", "NC": "New Caledonia", "NE": "Niger", "NG": "Nigeria", "NI": "Nikaragwa", "NU": "Niue", "NO": "Norway", "NZ": "Nyuzilandi", "OM": "Oman", "PK": "Pakistani", "PW": "Palau", "PA": "Panama", "PG": "Papua New Guinea", "PY": "Paraguay", "PE": "Peru", "PL": "Poland", "PF": "Polynesia ya Ufaransa", "PR": "Puerto Rico", "QA": "Qatar", "RE": "Reunion", "RO": "Romania", "RW": "Rwanda", "EH": "Sahara Magharibi", "WS": "Samoa", "AS": "Samoa ya Marekani", "SM": "San Marino", "PM": "Santapierre na Miquelon", "ST": "S\u00e3o Tom\u00e9 na Pr\u00edncipe", "SA": "Saudia", "SN": "Senegali", "RS": "Serbia", "SL": "Siera Leoni", "SG": "Singapore", "SX": "Sint Maarten", "SK": "Slovakia", "SI": "Slovenia", "SO": "Somalia", "LK": "Sri Lanka", "BL": "St. Barthelemy", "SH": "St. Helena", "KN": "St. Kitts na Nevis", "LC": "St. Lucia", "MF": "St. Martin", "VC": "St. Vincent na Grenadines", "SD": "Sudan", "SS": "Sudan Kusini", "SR": "Suriname", "SJ": "Svalbard na Jan Mayen", "SY": "Syria", "TH": "Tailandi", "TW": "Taiwan", "TJ": "Tajikistani", "TZ": "Tanzania", "TL": "Timor-Leste", "TG": "Togo", "TK": "Tokelau", "TO": "Tonga", "TT": "Trinidad na Tobago", "TN": "Tunisia", "TM": "Turkmenistan", "BE": "Ubelgiji", "CN": "Uchina", "GB": "Ufalme wa Muungano", "FR": "Ufaransa", "PH": "Ufilipino", "FI": "Ufini", "UG": "Uganda", "GR": "Ugiriki", "ES": "Uhispania", "NL": "Uholanzi", "BQ": "Uholanzi ya Karibiani", "DE": "Ujerumani", "UA": "Ukraine", "PT": "Ureno", "UY": "Uruguay", "RU": "Urusi", "SC": "Ushelisheli", "SZ": "Uswazi", "SE": "Uswidi", "CH": "Uswisi", "TR": "Uturuki", "UZ": "Uzibekistani", "VU": "Vanuatu", "VE": "Venezuela", "VN": "Vietnam", "AX": "Visiwa vya Aland", "KY": "Visiwa vya Cayman", "CC": "Visiwa vya Cocos (Keeling)", "CK": "Visiwa vya Cook", "FK": "Visiwa vya Falkland", "FO": "Visiwa vya Faroe", "GS": "Visiwa vya Georgia Kusini na Sandwich Kusini", "PN": "Visiwa vya Pitcairn", "SB": "Visiwa vya Solomon", "TC": "Visiwa vya Turks na Caicos", "VI": "Visiwa vya Virgin, Marekani", "VG": "Visiwa vya Virgin, Uingereza", "WF": "Wallis na Futuna", "YE": "Yemeni", "ZM": "Zambia", "ZW": "Zimbabwe"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/vi.json b/desktop/onionshare/resources/countries/vi.json
new file mode 100644
index 00000000..11959b30
--- /dev/null
+++ b/desktop/onionshare/resources/countries/vi.json
@@ -0,0 +1 @@
+{"SA": "\u1ea2 R\u1eadp X\u00ea-\u00fat", "AF": "Afghanistan", "EG": "Ai C\u1eadp", "AL": "Albania", "DZ": "Algeria", "AD": "Andorra", "AO": "Angola", "AI": "Anguilla", "AG": "Antigua v\u00e0 Barbuda", "AT": "\u00c1o", "AR": "Argentina", "AM": "Armenia", "AW": "Aruba", "AU": "Australia", "AZ": "Azerbaijan", "IN": "\u1ea4n \u0110\u1ed9", "PL": "Ba Lan", "BS": "Bahamas", "BH": "Bahrain", "BD": "Bangladesh", "BB": "Barbados", "MK": "B\u1eafc Macedonia", "BY": "Belarus", "BZ": "Belize", "BJ": "Benin", "BM": "Bermuda", "BT": "Bhutan", "BE": "B\u1ec9", "BO": "Bolivia", "BA": "Bosnia v\u00e0 Herzegovina", "BW": "Botswana", "PT": "B\u1ed3 \u0110\u00e0o Nha", "BR": "Brazil", "BN": "Brunei", "BG": "Bulgaria", "BF": "Burkina Faso", "BI": "Burundi", "BQ": "Ca-ri-b\u00ea H\u00e0 Lan", "AE": "C\u00e1c Ti\u1ec3u V\u01b0\u01a1ng qu\u1ed1c \u1ea2 R\u1eadp Th\u1ed1ng nh\u1ea5t", "CM": "Cameroon", "KH": "Campuchia", "CA": "Canada", "CV": "Cape Verde", "TD": "Chad", "CL": "Chile", "CO": "Colombia", "KM": "Comoros", "CG": "Congo - Brazzaville", "CD": "Congo - Kinshasa", "CR": "Costa Rica", "DO": "C\u1ed9ng h\u00f2a Dominica", "CF": "C\u1ed9ng h\u00f2a Trung Phi", "CI": "C\u00f4te d\u2019Ivoire", "HR": "Croatia", "CU": "Cuba", "CW": "Cura\u00e7ao", "DJ": "Djibouti", "DM": "Dominica", "TW": "\u0110\u00e0i Loan", "DK": "\u0110an M\u1ea1ch", "BV": "\u0110\u1ea3o Bouvet", "CX": "\u0110\u1ea3o Gi\u00e1ng Sinh", "IM": "\u0110\u1ea3o Man", "NF": "\u0110\u1ea3o Norfolk", "DE": "\u0110\u1ee9c", "EC": "Ecuador", "SV": "El Salvador", "ER": "Eritrea", "EE": "Estonia", "ET": "Ethiopia", "FJ": "Fiji", "GA": "Gabon", "GM": "Gambia", "GE": "Georgia", "GH": "Ghana", "GI": "Gibraltar", "GL": "Greenland", "GD": "Grenada", "GP": "Guadeloupe", "GU": "Guam", "GT": "Guatemala", "GG": "Guernsey", "GF": "Guiana thu\u1ed9c Ph\u00e1p", "GN": "Guinea", "GQ": "Guinea X\u00edch \u0110\u1ea1o", "GW": "Guinea-Bissau", "GY": "Guyana", "NL": "H\u00e0 Lan", "HT": "Haiti", "KR": "H\u00e0n Qu\u1ed1c", "US": "Hoa K\u1ef3", "HN": "Honduras", "HK": "H\u1ed3ng K\u00f4ng, Trung Qu\u1ed1c", "HU": "Hungary", "GR": "Hy L\u1ea1p", "IS": "Iceland", "ID": "Indonesia", "IR": "Iran", "IQ": "Iraq", "IE": "Ireland", "IL": "Israel", "IT": "Italy", "JM": "Jamaica", "JO": "Jordan", "KZ": "Kazakhstan", "KE": "Kenya", "KI": "Kiribati", "KW": "Kuwait", "KG": "Kyrgyzstan", "IO": "L\u00e3nh th\u1ed5 \u1ea4n \u0110\u1ed9 D\u01b0\u01a1ng thu\u1ed9c Anh", "TF": "L\u00e3nh th\u1ed5 ph\u00eda Nam Thu\u1ed9c Ph\u00e1p", "LA": "L\u00e0o", "LV": "Latvia", "LS": "Lesotho", "LB": "Li-b\u0103ng", "LR": "Liberia", "LY": "Libya", "LI": "Liechtenstein", "LT": "Litva", "LU": "Luxembourg", "MA": "Ma-r\u1ed1c", "MO": "Macao, Trung Qu\u1ed1c", "MG": "Madagascar", "MW": "Malawi", "MY": "Malaysia", "MV": "Maldives", "ML": "Mali", "MT": "Malta", "MQ": "Martinique", "MR": "Mauritania", "MU": "Mauritius", "YT": "Mayotte", "MX": "Mexico", "MD": "Moldova", "MC": "Monaco", "ME": "Montenegro", "MS": "Montserrat", "MZ": "Mozambique", "MN": "M\u00f4ng C\u1ed5", "MM": "Myanmar (Mi\u1ebfn \u0110i\u1ec7n)", "NO": "Na Uy", "AQ": "Nam C\u1ef1c", "GS": "Nam Georgia & Qu\u1ea7n \u0111\u1ea3o Nam Sandwich", "ZA": "Nam Phi", "SS": "Nam Sudan", "NA": "Namibia", "NR": "Nauru", "NP": "Nepal", "NC": "New Caledonia", "NZ": "New Zealand", "RU": "Nga", "JP": "Nh\u1eadt B\u1ea3n", "NI": "Nicaragua", "NE": "Niger", "NG": "Nigeria", "NU": "Niue", "OM": "Oman", "PK": "Pakistan", "PW": "Palau", "PA": "Panama", "PG": "Papua New Guinea", "PY": "Paraguay", "PE": "Peru", "FR": "Ph\u00e1p", "FI": "Ph\u1ea7n Lan", "PH": "Philippines", "PF": "Polynesia thu\u1ed9c Ph\u00e1p", "PR": "Puerto Rico", "QA": "Qatar", "AX": "Qu\u1ea7n \u0111\u1ea3o \u00c5land", "KY": "Qu\u1ea7n \u0111\u1ea3o Cayman", "CC": "Qu\u1ea7n \u0111\u1ea3o Cocos (Keeling)", "CK": "Qu\u1ea7n \u0111\u1ea3o Cook", "FK": "Qu\u1ea7n \u0111\u1ea3o Falkland", "FO": "Qu\u1ea7n \u0111\u1ea3o Faroe", "HM": "Qu\u1ea7n \u0111\u1ea3o Heard v\u00e0 McDonald", "PN": "Qu\u1ea7n \u0111\u1ea3o Pitcairn", "SB": "Qu\u1ea7n \u0111\u1ea3o Solomon", "TC": "Qu\u1ea7n \u0111\u1ea3o Turks v\u00e0 Caicos", "VG": "Qu\u1ea7n \u0111\u1ea3o Virgin thu\u1ed9c Anh", "VI": "Qu\u1ea7n \u0111\u1ea3o Virgin thu\u1ed9c M\u1ef9", "RE": "R\u00e9union", "RO": "Romania", "RW": "Rwanda", "PM": "Saint Pierre v\u00e0 Miquelon", "WS": "Samoa", "AS": "Samoa thu\u1ed9c M\u1ef9", "SM": "San Marino", "ST": "S\u00e3o Tom\u00e9 v\u00e0 Pr\u00edncipe", "CZ": "S\u00e9c", "SN": "Senegal", "RS": "Serbia", "SC": "Seychelles", "SL": "Sierra Leone", "SG": "Singapore", "SX": "Sint Maarten", "CY": "S\u00edp", "SK": "Slovakia", "SI": "Slovenia", "SO": "Somalia", "LK": "Sri Lanka", "BL": "St. Barth\u00e9lemy", "SH": "St. Helena", "KN": "St. Kitts v\u00e0 Nevis", "LC": "St. Lucia", "MF": "St. Martin", "VC": "St. Vincent v\u00e0 Grenadines", "SD": "Sudan", "SR": "Suriname", "SJ": "Svalbard v\u00e0 Jan Mayen", "SZ": "Swaziland", "SY": "Syria", "TJ": "Tajikistan", "TZ": "Tanzania", "ES": "T\u00e2y Ban Nha", "EH": "T\u00e2y Sahara", "TH": "Th\u00e1i Lan", "VA": "Th\u00e0nh Vatican", "TR": "Th\u1ed5 Nh\u0129 K\u1ef3", "SE": "Th\u1ee5y \u0110i\u1ec3n", "CH": "Th\u1ee5y S\u0129", "TL": "Timor-Leste", "TG": "Togo", "TK": "Tokelau", "TO": "Tonga", "KP": "Tri\u1ec1u Ti\u00ean", "TT": "Trinidad v\u00e0 Tobago", "CN": "Trung Qu\u1ed1c", "TN": "Tunisia", "TM": "Turkmenistan", "UG": "Uganda", "UA": "Ukraina", "UY": "Uruguay", "UZ": "Uzbekistan", "VU": "Vanuatu", "VE": "Venezuela", "VN": "Vi\u1ec7t Nam", "GB": "V\u01b0\u01a1ng qu\u1ed1c Anh", "WF": "Wallis v\u00e0 Futuna", "YE": "Yemen", "ZM": "Zambia", "ZW": "Zimbabwe"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/zh_Hant.json b/desktop/onionshare/resources/countries/zh_Hant.json
new file mode 100644
index 00000000..b97f9eff
--- /dev/null
+++ b/desktop/onionshare/resources/countries/zh_Hant.json
@@ -0,0 +1 @@
+{"TT": "\u5343\u91cc\u9054\u53ca\u6258\u5df4\u54e5", "TR": "\u571f\u8033\u5176", "TC": "\u571f\u514b\u65af\u53ca\u958b\u79d1\u65af\u7fa4\u5cf6", "TM": "\u571f\u5eab\u66fc", "BT": "\u4e0d\u4e39", "CF": "\u4e2d\u975e\u5171\u548c\u570b", "CN": "\u4e2d\u570b", "HK": "\u4e2d\u570b\u9999\u6e2f\u7279\u5225\u884c\u653f\u5340", "MO": "\u4e2d\u570b\u6fb3\u9580\u7279\u5225\u884c\u653f\u5340", "DK": "\u4e39\u9ea5", "EC": "\u5384\u74dc\u591a", "ER": "\u5384\u5229\u5782\u4e9e", "PG": "\u5df4\u5e03\u4e9e\u7d10\u5e7e\u5167\u4e9e", "BR": "\u5df4\u897f", "BB": "\u5df4\u8c9d\u591a", "PY": "\u5df4\u62c9\u572d", "BH": "\u5df4\u6797", "BS": "\u5df4\u54c8\u99ac", "PA": "\u5df4\u62ff\u99ac", "PK": "\u5df4\u57fa\u65af\u5766", "JP": "\u65e5\u672c", "BE": "\u6bd4\u5229\u6642", "JM": "\u7259\u8cb7\u52a0", "IL": "\u4ee5\u8272\u5217", "CA": "\u52a0\u62ff\u5927", "GA": "\u52a0\u5f6d", "MK": "\u5317\u99ac\u5176\u9813", "KP": "\u5317\u97d3", "QA": "\u5361\u9054", "CU": "\u53e4\u5df4", "TW": "\u53f0\u7063", "SZ": "\u53f2\u74e6\u5e1d\u5c3c", "NE": "\u5c3c\u65e5", "NI": "\u5c3c\u52a0\u62c9\u74dc", "NP": "\u5c3c\u6cca\u723e", "BF": "\u5e03\u5409\u7d0d\u6cd5\u7d22", "BV": "\u5e03\u5a01\u5cf6", "GP": "\u74dc\u5730\u6d1b\u666e", "GT": "\u74dc\u5730\u99ac\u62c9", "WF": "\u74e6\u5229\u65af\u7fa4\u5cf6\u548c\u5bcc\u5716\u90a3\u7fa4\u5cf6", "GM": "\u7518\u6bd4\u4e9e", "BY": "\u767d\u4fc4\u7f85\u65af", "PN": "\u76ae\u7279\u80af\u7fa4\u5cf6", "LT": "\u7acb\u9676\u5b9b", "IQ": "\u4f0a\u62c9\u514b", "IR": "\u4f0a\u6717", "IS": "\u51b0\u5cf6", "LI": "\u5217\u652f\u6566\u65af\u767b", "HU": "\u5308\u7259\u5229", "ID": "\u5370\u5c3c", "IN": "\u5370\u5ea6", "DJ": "\u5409\u5e03\u5730", "KI": "\u5409\u91cc\u5df4\u65af", "KG": "\u5409\u723e\u5409\u65af", "DM": "\u591a\u7c73\u5c3c\u514b", "DO": "\u591a\u660e\u5c3c\u52a0\u5171\u548c\u570b", "TG": "\u591a\u54e5", "AG": "\u5b89\u5730\u5361\u53ca\u5df4\u5e03\u9054", "AI": "\u5b89\u594e\u62c9", "AO": "\u5b89\u54e5\u62c9", "AD": "\u5b89\u9053\u723e", "TK": "\u6258\u514b\u52de\u7fa4\u5cf6", "BM": "\u767e\u6155\u9054", "ET": "\u8863\u7d22\u6bd4\u4e9e", "ES": "\u897f\u73ed\u7259", "EH": "\u897f\u6492\u54c8\u62c9", "HR": "\u514b\u7f85\u57c3\u897f\u4e9e", "LY": "\u5229\u6bd4\u4e9e", "HN": "\u5b8f\u90fd\u62c9\u65af", "GR": "\u5e0c\u81d8", "BN": "\u6c76\u840a", "SA": "\u6c99\u70cf\u5730\u963f\u62c9\u4f2f", "BZ": "\u8c9d\u91cc\u65af", "BJ": "\u8c9d\u5357", "GQ": "\u8d64\u9053\u5e7e\u5167\u4e9e", "ZW": "\u8f9b\u5df4\u5a01", "AM": "\u4e9e\u7f8e\u5c3c\u4e9e", "AZ": "\u4e9e\u585e\u62dc\u7136", "TZ": "\u5766\u5c1a\u5c3c\u4e9e", "NG": "\u5948\u53ca\u5229\u4e9e", "VE": "\u59d4\u5167\u745e\u62c9", "BD": "\u5b5f\u52a0\u62c9", "ZM": "\u5c1a\u6bd4\u4e9e", "PW": "\u5e1b\u7409", "LV": "\u62c9\u812b\u7dad\u4e9e", "TO": "\u6771\u52a0", "TL": "\u6771\u5e1d\u6c76", "FR": "\u6cd5\u570b", "FO": "\u6cd5\u7f85\u7fa4\u5cf6", "GF": "\u6cd5\u5c6c\u572d\u4e9e\u90a3", "TF": "\u6cd5\u5c6c\u5357\u90e8\u5c6c\u5730", "PF": "\u6cd5\u5c6c\u73bb\u91cc\u5c3c\u897f\u4e9e", "MF": "\u6cd5\u5c6c\u8056\u99ac\u4e01", "BA": "\u6ce2\u58eb\u5c3c\u4e9e\u8207\u8d6b\u585e\u54e5\u7dad\u7d0d", "BW": "\u6ce2\u672d\u90a3", "PR": "\u6ce2\u591a\u9ece\u5404", "PL": "\u6ce2\u862d", "GI": "\u76f4\u5e03\u7f85\u9640", "KE": "\u80af\u4e9e", "FI": "\u82ac\u862d", "AE": "\u963f\u62c9\u4f2f\u806f\u5408\u5927\u516c\u570b", "AR": "\u963f\u6839\u5ef7", "OM": "\u963f\u66fc", "AF": "\u963f\u5bcc\u6c57", "DZ": "\u963f\u723e\u53ca\u5229\u4e9e", "AL": "\u963f\u723e\u5df4\u5c3c\u4e9e", "RU": "\u4fc4\u7f85\u65af", "BG": "\u4fdd\u52a0\u5229\u4e9e", "ZA": "\u5357\u975e", "GS": "\u5357\u55ac\u6cbb\u4e9e\u8207\u5357\u4e09\u660e\u6cbb\u7fa4\u5cf6", "AQ": "\u5357\u6975\u6d32", "KR": "\u5357\u97d3", "SS": "\u5357\u8607\u4e39", "KZ": "\u54c8\u85a9\u514b", "TD": "\u67e5\u5fb7", "KH": "\u67ec\u57d4\u5be8", "BO": "\u73bb\u5229\u7dad\u4e9e", "CC": "\u79d1\u514b\u65af\uff08\u57fa\u9748\uff09\u7fa4\u5cf6", "KW": "\u79d1\u5a01\u7279", "TN": "\u7a81\u5c3c\u897f\u4e9e", "JO": "\u7d04\u65e6", "US": "\u7f8e\u570b", "VI": "\u7f8e\u5c6c\u7dad\u4eac\u7fa4\u5cf6", "AS": "\u7f8e\u5c6c\u85a9\u6469\u4e9e", "GB": "\u82f1\u570b", "IO": "\u82f1\u5c6c\u5370\u5ea6\u6d0b\u9818\u5730", "VG": "\u82f1\u5c6c\u7dad\u4eac\u7fa4\u5cf6", "MR": "\u8305\u5229\u5854\u5c3c\u4e9e", "GH": "\u8fe6\u7d0d", "CG": "\u525b\u679c\uff08\u5e03\u62c9\u85a9\uff09", "CD": "\u525b\u679c\uff08\u91d1\u590f\u6c99\uff09", "CO": "\u54e5\u502b\u6bd4\u4e9e", "CR": "\u54e5\u65af\u5927\u9ece\u52a0", "EG": "\u57c3\u53ca", "CK": "\u5eab\u514b\u7fa4\u5cf6", "CW": "\u5eab\u62c9\u7d22", "NO": "\u632a\u5a01", "SJ": "\u632a\u5a01\u5c6c\u65af\u74e6\u5df4\u53ca\u5c16\u68c9", "GG": "\u6839\u606f", "GL": "\u683c\u9675\u862d", "GD": "\u683c\u745e\u90a3\u9054", "TH": "\u6cf0\u570b", "HT": "\u6d77\u5730", "UG": "\u70cf\u5e72\u9054", "UA": "\u70cf\u514b\u862d", "UY": "\u70cf\u62c9\u572d", "UZ": "\u70cf\u8332\u5225\u514b", "RE": "\u7559\u5c3c\u65fa", "PE": "\u79d8\u9b6f", "NA": "\u7d0d\u7c73\u6bd4\u4e9e", "NZ": "\u7d10\u897f\u862d", "NU": "\u7d10\u57c3\u5cf6", "SO": "\u7d22\u99ac\u5229\u4e9e", "SB": "\u7d22\u7f85\u9580\u7fa4\u5cf6", "MQ": "\u99ac\u4e01\u5c3c\u514b", "ML": "\u99ac\u5229", "MY": "\u99ac\u4f86\u897f\u4e9e", "MW": "\u99ac\u62c9\u5a01", "YT": "\u99ac\u7d04\u7279\u5cf6", "MG": "\u99ac\u9054\u52a0\u65af\u52a0", "MT": "\u99ac\u723e\u4ed6", "MV": "\u99ac\u723e\u5730\u592b", "CZ": "\u6377\u514b", "SY": "\u6558\u5229\u4e9e", "IM": "\u66fc\u5cf6", "VA": "\u68b5\u8482\u5ca1", "AW": "\u8377\u5c6c\u963f\u9b6f\u5df4", "SX": "\u8377\u5c6c\u8056\u99ac\u4e01", "NL": "\u8377\u862d", "BQ": "\u8377\u862d\u52a0\u52d2\u6bd4\u5340", "MZ": "\u83ab\u4e09\u6bd4\u514b", "CM": "\u5580\u9ea5\u9686", "GE": "\u55ac\u6cbb\u4e9e", "GN": "\u5e7e\u5167\u4e9e", "GW": "\u5e7e\u5167\u4e9e\u6bd4\u7d22", "FJ": "\u6590\u6fdf", "LK": "\u65af\u91cc\u862d\u5361", "SK": "\u65af\u6d1b\u4f10\u514b", "SI": "\u65af\u6d1b\u7dad\u5c3c\u4e9e", "CL": "\u667a\u5229", "PH": "\u83f2\u5f8b\u8cd3", "CI": "\u8c61\u7259\u6d77\u5cb8", "VN": "\u8d8a\u5357", "KY": "\u958b\u66fc\u7fa4\u5cf6", "TJ": "\u5854\u5409\u514b", "SN": "\u585e\u5167\u52a0\u723e", "SC": "\u585e\u5e2d\u723e", "RS": "\u585e\u723e\u7dad\u4e9e", "AT": "\u5967\u5730\u5229", "AX": "\u5967\u862d\u7fa4\u5cf6", "EE": "\u611b\u6c99\u5c3c\u4e9e", "IE": "\u611b\u723e\u862d", "SG": "\u65b0\u52a0\u5761", "NC": "\u65b0\u5580\u91cc\u591a\u5c3c\u4e9e", "SL": "\u7345\u5b50\u5c71", "CH": "\u745e\u58eb", "SE": "\u745e\u5178", "VU": "\u842c\u90a3\u675c", "IT": "\u7fa9\u5927\u5229", "BL": "\u8056\u5df4\u745f\u7c73", "VC": "\u8056\u6587\u68ee\u53ca\u683c\u745e\u90a3\u4e01", "PM": "\u8056\u76ae\u57c3\u8207\u5bc6\u514b\u9686\u7fa4\u5cf6", "ST": "\u8056\u591a\u7f8e\u666e\u6797\u897f\u6bd4", "KN": "\u8056\u514b\u91cc\u65af\u591a\u798f\u53ca\u5c3c\u7dad\u65af", "SM": "\u8056\u99ac\u5229\u8afe", "SH": "\u8056\u8d6b\u52d2\u62ff\u5cf6", "CX": "\u8056\u8a95\u5cf6", "LC": "\u8056\u9732\u897f\u4e9e", "YE": "\u8449\u9580", "KM": "\u845b\u6469", "PT": "\u8461\u8404\u7259", "FK": "\u798f\u514b\u862d\u7fa4\u5cf6", "CV": "\u7dad\u5fb7\u89d2", "MN": "\u8499\u53e4", "MS": "\u8499\u54f2\u81d8", "ME": "\u8499\u7279\u5167\u54e5\u7f85", "BI": "\u84b2\u9686\u5730", "GY": "\u84cb\u4e9e\u90a3", "HM": "\u8d6b\u5fb7\u5cf6\u53ca\u9ea5\u5510\u7d0d\u7fa4\u5cf6", "LA": "\u5bee\u570b", "DE": "\u5fb7\u570b", "MA": "\u6469\u6d1b\u54e5", "MC": "\u6469\u7d0d\u54e5", "MD": "\u6469\u723e\u591a\u74e6", "MU": "\u6a21\u91cc\u897f\u65af", "MM": "\u7dec\u7538", "LB": "\u9ece\u5df4\u5ae9", "MX": "\u58a8\u897f\u54e5", "AU": "\u6fb3\u6d32", "RW": "\u76e7\u5b89\u9054", "LU": "\u76e7\u68ee\u5821", "NF": "\u8afe\u798f\u514b\u5cf6", "NR": "\u8afe\u9b6f", "LR": "\u8cf4\u6bd4\u745e\u4e9e", "LS": "\u8cf4\u7d22\u6258", "CY": "\u8cfd\u666e\u52d2\u65af", "SV": "\u85a9\u723e\u74e6\u591a", "WS": "\u85a9\u6469\u4e9e", "RO": "\u7f85\u99ac\u5c3c\u4e9e", "GU": "\u95dc\u5cf6", "SD": "\u8607\u4e39", "SR": "\u8607\u5229\u5357"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/locale/af.json b/desktop/onionshare/resources/locale/af.json
index a83ab609..2fa529f3 100644
--- a/desktop/onionshare/resources/locale/af.json
+++ b/desktop/onionshare/resources/locale/af.json
@@ -77,7 +77,6 @@
"gui_server_autostop_timer_expired": "Die outo-stoptydhouer het reeds afgeloop. Pas dit aan om te begin deel.",
"gui_server_autostart_timer_expired": "Die geskeduleerde tyd is verstreke. Verstel dit om met deel te begin met.",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Die outo-stoptyd kan nie dieselfde of vroeër as die outo-begintyd wees nie. Pas dit aan om te begin deel.",
- "share_via_onionshare": "Deel d.m.v. OnionShare",
"gui_share_url_description": "<b>Enigeen</b> met hierdie OnionShare-adres en privaat sleutel kan u lêers <b>aflaai</b> d.m.v. die <b>Tor Browser</b>: <img src=\"{}\" />",
"gui_website_url_description": "<b>Enigeen</b> met hierdie OnionShare-adres en privaat sleutel kan u webwerf <b>besoek</b> d.m.v. die <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Enigeen</b> met hierdie OnionShare-adres kan lêers d.m.v. die <b>Tor Browser</b> na u rekenaar <b>oplaai</b>: <img src='{}' />",
diff --git a/desktop/onionshare/resources/locale/am.json b/desktop/onionshare/resources/locale/am.json
index 6b9ef213..07f47431 100644
--- a/desktop/onionshare/resources/locale/am.json
+++ b/desktop/onionshare/resources/locale/am.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "",
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
"gui_url_label_persistent": "",
diff --git a/desktop/onionshare/resources/locale/ar.json b/desktop/onionshare/resources/locale/ar.json
index 7a898017..6f915a4d 100644
--- a/desktop/onionshare/resources/locale/ar.json
+++ b/desktop/onionshare/resources/locale/ar.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "لقد قُطع الاتصل بشبكة تور.",
"gui_server_started_after_autostop_timer": "لقد بلغ مؤقت الإيقاف التلقائي أجله قبل بدء الخادم. يُرجى إنشاء مشاركة جديدة.",
"gui_server_autostop_timer_expired": "لقد بلغ مؤقت الإيقاف التلقائي أجله. يُرجى ضبطه للبدء بالمشاركة.",
- "share_via_onionshare": "شارك باستعمال OnionShare",
"gui_share_url_description": "إن <b>أي شخص</b> لديه عنوان OnionShare هذا سيكون بوسعه <b>تنزيل</b> تلك الملفات باستخدام <b>متصفح تور</b>: <img src='{}' />",
"gui_receive_url_description": "يمكن <b>لأيّ شخص</b> لديه عنوان OnionShare هذا <b>رفع</b> الملفات إلى حاسوبك باستعمال <b>متصفح تور</b> : <img src='{}' />",
"gui_url_label_persistent": "لن تتوقف هذه المشاركة تلقائيا.<br><br>كل مشاركة لاحقة ستعيد استخدام نفس العنوان. (لاستخدام عناوين ذات الاستعمال الوحيد، عطّل خيار ”استخدم عنوانا دائما“ في الإعدادات.",
diff --git a/desktop/onionshare/resources/locale/ay.json b/desktop/onionshare/resources/locale/ay.json
index 83bc7082..6b95ddf5 100644
--- a/desktop/onionshare/resources/locale/ay.json
+++ b/desktop/onionshare/resources/locale/ay.json
@@ -116,7 +116,6 @@
"gui_server_autostart_timer_expired": "",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "",
"gui_server_doesnt_support_stealth": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_share_url_public_description": "",
"gui_website_url_description": "",
diff --git a/desktop/onionshare/resources/locale/be.json b/desktop/onionshare/resources/locale/be.json
index f571e89f..8bee1344 100644
--- a/desktop/onionshare/resources/locale/be.json
+++ b/desktop/onionshare/resources/locale/be.json
@@ -116,7 +116,6 @@
"gui_server_autostart_timer_expired": "Запланаваны час супаў. Абнавіце яго, каб пачаць адпраўку.",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Час аўтаспынення не можа быць такім жа або больш раннім, чым час аўтазапуску. Калі ласка, адрэгулюйце яго для пачатку сумеснага выкарыстання.",
"gui_server_doesnt_support_stealth": "Нажаль, гэтая версія Tor не падтрымлівае стэлс-рэжым (аўтэнтыфікацыю кліента). Паспрабуйце з дапамогай навейшай версіі Tor або скарыстайцеся агульнадаступным рэжымам, калі ён не павінен быць прыватным.",
- "share_via_onionshare": "Падзяліцца праз OnionShare",
"gui_share_url_description": "<b>Любы</b>, выкарыстоўваючы гэты адрас і прыватны ключ, можа <b>спампоўваць</b> вашы файлы праз <b>браўзер Tor</b>: <img src='{}' />",
"gui_share_url_public_description": "<b>Любы</b>, які выкарыстоўвае гэты адрас OnionShare, можа <b>спампоўваць</b> вашы файлы праз <b>браўзер Tor</b>: <img src='{}' />",
"gui_website_url_description": "<b>Любы</b>, выкарыстоўваючы гэты адрас і прыватны ключ, можа <b>наведаць</b> ваш сайт праз <b>браўзер Tor</b>: <img src='{}' />",
diff --git a/desktop/onionshare/resources/locale/bg.json b/desktop/onionshare/resources/locale/bg.json
index 3c2b7464..d06347da 100644
--- a/desktop/onionshare/resources/locale/bg.json
+++ b/desktop/onionshare/resources/locale/bg.json
@@ -1,68 +1,68 @@
{
- "not_a_readable_file": "Файлът {0:s} няма права за четене.",
- "other_page_loaded": "Зареден адрес",
- "close_on_autostop_timer": "Услугата е изключена поради достигнато време за автоматично изключване",
- "closing_automatically": "Изтеглянето е завършено, услугата е спряна",
- "large_filesize": "Предупреждение: изпращането са голям обем от данни може да отнеме часове",
+ "not_a_readable_file": "{0:s} не е четаем файл.",
+ "other_page_loaded": "Адресът е зареден",
+ "close_on_autostop_timer": "Спряно, защото автоматично спиращият таймер приключи",
+ "closing_automatically": "Спряно, защото свалянето приключи",
+ "large_filesize": "Предупреждение: изпращане на голям дял може да отнеме часове",
"systray_menu_exit": "Изход",
- "gui_drag_and_drop": "Плъзнете и пуснете тук файловете и папките, които искате да споделяте",
- "gui_add": "Добавяне",
+ "gui_drag_and_drop": "Плъзнете и пуснете файлове и папки за да започнете споделяне",
+ "gui_add": "Добавете",
"gui_choose_items": "Изберете",
- "gui_share_start_server": "Споделяне",
- "gui_share_stop_server": "Изключване на споделянето",
- "gui_share_stop_server_autostop_timer": "Изключване на споделянето ({})",
- "gui_receive_start_server": "Включване на режим получаване",
- "gui_receive_stop_server": "Изключване на режим получаване",
- "gui_receive_stop_server_autostop_timer": "Изключване на режим получаване (остават {})",
- "gui_copy_url": "Копиране на адреса",
- "gui_canceled": "Отказано",
- "gui_copied_url_title": "Адресът на OnionShare е копиран",
- "gui_copied_url": "Адресът на OnionShare е копиран",
- "gui_please_wait": "Включване… Щракнете за отменяне.",
+ "gui_share_start_server": "Започнете споделянето",
+ "gui_share_stop_server": "Спрете споделянето",
+ "gui_share_stop_server_autostop_timer": "Спрете споделянето ({} остават)",
+ "gui_receive_start_server": "Стартирайте получаващ режим",
+ "gui_receive_stop_server": "Спрете получаващия режим",
+ "gui_receive_stop_server_autostop_timer": "Спрете получаващия режим ({} остават)",
+ "gui_copy_url": "Копирайте адрес",
+ "gui_canceled": "Отменен",
+ "gui_copied_url_title": "OnionShare адресът е копиран",
+ "gui_copied_url": "OnionShare адресът е копиран към клипборда",
+ "gui_please_wait": "Започва... кликни за отменяне.",
"gui_quit_warning_quit": "Изход",
- "zip_progress_bar_format": "Компресиране: %p%",
+ "zip_progress_bar_format": "Компресира: %p%",
"gui_settings_window_title": "Настройки",
- "gui_settings_autoupdate_label": "Проверка за обновяване",
- "gui_settings_autoupdate_option": "Известие при ново издание",
+ "gui_settings_autoupdate_label": "Провери за нова версия",
+ "gui_settings_autoupdate_option": "Уведоми ме, когато е налице нова версия",
"gui_settings_autoupdate_timestamp": "Последна проверка: {}",
"gui_settings_autoupdate_timestamp_never": "Никога",
- "gui_settings_autoupdate_check_button": "Проверяване за ново издание",
- "gui_settings_connection_type_label": "Как OnionShare да се свързва с мрежата на Тор?",
- "gui_settings_connection_type_bundled_option": "Използване на вграденото в OnionShare издание на Тор",
- "gui_settings_connection_type_automatic_option": "Опитване на автоматична настройка чрез четеца Тор",
- "gui_settings_connection_type_control_port_option": "Свързване, чрез порт за управление",
- "gui_settings_connection_type_socket_file_option": "Свързване, чрез файл на сокет",
- "gui_settings_connection_type_test_button": "Проверка на връзката към Тор",
- "gui_settings_control_port_label": "Порт за управление",
- "gui_settings_socket_file_label": "Файл на сокет",
- "gui_settings_socks_label": "Порт на SOCKS",
- "gui_settings_authenticate_no_auth_option": "Без удостоверяване, нито с бисквитка",
+ "gui_settings_autoupdate_check_button": "Проверете за нова версия",
+ "gui_settings_connection_type_label": "Как OnionShare да се свържe с Тор?",
+ "gui_settings_connection_type_bundled_option": "Използвай Тор версия, вградена в OnionShare",
+ "gui_settings_connection_type_automatic_option": "Опит за автоматична конфигурация с Тор браузъра",
+ "gui_settings_connection_type_control_port_option": "Свържете, използвайки контролен порт",
+ "gui_settings_connection_type_socket_file_option": "Свържете се използвайки сокет",
+ "gui_settings_connection_type_test_button": "Тест на връзката с Тор",
+ "gui_settings_control_port_label": "Контролен порт",
+ "gui_settings_socket_file_label": "Сокет файл",
+ "gui_settings_socks_label": "SOCKS порт",
+ "gui_settings_authenticate_no_auth_option": "Без автентикация или cookie автентикация",
"gui_settings_authenticate_password_option": "Парола",
"gui_settings_password_label": "Парола",
- "gui_settings_tor_bridges": "Свързване, чрез мостове на Тор?",
- "gui_settings_meek_lite_expensive_warning": "Внимание: Проектът Тор бива таксуван при всяко ползване на мостовете meek-azure.<br><br>За това ги използвайте само ако не можете да се свържете с Тор директно, чрез obfs4 или обикновени мостове.",
- "gui_settings_tor_bridges_invalid": "Нито един от въведените от вас мостове не работи. Проверете ги или добавете други.",
+ "gui_settings_tor_bridges": "Поддръжка на Тор мост",
+ "gui_settings_meek_lite_expensive_warning": "Предупреждение: meek_lite мостовета са много скъпи за проекта Тор. <br> <br> Използвайте ги само, ако не можете да се свържете пряко чрез obfs4 транспорти или други нормални мостове с Тор.",
+ "gui_settings_tor_bridges_invalid": "Нито един от добавените от Вас мостове работят.\nПроверете ги отново или добавете други.",
"gui_settings_button_save": "Запазване",
"gui_settings_button_cancel": "Отказ",
"gui_settings_button_help": "Помощ",
- "settings_error_unknown": "Грешка при свързване с контролер на Тор поради грешни настройки.",
- "settings_error_automatic": "Грешка при свързване с контролер на Тор. Четецът Тор (достъпен от torproject. org) работи ли?",
- "settings_error_socket_port": "Грешка при свързване с контролер на Тор в {}:{}.",
- "settings_error_socket_file": "Грешка при свързване с контролер на Тор чрез файла на сокет {}.",
- "settings_error_auth": "Свързано с {}:{}, грешка при удостоверяване. Може би това не е контролер на Тор?",
- "settings_error_missing_password": "Свързан с контролер на Тор, но той изисква парола за удостоверяване.",
- "settings_error_unreadable_cookie_file": "Свързан с Тор контролер, но паролата е грешна, или на потребителя ви да не е позволено да чете файла с бисквитките.",
- "settings_error_bundled_tor_not_supported": "Изданието Тор, вградено в OnionShare не работи в режим на разработчик под Windows или macOS.",
- "settings_error_bundled_tor_timeout": "Установяването на връзка с мрежата на Тор отнема твърде много време. Уверете се, че има връзка с интернет и системният часовник е верен.",
- "settings_error_bundled_tor_broken": "OnionShare не може да се свърже с Тор във фонов режим:\n{}",
- "settings_test_success": "Свързан с контролер на Тор.\n\nИздание на Тор: {}\nПоддържа временни услуги на Onion: {}\nПоддържа удостоверяване на клиента: {}\nПоддържа следващо поколение адреси .onion: {}.",
- "error_tor_protocol_error": "Възникнала е грешка в Тор: {}",
- "connecting_to_tor": "Свързване към мрежата на Тор",
- "update_available": "Има ново издание на OnionShare. За да го изтеглите <a href='{}'>щракнете тук</a>.<br><br>Използвате {}, последно издание {}.",
- "update_error_check_error": "Грешка при проверка за ново издание: вероятно не сте свързани към Тор или страницата на OnionShare е недостъпна.",
- "update_error_invalid_latest_version": "Грешка при проверка за ново издание: страницата на OnionShare съобщава, че новото издание е неразпознато: '{}'…",
- "update_not_available": "Изпозвате псоледното издание на OnionShare.",
- "gui_tor_connection_ask": "За да бъде възстановена връзката с Тор да бъдат ли отворени настройките?",
+ "settings_error_unknown": "Не мога да се свържа с Тор контролера, защото Вашите настройки не правят смисъл.",
+ "settings_error_automatic": "Не мога да се свържа с Тор контролера. Стартиран ли е Тор браузерът във фонов режим (достъпен от torproject. org)?",
+ "settings_error_socket_port": "Не мога да се свържа с Тор контролера в {}:{}.",
+ "settings_error_socket_file": "Не мога да се свържа с Тор контролера, използвайки сокет файл {}.",
+ "settings_error_auth": "Свързан с {}:{}, но не може да се идентифицира. Може би това не е Тор контролер?",
+ "settings_error_missing_password": "Свързан с Тор контролер, но той изисква парола за идентификация.",
+ "settings_error_unreadable_cookie_file": "Свързан с Тор контролер, но паролата може да е грешна, или на Вашият потребител да не е позволено да чете бисквитката файл.",
+ "settings_error_bundled_tor_not_supported": "Използване на Тор версия, идваща с OnionShare не работи в режим на разработчик под Windows или macOS.",
+ "settings_error_bundled_tor_timeout": "Oтнема прекалено дълго време да се свържа с Тор. Може би не сте свързани с интернет или системният часовник е неточен?",
+ "settings_error_bundled_tor_broken": "OnionShare не можа да се свърже с Тор във фонов режим:\n{}",
+ "settings_test_success": "Свързан с Тор контролер.\n\nТор версия: {}\nПоддържа ephemeral onion services: {}\nПоддържа клиент автентикация: {}\nПоддържа следваща генерация .onion адреси: {}",
+ "error_tor_protocol_error": "Станала е грешка с Тор: {}",
+ "connecting_to_tor": "Свързване към Тор мрежата",
+ "update_available": "Има нов OnionShare. <a href='{}'>Кликнете тук</a>, за да го изтеглите.<br><br>Вие използвате {}, а последният е {}.",
+ "update_error_check_error": "Не мога да проверя за нови версии: OnionShare сайтът казва, че не разпознава последната версия '{}'…",
+ "update_error_invalid_latest_version": "Не мога да проверя за нова версия: Може би не сте свързани към Тор или OnionShare уебсайтът е изключен?",
+ "update_not_available": "Вие изпозвате псоледната версия на OnionShare.",
+ "gui_tor_connection_ask": "Отворете настройките, за да възстановите връзката с Тор?",
"gui_tor_connection_ask_open_settings": "Да",
"gui_tor_connection_ask_quit": "Изход",
"gui_tor_connection_error_settings": "Опитайте да промените в настройките как OnionShare се свързва с Тор.",
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "Връзката с Тор е прекъсната.",
"gui_server_started_after_autostop_timer": "Изчакването за автоматично изключване е изтекло преди сървърът да се включи. Споделете отново.",
"gui_server_autostop_timer_expired": "Изчакването за автоматично изключване е изтекло. Променете времето и споделете отново.",
- "share_via_onionshare": "Споделяне чрез OnionShare",
"gui_share_url_description": "<b>Всеки</b>, имащ адреса на OnionShare и частния ключ може да <b>изтегли</b> файловете чрез <b>Четеца Тор</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Всеки</b>, имащ адреса на OnionShare и частния ключ може да <b>изпрати</b> файлове на това устройство чрез <b>Четеца Тор</b>: <img src='{}' />",
"gui_url_label_persistent": "Този дял няма да спре автоматично.<br><br>Всеки следващ дял ще използва повторно адреса. (За да използвате еднократни адреси, изключете \"Използвайте постоянен адрес\" в настройките)",
@@ -85,10 +84,10 @@
"gui_status_indicator_receive_started": "Получаване",
"gui_file_info": "{} файла, {}",
"gui_file_info_single": "{} файл, {}",
- "history_in_progress_tooltip": "{} в изпълнение",
- "history_completed_tooltip": "{} завършени",
- "gui_receive_mode_warning": "Режимът на получаване дава възможност на други хора да качват файлове на вашето устройство.<br><br><b>Някои файлове, ако бъдат отворени, биха могли да поемат контрола върху устройството ви. Отваряйте файлове само от хора, на които имате доверие, или ако знаете какво правите.</b>",
- "systray_page_loaded_title": "Отворена е страница",
+ "history_in_progress_tooltip": "{} е в прогрес",
+ "history_completed_tooltip": "{} завършено",
+ "gui_receive_mode_warning": "Режим на приемане позволява на хора да качват файлове на Вашия компютър.<br><br><b>Някои файлове могат потенциално да поемат контрол над компютъра Ви, ако ги отворите. Отваряйте единствено неща от хора, на които вярвате или ако знаете какво правите.</b>",
+ "systray_page_loaded_title": "OnionShare страницата е заредена",
"gui_settings_language_label": "Предпочитан език",
"gui_settings_language_changed_notice": "За да влезе в сила промяната на езика е необходим рестарт на OnionShare.",
"incorrect_password": "Невярна парола",
diff --git a/desktop/onionshare/resources/locale/bn.json b/desktop/onionshare/resources/locale/bn.json
index 6e1d2c12..6a5e96a4 100644
--- a/desktop/onionshare/resources/locale/bn.json
+++ b/desktop/onionshare/resources/locale/bn.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "টর এর সাথে যোগাযোগ বিচ্ছিন্ন হয়ে গেছে।",
"gui_server_started_after_autostop_timer": "সার্ভার শুরু হওয়ার আগেই স্বয়ংক্রিয়-বন্ধ ঘড়ির সময় শেষ হয়ে গেছে। অনুগ্রহ করে আবার নতুনভাবে শেয়ার করো।",
"gui_server_autostop_timer_expired": "অটো-স্টপ টাইমারের সময় ইতিমধ্যেই শেষ হয়ে গিয়েছে। দয়া করে, শেয়ারিং শুরু করতে নতুনভাবে সময় সেট করো।",
- "share_via_onionshare": "OnionShare এর মাধমে শেয়ার করো",
"gui_share_url_description": "যার কাছেই এই ঠিকানা এবং ব্যক্তিগত কী থাকবে সে ই <b>টর ব্রাউজার</b> ব্যবহার করে এই OnionShare ঠিকানায় গিয়ে <b>যে কেউ</b> আপনার ফাইল(গুলি) <b>ডাউনলোড</b> করতে পারবে:<img src='{}' />",
"gui_receive_url_description": "যার কাছেই এই ঠিকানা এবং ব্যক্তিগত কী থাকবে সে ই <b>টর ব্রাউজার</b> ব্যবহার করে এই OnionShare ঠিকানায় গিয়ে <b>যে কেউ</b> আপনার কম্পিউটারে ফাইল <b>আপলোড</b> করতে পারবে:<img src='{}' />",
"gui_url_label_persistent": "এই শেয়ার অটো-স্টপ হবে না ।<br><br> কারণ, প্রতিটি শেয়ার এই একই স্থায়ী ঠিকানা ব্যবহার করে। (অস্থায়ী ঠিকানা ব্যবহার করতে, সেটিংসে গিয়ে 'স্থায়ী ঠিকানা ব্যবহার করুন' অপশনটির টিক চিহ্ন উঠিয়ে দিন)",
diff --git a/desktop/onionshare/resources/locale/bo.json b/desktop/onionshare/resources/locale/bo.json
index 71286f75..979c2971 100644
--- a/desktop/onionshare/resources/locale/bo.json
+++ b/desktop/onionshare/resources/locale/bo.json
@@ -116,7 +116,6 @@
"gui_server_autostart_timer_expired": "",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "",
"gui_server_doesnt_support_stealth": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_share_url_public_description": "",
"gui_website_url_description": "",
diff --git a/desktop/onionshare/resources/locale/bs.json b/desktop/onionshare/resources/locale/bs.json
index 71286f75..979c2971 100644
--- a/desktop/onionshare/resources/locale/bs.json
+++ b/desktop/onionshare/resources/locale/bs.json
@@ -116,7 +116,6 @@
"gui_server_autostart_timer_expired": "",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "",
"gui_server_doesnt_support_stealth": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_share_url_public_description": "",
"gui_website_url_description": "",
diff --git a/desktop/onionshare/resources/locale/ca.json b/desktop/onionshare/resources/locale/ca.json
index de46126c..326842e7 100644
--- a/desktop/onionshare/resources/locale/ca.json
+++ b/desktop/onionshare/resources/locale/ca.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "S'ha perdut la connexió amb Tor.",
"gui_server_started_after_autostop_timer": "El temporitzador de finalització automàtica ha acabat abans que s'iniciés el servidor. Torneu a compartir-ho.",
"gui_server_autostop_timer_expired": "El temporitzador de finalització automàtica ja s'ha acabat. Ajusteu-lo per a poder compartir.",
- "share_via_onionshare": "Comparteix-ho amb l'OnionShare",
"gui_share_url_description": "<b>Qualsevol persona</b> amb aquesta adreça d'OnionShare pot <b>baixar</b> els vostres fitxers fent servir el <b>Navegador Tor</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Qualsevol persona</b> amb aquesta adreça d'OnionShare pot <b>pujar</b> fitxers al vostre ordinador fent servir el <b>Navegador Tor</b>: <img src='{}' />",
"gui_url_label_persistent": "Aquest recurs no es tancarà ell sol.<br><br>Cada recurs compartit reutilitzarà aquesta mateixa adreça. (Si voleu crear una adreça diferent per a cada recurs, desactiveu l'opció «Utilitza una adreça persistent» a les opcions.)",
diff --git a/desktop/onionshare/resources/locale/ckb.json b/desktop/onionshare/resources/locale/ckb.json
index fbd002d4..9870e0a4 100644
--- a/desktop/onionshare/resources/locale/ckb.json
+++ b/desktop/onionshare/resources/locale/ckb.json
@@ -72,7 +72,6 @@
"gui_server_autostop_timer_expired": "Demê otomotîk-sekinandin ji berê de qediya. Ji kerema xwe dem dirêj bike ji bo weşan destpê bike.",
"gui_server_autostart_timer_expired": "Demê pilankirî derbas bû. Ji kerema xwe dîsa dirêj bike ji bo weşan destpê bike.",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Demê otomatîk-qedandin nikare ji demê otomatîk-despêkirin kêmtir and wek heve bibe. Ji kerema xwe demê wê dirêjtir bike ji bo weşan despê bike.",
- "share_via_onionshare": "Bi rêya OnionShare parve bike",
"gui_share_url_description": "<b>Her kesî</b> bi vê malpera OnionShare bikare <b>belgeryên te bi</b> TorBrowser <b>berjêr bike</b>: <img src='{}' />",
"gui_website_url_description": "<b>Her kesî</b> bi vê malpera OnionShare dikare <b>were li ser</b> malpera te <b>dema TorBrowser bikar tîne</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Her kesekî</b> bi vê malpera OnionShare dikare <b>belgeran li ser komputera te bi kar anîna</b> Tor Broweser <b>bar bike</b>: <img src='{}' />",
diff --git a/desktop/onionshare/resources/locale/cs.json b/desktop/onionshare/resources/locale/cs.json
index 2e6fd347..c3756bfd 100644
--- a/desktop/onionshare/resources/locale/cs.json
+++ b/desktop/onionshare/resources/locale/cs.json
@@ -108,7 +108,6 @@
"moat_captcha_error": "Nesprávné řešení. Zkuste to prosím znovu.",
"moat_solution_empty_error": "Zadejte znaky z obrázku",
"mode_tor_not_connected_label": "OnionShare není připojen k síti Tor",
- "share_via_onionshare": "Sdílet přes OnionShare",
"gui_url_instructions_public_mode": "Odeslat adresu OnionShare uvedenou níže:",
"gui_client_auth_instructions": "Dále zašlete soukromý klíč pro umožnění přístupu k Vaší službě OnionShare :",
"gui_status_indicator_chat_stopped": "Připraveno chatovat",
diff --git a/desktop/onionshare/resources/locale/da.json b/desktop/onionshare/resources/locale/da.json
index ff528921..72bf5f78 100644
--- a/desktop/onionshare/resources/locale/da.json
+++ b/desktop/onionshare/resources/locale/da.json
@@ -64,7 +64,6 @@
"gui_tor_connection_lost": "Der er ikke oprettet forbindelse til Tor.",
"gui_server_started_after_autostop_timer": "Timeren med automatisk stop løb ud inden serveren startede. Opret venligst en ny deling.",
"gui_server_autostop_timer_expired": "Timeren med automatisk stop er allerede løbet ud. Juster den venligst for at begynde at dele.",
- "share_via_onionshare": "Del via OnionShare",
"gui_copied_url_title": "Kopierede OnionShare-adresse",
"gui_url_label_persistent": "Delingen stopper ikke automatisk.<br><br>Enhver efterfølgende deling bruger den samme adresse igen (hvis du vil bruge engangsadresser, så deaktivér \"Brug vedvarende adresse\", i indstillingerne).",
"gui_url_label_stay_open": "Delingen stopper ikke automatisk.",
diff --git a/desktop/onionshare/resources/locale/de.json b/desktop/onionshare/resources/locale/de.json
index 7a944553..0019872b 100644
--- a/desktop/onionshare/resources/locale/de.json
+++ b/desktop/onionshare/resources/locale/de.json
@@ -66,7 +66,6 @@
"gui_tor_connection_ask_open_settings": "Ja",
"gui_tor_connection_error_settings": "Versuche in den Einstellungen zu ändern, wie sich OnionShare mit dem Tor-Netzwerk verbindet.",
"gui_tor_connection_canceled": "Konnte keine Verbindung zu Tor herstellen.\n\nStelle sicher, dass du mit dem Internet verbunden bist, öffne OnionShare erneut und richte die Verbindung zu Tor ein.",
- "share_via_onionshare": "Teilen mit OnionShare",
"gui_share_url_description": "<b>Jeder</b> kann mit dieser OnionShare-Adresse und dem privaten Schlüssel deine Dateien mit dem <b>Tor Browser</b> <b>herunterladen</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Jeder</b> mit dieser OnionShare-Adresse und dem privaten Schlüssel kann mit dem <b>Tor Browser</b> Dateien auf deinen Computer <b>hochladen</b>: <img src='{}' />",
"gui_url_label_persistent": "Diese Freigabe wird nicht automatisch beendet.<br><br>Jede folgende Freigabe wird die Adresse erneut nutzen. (Um Adressen nur einmal zu nutzen, schalte „Nutze beständige Adressen“ in den Einstellungen aus.)",
diff --git a/desktop/onionshare/resources/locale/el.json b/desktop/onionshare/resources/locale/el.json
index 58fba2e4..c9490ec7 100644
--- a/desktop/onionshare/resources/locale/el.json
+++ b/desktop/onionshare/resources/locale/el.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "Έγινε αποσύνδεση από το δίκτυο του Tor.",
"gui_server_started_after_autostop_timer": "Το χρονόμετρο αυτόματης διακοπής τελείωσε πριν την εκκίνηση του server. Παρακαλώ κάντε ένα νέο διαμοιρασμό.",
"gui_server_autostop_timer_expired": "Το χρονόμετρο αυτόματης διακοπής έχει ήδη τελειώσει. Παρακαλώ ρυθμίστε το για να ξεκινήσετε το διαμοιρασμό.",
- "share_via_onionshare": "Μοιραστείτε μέσω OnionShare",
"gui_share_url_description": "<b>Οποιοσδήποτε</b> με αυτή τη διεύθυνση OnionShare και το ιδιωτικό κλειδί μπορεί να <b>κατεβάσει</b> τα αρχεία σας χρησιμοποιώντας το <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Οποιοσδήποτε</b> με αυτή τη διεύθυνση OnionShare και το ιδιωτικό κλειδί μπορεί να <b>ανεβάσει</b> αρχεία στον υπολογιστή σας χρησιμοποιώντας το <b>Tor Browser</b>: <img src='{}' />",
"gui_url_label_persistent": "Αυτή η σελίδα διαμοιρασμού δεν θα πάψει να λειτουργεί αυτόματα.<br><br>Όσοι μοιράζονται αρχεία μαζί σας θα μπορέσουν να ξαναχρησιμοποιήσουν αυτή τη διεύθυνση αργότερα. (Για να χρησιμοποιήσετε διευθύνσεις μιας χρήσης, απενεργοποιήστε τη λειτουργία \"Χρήση μόνιμης διεύθυνσης\" στις Ρυθμίσεις.)",
diff --git a/desktop/onionshare/resources/locale/en.json b/desktop/onionshare/resources/locale/en.json
index a94325f0..287f3b00 100644
--- a/desktop/onionshare/resources/locale/en.json
+++ b/desktop/onionshare/resources/locale/en.json
@@ -116,7 +116,6 @@
"gui_server_autostart_timer_expired": "The scheduled time has already passed. Please adjust it to start sharing.",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "The auto-stop time can't be the same or earlier than the auto-start time. Please adjust it to start sharing.",
"gui_server_doesnt_support_stealth": "Sorry, this version of Tor doesn't support stealth (client authentication). Please try with a newer version of Tor, or use 'public' mode if it doesn't need to be private.",
- "share_via_onionshare": "Share via OnionShare",
"gui_share_url_description": "<b>Anyone</b> with this OnionShare address and private key can <b>download</b> your files using the <b>Tor Browser</b>: <img src='{}' />",
"gui_share_url_public_description": "<b>Anyone</b> with this OnionShare address can <b>download</b> your files using the <b>Tor Browser</b>: <img src='{}' />",
"gui_website_url_description": "<b>Anyone</b> with this OnionShare address and private key can <b>visit</b> your website using the <b>Tor Browser</b>: <img src='{}' />",
@@ -151,6 +150,7 @@
"history_requests_tooltip": "{} web requests",
"error_cannot_create_data_dir": "Could not create OnionShare data folder: {}",
"gui_receive_mode_warning": "Receive mode lets people upload files to your computer.<br><br><b>Some files can potentially take control of your computer if you open them. Only open things from people you trust, or if you know what you are doing.</b>",
+ "gui_chat_mode_explainer": "Chat mode lets you chat interactively with others, in Tor Browser.<br><br><b>Chat history is not stored in OnionShare. The chat history will disappear when you close Tor Browser.</b>",
"gui_open_folder_error": "Could not open the folder with xdg-open. The file is here: {}",
"gui_settings_language_label": "Language",
"gui_settings_theme_label": "Theme",
@@ -205,7 +205,7 @@
"gui_close_tab_warning_receive_description": "Close tab that is receiving files?",
"gui_close_tab_warning_chat_description": "Close tab that is hosting a chat server?",
"gui_close_tab_warning_website_description": "Close tab that is hosting a website?",
- "gui_close_tab_warning_close": "Close",
+ "gui_close_tab_warning_close": "Ok",
"gui_close_tab_warning_cancel": "Cancel",
"gui_quit_warning_title": "Quit OnionShare?",
"gui_quit_warning_description": "Quit and close all tabs, even though sharing is active in some of them?",
diff --git a/desktop/onionshare/resources/locale/es.json b/desktop/onionshare/resources/locale/es.json
index b2981a5a..190cf754 100644
--- a/desktop/onionshare/resources/locale/es.json
+++ b/desktop/onionshare/resources/locale/es.json
@@ -54,7 +54,6 @@
"gui_tor_connection_lost": "Se desconectó de Tor.",
"gui_server_started_after_autostop_timer": "El temporizador de parada automática expiró antes de que se iniciara el servidor. Por favor vuelve a compartirlo.",
"gui_server_autostop_timer_expired": "El temporizador de parada automática ya expiró. Por favor ajústalo para comenzar a compartir.",
- "share_via_onionshare": "Compartir con OnionShare",
"gui_share_url_description": "<b>Cualquiera</b> con esta dirección OnionShare y la clave privada puede <b>descargar</b> tus archivos usando el <b>Navegador Tor</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Cualquiera</b> con esta dirección de OnionShare y clave privada puede <b>subir</b> archivos a tu ordenador usando el <b>Navegador Tor</b>: <img src='{}' />",
"gui_url_label_persistent": "Este recurso compartido no se detendrá automáticamente.<br><br>Cada recurso compartido subsiguiente reutilizará la dirección. (Para usar direcciones una sola vez, desactiva la opción «Usar dirección persistente» en la configuración.)",
diff --git a/desktop/onionshare/resources/locale/fa.json b/desktop/onionshare/resources/locale/fa.json
index 83e8f048..0a2e62c1 100644
--- a/desktop/onionshare/resources/locale/fa.json
+++ b/desktop/onionshare/resources/locale/fa.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "اتصال با Tor قطع شده است.",
"gui_server_started_after_autostop_timer": "زمان‌سنج توقف خودکار، قبل از آغاز کارساز به پایان رسید. لطفا یک هم‌رسانی جدید درست کنید.",
"gui_server_autostop_timer_expired": "زمان‌سنج توقف خودکار به پایان رسید. لطفا برای آغاز هم‌رسانی آن را تنظیم کنید.",
- "share_via_onionshare": "هم‌رسانی با OnionShare",
"gui_share_url_description": "<b>هر کس</b> با این نشانی OnionShare و کلید خصوصی می‌تواند توسط <b>مرورگر Tor ‌‍‎‏‪‫</b> فایل‌های شما را <b>بارگیری کند‮</b>:‭<img src='{}' />",
"gui_receive_url_description": "<b>هر کس</b> با این نشانی OnionShare و کلید خصوصی می‌تواند توسط <b>مرورگر Tor ‌‍‎‏‪‫</b> فایل‌هایی را بر روی رایانه شما <b>بارگذاری کند‮</b>:‭<img src='{}' />",
"gui_url_label_persistent": "این هم‌رسانی به صورت خودکار متوقف نمی‌شود.<br><br>هم‌رسانی‌های بعدی هم از همین نشانی استفاده می‌کنند. (برای استفاده از نشانی‌های یک‌بارمصرف، گزینه «استفاده از آدرس پایا» را در تنظیمات غیرفعال کنید.)",
diff --git a/desktop/onionshare/resources/locale/fi.json b/desktop/onionshare/resources/locale/fi.json
index ed7b57b1..0acd80c8 100644
--- a/desktop/onionshare/resources/locale/fi.json
+++ b/desktop/onionshare/resources/locale/fi.json
@@ -71,7 +71,6 @@
"gui_tor_connection_lost": "Tor-yhteys katkaistu.",
"gui_server_started_after_autostop_timer": "Automaattinen loputusajastin pysäytti toiminnon ennen palvelimen käynnistymistä. Luo uusi jako.",
"gui_server_autostop_timer_expired": "Automaattinen pysäytysajastin päättyi jo. Säädä se jaon aloittamiseksi.",
- "share_via_onionshare": "Jaa OnionSharella",
"gui_share_url_description": "<b>Kaikki</b> joilla on tämä OnionShare-osoite voivat <b>ladata</b> tiedostojasi käyttämällä <b>Tor-selainta</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Kaikki</b> joilla on tämä OnionShare-osoite voivat <b>lähettää</b>tiedostoja tietokoneellesi käyttämällä <b>Tor-selainta</b>: <img src='{}' />",
"gui_url_label_persistent": "Tämä jako ei pysähdy automaattisesti.<br><br>Jokainen seuraava jako käyttää osoitetta uudelleen. (Jos haluat käyttää kertaluontoisia osoitteita, sammuta \"Käytä pysyvää osoitetta\" asetuksissa.)",
diff --git a/desktop/onionshare/resources/locale/fil.json b/desktop/onionshare/resources/locale/fil.json
index 83bc7082..6b95ddf5 100644
--- a/desktop/onionshare/resources/locale/fil.json
+++ b/desktop/onionshare/resources/locale/fil.json
@@ -116,7 +116,6 @@
"gui_server_autostart_timer_expired": "",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "",
"gui_server_doesnt_support_stealth": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_share_url_public_description": "",
"gui_website_url_description": "",
diff --git a/desktop/onionshare/resources/locale/fr.json b/desktop/onionshare/resources/locale/fr.json
index 0a5fffb4..849c5bff 100644
--- a/desktop/onionshare/resources/locale/fr.json
+++ b/desktop/onionshare/resources/locale/fr.json
@@ -58,7 +58,6 @@
"gui_tor_connection_ask_open_settings": "Oui",
"gui_tor_connection_ask_quit": "Fermer",
"gui_tor_connection_lost": "Vous êtes déconnecté de Tor.",
- "share_via_onionshare": "Partager avec OnionShare",
"gui_share_url_description": "<b>Quiconque</b> disposant de cette adresse OnionShare et de cette clé privée peut <b>télécharger</b> vos fichiers en utilisant le <b>Navigateur Tor</b> : <img src='{}' />",
"gui_receive_url_description": "<b>Quiconque</b> disposant de cette adresse OnionShare et de cette clé privée peut <b>téléverser</b> des fichiers vers votre ordinateur en utilisant le <b>Navigateur Tor</b> : <img src='{}' />",
"gui_url_label_persistent": "Ce partage ne s’arrêtera pas automatiquement.<br><br>Tout partage subséquent réutilisera l’adresse. (Pour des adresses qui ne peuvent être utilisées qu’une fois, désactivez « Utiliser une adresse persistante » dans les paramètres.)",
diff --git a/desktop/onionshare/resources/locale/ga.json b/desktop/onionshare/resources/locale/ga.json
index 65991aff..0cc00667 100644
--- a/desktop/onionshare/resources/locale/ga.json
+++ b/desktop/onionshare/resources/locale/ga.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "Dícheangailte ó Tor.",
"gui_server_started_after_autostop_timer": "Bhí an t-amadóir uathstoptha caite sular thosaigh an freastalaí. Caithfidh tú comhroinnt nua a chruthú.",
"gui_server_autostop_timer_expired": "Tá an t-amadóir uathstoptha caite cheana. Caithfidh tú é a athshocrú sular féidir leat comhaid a chomhroinnt.",
- "share_via_onionshare": "Comhroinn trí OnionShare",
"gui_share_url_description": "Tá <b>aon duine</b> a bhfuil an seoladh agus eochair phríobháideach seo OnionShare aige/aici in ann do chuid comhad a <b>íoslódáil</b> le <b>Brabhsálaí Tor</b>: <img src='{}' />",
"gui_receive_url_description": "Tá <b>aon duine</b> a bhfuil an seoladh agus eochair phríobháideach seo OnionShare aige/aici in ann comhaid a <b>uaslódáil</b> go dtí do ríomhaire le <b>Brabhsálaí Tor</b>: <img src='{}' />",
"gui_url_label_persistent": "Ní stopfaidh an chomhroinnt seo go huathoibríoch.<br><br>Úsáidfear an seoladh seo arís gach uair a dhéanfaidh tú comhroinnt. (Chun seoladh aon uaire a úsáid, múch \"Úsáid seoladh seasmhach\" sna socruithe.)",
diff --git a/desktop/onionshare/resources/locale/gl.json b/desktop/onionshare/resources/locale/gl.json
index c564c1c8..8309cfa5 100644
--- a/desktop/onionshare/resources/locale/gl.json
+++ b/desktop/onionshare/resources/locale/gl.json
@@ -72,7 +72,6 @@
"gui_server_autostop_timer_expired": "O temporizador de detención automática esgotouse. Configúrao para comezar a compartir.",
"gui_server_autostart_timer_expired": "A hora programada xa pasou. Configúraa para comezar a compartir.",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "A hora de detención automática non pode ser a mesma ou anterior á hora de inicio. Configúraa para comezar a compartir.",
- "share_via_onionshare": "Compartir vía OnionShare",
"gui_share_url_description": "<b>Calquera</b> con este enderezo OnionShare e chave privada pode <b>descargar</b> os teus ficheiros usando o <b>Tor Browser</b>: <img src='{}' />",
"gui_website_url_description": "<b>Calquera</b>con este enderezo OnionShare e chave privada pode <b>visitar</b> o teu sition web usando <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Calquera</b> con este enderezo OnionShare e chave privada pode <b>subir</b> ficheiros ó teu ordenador usando <b>Tor Browser</b>: <img src='{}' />",
diff --git a/desktop/onionshare/resources/locale/gu.json b/desktop/onionshare/resources/locale/gu.json
index d752ac1f..cb61ad30 100644
--- a/desktop/onionshare/resources/locale/gu.json
+++ b/desktop/onionshare/resources/locale/gu.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "",
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
"gui_url_label_persistent": "",
diff --git a/desktop/onionshare/resources/locale/he.json b/desktop/onionshare/resources/locale/he.json
index 724e9d6c..53fae782 100644
--- a/desktop/onionshare/resources/locale/he.json
+++ b/desktop/onionshare/resources/locale/he.json
@@ -72,7 +72,6 @@
"gui_tor_connection_lost": "",
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
"gui_url_label_persistent": "",
diff --git a/desktop/onionshare/resources/locale/hi.json b/desktop/onionshare/resources/locale/hi.json
index b1747bbe..031e2921 100644
--- a/desktop/onionshare/resources/locale/hi.json
+++ b/desktop/onionshare/resources/locale/hi.json
@@ -71,7 +71,6 @@
"gui_tor_connection_lost": "",
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
"gui_url_label_persistent": "",
diff --git a/desktop/onionshare/resources/locale/hr.json b/desktop/onionshare/resources/locale/hr.json
index 6838519d..fd0fb476 100644
--- a/desktop/onionshare/resources/locale/hr.json
+++ b/desktop/onionshare/resources/locale/hr.json
@@ -77,7 +77,6 @@
"gui_server_autostop_timer_expired": "Vrijeme timera za automatsko prekidanje je već isteklo. Za pokretanje dijeljenja, podesi vrijeme.",
"gui_server_autostart_timer_expired": "Planirano vrijeme je već prošlo. Za pokretanje dijeljenja, podesi vrijeme.",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Vrijeme za automatsko prekidanje ne može biti isto kao vrijeme za automatsko pokretanje ili ranije. Za pokretanje dijeljenja, podesi vrijeme.",
- "share_via_onionshare": "Dijeli putem OnionSharea",
"gui_share_url_description": "<b>Svatko</b> s ovom OnionShare adresom i privatnim ključem može <b>preuzeti</b> tvoje datoteke koristeći <b>Tor preglednik</b>: <img src='{}' />",
"gui_website_url_description": "<b>Svatko</b> s ovom OnionShare adresom i privatnim ključem može <b>posjetiti</b> tvoju web-stranicu koristeći <b>Tor preglednik</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Svatko</b> s ovom OnionShare adresom i privatnim ključem može <b>prenijeti</b> datoteke na tvoje računalo koristeći <b>Tor preglednik</b>: <img src='{}' />",
diff --git a/desktop/onionshare/resources/locale/hu.json b/desktop/onionshare/resources/locale/hu.json
index 53966ae7..95285650 100644
--- a/desktop/onionshare/resources/locale/hu.json
+++ b/desktop/onionshare/resources/locale/hu.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "",
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
"gui_url_label_persistent": "",
diff --git a/desktop/onionshare/resources/locale/hy_AM.json b/desktop/onionshare/resources/locale/hy_AM.json
index 71286f75..979c2971 100644
--- a/desktop/onionshare/resources/locale/hy_AM.json
+++ b/desktop/onionshare/resources/locale/hy_AM.json
@@ -116,7 +116,6 @@
"gui_server_autostart_timer_expired": "",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "",
"gui_server_doesnt_support_stealth": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_share_url_public_description": "",
"gui_website_url_description": "",
diff --git a/desktop/onionshare/resources/locale/id.json b/desktop/onionshare/resources/locale/id.json
index 49a47a3a..def3b8f8 100644
--- a/desktop/onionshare/resources/locale/id.json
+++ b/desktop/onionshare/resources/locale/id.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "Terputus dari Tor.",
"gui_server_started_after_autostop_timer": "Timer berhenti otomatis habis sebelum server dimulai. Silakan buat pembagian baru.",
"gui_server_autostop_timer_expired": "Timer berhenti otomatis sudah habis. Silakan sesuaikan untuk mulai berbagi.",
- "share_via_onionshare": "Bagikan via OnionShare",
"gui_share_url_description": "<b>Siapa saja</b> dengan alamat OnionShare ini dapat <b>mengunduh</b> berkas Anda menggunakan <b>Tor Browser</b>:<img src='{}' />",
"gui_receive_url_description": "<b>Siapa saja</b> dengan alamat OnionShare ini dapat <b>mengunggah</b> berkas ke komputer Anda menggunakan <b>Tor Browser</b>:<img src='{}' />",
"gui_url_label_persistent": "Pembagian ini tidak akan berhenti otomatis.<br><br>Setiap pembagian selanjutnya menggunakan lagi alamat tersebut. (Untuk menggunakan alamat sekali pakai, matikan \"Gunakan alamat persisten\" di pengaturan.)",
diff --git a/desktop/onionshare/resources/locale/is.json b/desktop/onionshare/resources/locale/is.json
index 5ef8f1c4..0bc6c69d 100644
--- a/desktop/onionshare/resources/locale/is.json
+++ b/desktop/onionshare/resources/locale/is.json
@@ -69,7 +69,6 @@
"gui_tor_connection_canceled": "Tókst ekki að tengjast Tor.\n\nGakktu úr skugga um að þú sért tengd/ur internetinu, opnaðu síðan aftur OnionShare og settu upp tengingu þess við Tor.",
"gui_tor_connection_lost": "Aftengt frá Tor.",
"gui_server_autostop_timer_expired": "Sjálfvirkri niðurtalningu er þegar lokið. Lagaðu hana til að hefja deilingu.",
- "share_via_onionshare": "Deila með OnionShare",
"gui_share_url_description": "<b>Hver sem er</b> með þetta OnionShare vistfang og þennan einkalykil getur <b>sótt</b> skrárnar þínar með því að nota <b>Tor-vafrann</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Hver sem er</b> með þetta OnionShare vistfang og einkalykil getur <b>sent skrár inn</b> á tölvuna þína með því að nota <b>Tor-vafrann</b>: <img src='{}' />",
"gui_url_label_persistent": "Deiling þessarar sameignar mun ekki stöðvast sjálfvirkt.<br><br>Allar deilingar sem á eftir koma munu endurnýta vistfangið. (Til að nota eins-skiptis vistföng skaltu slökkva á \"Nota viðvarandi vistföng\" í stillingunum.)",
diff --git a/desktop/onionshare/resources/locale/it.json b/desktop/onionshare/resources/locale/it.json
index 4600ed25..83d02695 100644
--- a/desktop/onionshare/resources/locale/it.json
+++ b/desktop/onionshare/resources/locale/it.json
@@ -74,9 +74,8 @@
"gui_tor_connection_lost": "Disconnesso da Tor.",
"gui_server_started_after_autostop_timer": "Il timer ad arresto automatico si è fermato prima dell'avvio del server. Si prega di fare una nuova condivisione.",
"gui_server_autostop_timer_expired": "Il timer di arresto automatico è già scaduto. Si prega di modificarlo per iniziare la condivisione.",
- "share_via_onionshare": "Condividi via OnionShare",
- "gui_share_url_description": "<b>1 Tutti</b>2 con questo l'indirizzo di OnionShare possono <b>3 scaricare</b>4 i tuoi file usando <b>5 il Browser Tor</b>6: <img src='{}' />7",
- "gui_receive_url_description": "<b>1 Tutti</b>2 con questo indirizzo OnionShare possono <b>3 caricare</b>4 file nel tuo computer usando <b>5 Tor Browser</b>6: <img src='{}' />7",
+ "gui_share_url_description": "<b>Tutti</b> con questo indirizzo OnionShare possono <b>scaricare</b> i tuoi file usando il <b>Browser Tor</b>: <img src='{}' />",
+ "gui_receive_url_description": "<b>Tutti</b> con questo indirizzo OnionShare possono <b>caricare</b> file nel tuo computer usando il <b>Browser Tor</b>: <img src='{}' />",
"gui_url_label_persistent": "Questa condivisione non si arresterà automaticamente. <br> <br> Ogni successiva condivisione riutilizza l'indirizzo. (Per utilizzare indirizzi monouso, disattivare \"Usa indirizzo persistente\" nelle impostazioni.)",
"gui_url_label_stay_open": "Questa condivisione non si arresterà automaticamente.",
"gui_url_label_onetime": "Questa condivisione verrà interrotta dopo il primo completamento.",
diff --git a/desktop/onionshare/resources/locale/ja.json b/desktop/onionshare/resources/locale/ja.json
index 54fdcdb5..867fb873 100644
--- a/desktop/onionshare/resources/locale/ja.json
+++ b/desktop/onionshare/resources/locale/ja.json
@@ -72,7 +72,6 @@
"gui_tor_connection_lost": "Torから切断されました。",
"gui_server_started_after_autostop_timer": "サーバーが起動した前、自動停止タイマーがタイムアウトしました。再びファイル共有をして下さい。",
"gui_server_autostop_timer_expired": "自動停止タイマーはすでにタイムアウトしています。共有し始めるにはタイマーを調整して下さい。",
- "share_via_onionshare": "OnionShareで共有する",
"gui_share_url_description": "このOnionShareアドレスと秘密鍵を持つ限り<b>誰でも</b>は<b>Tor Browser</b>を利用してこのファイルを<b>ダウンロードできます</b>:<img src='{}' />",
"gui_receive_url_description": "このOnionShareアドレスと秘密鍵を持つ限り<b>誰でも</b>は<b>Tor Browser</b>を利用してこのPCにファイルを<b>アップロードできます</b>:<img src='{}' />",
"gui_url_label_persistent": "このファイル共有には自動停止はありません。<br><br>その次の共有は同じアドレスを再利用します。(1回限りのアドレスには、設定で「永続的アドレス」を無効にして下さい。)",
diff --git a/desktop/onionshare/resources/locale/ka.json b/desktop/onionshare/resources/locale/ka.json
index e8951e62..2a722fc1 100644
--- a/desktop/onionshare/resources/locale/ka.json
+++ b/desktop/onionshare/resources/locale/ka.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "",
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
"gui_url_label_persistent": "",
diff --git a/desktop/onionshare/resources/locale/km.json b/desktop/onionshare/resources/locale/km.json
index e0635a38..c8b9f622 100644
--- a/desktop/onionshare/resources/locale/km.json
+++ b/desktop/onionshare/resources/locale/km.json
@@ -76,7 +76,6 @@
"gui_server_autostop_timer_expired": "កម្មវិធីកំណត់ម៉ោងបញ្ឈប់ដោយស្វ័យប្រវត្តិបានផុតពេលហើយ។ សូមកែតម្រូវវា ដើម្បីចាប់ផ្តើមការបញ្ជូន។",
"gui_server_autostart_timer_expired": "ពេលវេលាដែលបានកំណត់ កន្លងផុតទៅហើយ។ សូមកែតម្រូវវា ដើម្បីចាប់ផ្តើមការបញ្ជូន។",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "កម្មវិធីកំណត់ម៉ោងបញ្ឈប់ដោយស្វ័យប្រវត្តិមិនអាចដូចគ្នា ឬ មុនកម្មវិធីកំណត់ម៉ោងដោយស្វ័យប្រវត្តិចាប់ផ្តើមនោះទេ។ សូមកែតម្រូវវា ដើម្បីចាប់ផ្តើមការបញ្ជូន។",
- "share_via_onionshare": "បញ្ជូនតាមរយៈ OnionShare",
"gui_share_url_description": "<b>នរណាក៏ដោយ</b> ដែលមានអាសយដ្ឋាន OnionShare និងកូនសោសម្ងាត់នេះ អាច <b>ទាញយក</b> ឯកសាររបស់អ្នកដោយប្រើ <b>កម្មវិធីរុករក Tor</b>: <img src='{}' />",
"gui_receive_url_description": "<b>នរណាក៏ដោយ</b> ដែលមានអាសយដ្ឋាន OnionShare និងកូនសោសម្ងាត់នេះ អាច <b>ផ្ទុកឡើង </b> ឯកសារទៅកុំព្យូទ័ររបស់អ្នក ដោយប្រើ <b>កម្មវិធីរុករក Tor</b>: <img src='{}' />",
"gui_url_label_persistent": "ការបញ្ជូននេះនឹងមិនឈប់ដោយស្វ័យប្រវត្តិទេ។<br><br>រាល់ការបញ្ជូនបន្តបន្ទាប់ ប្រើអាសយដ្ឋានដដែល។ (ដើម្បីប្រើអាសយដ្ឋានតែម្តង សូមបិទ \"ប្រើអាសយដ្ឋានជាប់ជានិច្ច\" នៅក្នុងការកំណត់។ )",
diff --git a/desktop/onionshare/resources/locale/ko.json b/desktop/onionshare/resources/locale/ko.json
index f9cf7797..e79215a8 100644
--- a/desktop/onionshare/resources/locale/ko.json
+++ b/desktop/onionshare/resources/locale/ko.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "",
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
"gui_url_label_persistent": "",
diff --git a/desktop/onionshare/resources/locale/lg.json b/desktop/onionshare/resources/locale/lg.json
index 788bf6a3..09dae0eb 100644
--- a/desktop/onionshare/resources/locale/lg.json
+++ b/desktop/onionshare/resources/locale/lg.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "",
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
"gui_url_label_persistent": "",
diff --git a/desktop/onionshare/resources/locale/lt.json b/desktop/onionshare/resources/locale/lt.json
index 59926668..1a62d3ed 100644
--- a/desktop/onionshare/resources/locale/lt.json
+++ b/desktop/onionshare/resources/locale/lt.json
@@ -76,7 +76,6 @@
"gui_server_autostop_timer_expired": "Automatinio sustabdymo laikmatis jau baigėsi. Sureguliuokite jį, kad pradėtumėte dalintis.",
"gui_server_autostart_timer_expired": "Numatytas laikas jau praėjo. Pakoreguokite jį, kad galėtumėte pradėti dalintis.",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Automatinio sustabdymo laikas negali būti toks pat arba ankstesnis už automatinio paleidimo laiką. Sureguliuokite jį, kad galėtumėte pradėti dalytis.",
- "share_via_onionshare": "Bendrinti per „OnionShare“",
"gui_share_url_description": "<b>Visi</b>, turintys šį „OnionShare“ adresą ir privatųjį raktą gali <b>atsisiųsti</b> jūsų failus, naudodamiesi <b>„Tor“Naršykle</b>: <img src='{}' />",
"gui_website_url_description": "<b>Kiekvienas</b>, turintis šį „OnionShare“ adresą ir privatųjį raktą, gali <b>apsilankyti</b> jūsų svetainėje naudodamas <b>„Tor“ naršyklę</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Kiekvienas</b>, turintis šį „OnionShare“ adresą ir privatųjį raktą, gali <b>įkelti</b> failus į jūsų kompiuterį naudodamas <b>„Tor“ naršyklę</b>: <img src='{}' />",
diff --git a/desktop/onionshare/resources/locale/mk.json b/desktop/onionshare/resources/locale/mk.json
index 8759a159..d7d64adb 100644
--- a/desktop/onionshare/resources/locale/mk.json
+++ b/desktop/onionshare/resources/locale/mk.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "",
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
"gui_url_label_persistent": "",
diff --git a/desktop/onionshare/resources/locale/ms.json b/desktop/onionshare/resources/locale/ms.json
index d2807c81..fa03ee25 100644
--- a/desktop/onionshare/resources/locale/ms.json
+++ b/desktop/onionshare/resources/locale/ms.json
@@ -71,7 +71,6 @@
"gui_tor_connection_lost": "",
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
"gui_url_label_persistent": "",
diff --git a/desktop/onionshare/resources/locale/nb_NO.json b/desktop/onionshare/resources/locale/nb_NO.json
index 1e68b884..6f94c395 100644
--- a/desktop/onionshare/resources/locale/nb_NO.json
+++ b/desktop/onionshare/resources/locale/nb_NO.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "Frakoblet fra Tor.",
"gui_server_started_after_autostop_timer": "Tidsavbruddsuret gikk ut før tjeneren startet. Lag en ny deling.",
"gui_server_autostop_timer_expired": "Tidsavbruddsuret har gått ut allerede. Juster det for å starte deling.",
- "share_via_onionshare": "Del via OnionShare",
"gui_share_url_description": "<b>Alle</b> som har denne OnionShare-adressen og tilhørende privat nøkkel kan <b>Laste ned</b> filene dine ved bruk av <b>Tor-Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Alle</b> som har denne OnionShare-adressen og tilhørende privat nøkkel kan <b>Laste opp</b> filer til din datamaskin ved bruk av <b>Tor-Browser</b>: <img src='{}' />",
"gui_url_label_persistent": "Delingen vil ikke stoppe automatisk.<br><br>Hver påfølgende deling vil gjenbruke adressen. (For engangsadresser, skru av \"Bruk vedvarende adresse\" i innstillingene.)",
diff --git a/desktop/onionshare/resources/locale/nl.json b/desktop/onionshare/resources/locale/nl.json
index 715a0dab..f32deca6 100644
--- a/desktop/onionshare/resources/locale/nl.json
+++ b/desktop/onionshare/resources/locale/nl.json
@@ -59,7 +59,6 @@
"gui_tor_connection_canceled": "Kon niet verbinden met Tor.\n\nZorg dat je met het internet verbonden bent, herstart OnionShare en configureer de verbinding met Tor.",
"gui_server_started_after_autostop_timer": "De auto-stop timer verliep, voordat de server startte. Maak een nieuwe share aan.",
"gui_server_autostop_timer_expired": "De auto-stop timer is al verlopen. Stel een nieuwe tijd in om te beginnen met delen.",
- "share_via_onionshare": "Deel via OnionShare",
"gui_share_start_server": "Start met delen",
"gui_share_stop_server": "Stop met delen",
"gui_share_stop_server_autostop_timer": "Stop met Delen ({})",
@@ -71,7 +70,7 @@
"gui_settings_meek_lite_expensive_warning": "Waarschuwing: De meek_lite bridges zijn erg kostbaar voor het Tor Project om uit te voeren. <br><br> Gebruik ze alleen als je niet direct met Tor kan verbinden, via obfs4 transports, of andere normale bridges.",
"gui_settings_tor_bridges_invalid": "Geen van de bridges die je hebt toegevoegd werken. Controleer ze of voeg andere toe.",
"gui_tor_connection_lost": "De verbinding met Tor is verbroken.",
- "gui_share_url_description": "<b>1Iedereen</b>2 met dit OnionShare-adres kan je bestanden <b>3binnenhalen</b>4 met de <b>5Tor Browser</b>6: <img src='{}' />",
+ "gui_share_url_description": "<b>Iedereen</b> met dit OnionShare-adres kan je bestanden <b>binnenhalen</b> met de <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Iedereen</b> met dit OnionShare adres kan bestanden op je computer <b>plaatsen</b> met de <b>Tor Browser</b>: <img src='{}' />",
"gui_url_label_persistent": "Deze share stopt niet vanzelf. <br><br>Elke volgende share zal het adres hergebruiken. (Om eenmalige adressen te gebruiken, zet \"Gebruik vast adres\" uit in de settings.)",
"gui_url_label_stay_open": "Deze share stopt niet automatisch.",
@@ -122,7 +121,7 @@
"gui_status_indicator_receive_scheduled": "Gepland…",
"gui_share_mode_autostop_timer_waiting": "Verzenden afronden…",
"gui_receive_mode_autostop_timer_waiting": "Wachten tot ontvangen klaar is…",
- "gui_website_url_description": "<b>1Iedereen</b>2 met dit OnionShare-adres kan je bestanden <b>3bezoeken</b>4 met de <b>5Tor Browser</b>6: <img src='{}' />",
+ "gui_website_url_description": "<b>Iedereen</b> met dit OnionShare-adres kan je bestanden <b>bezoeken</b> met de <b>Tor Browser</b>: <img src='{}' />",
"gui_website_mode_no_files": "Nog Geen Website Gedeeld",
"incorrect_password": "Foutief wachtwoord",
"error_cannot_create_data_dir": "Kon geen OnionShare datamap aanmaken: {}",
diff --git a/desktop/onionshare/resources/locale/pa.json b/desktop/onionshare/resources/locale/pa.json
index 9b786323..3b5750ba 100644
--- a/desktop/onionshare/resources/locale/pa.json
+++ b/desktop/onionshare/resources/locale/pa.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "",
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
"gui_url_label_persistent": "",
diff --git a/desktop/onionshare/resources/locale/pl.json b/desktop/onionshare/resources/locale/pl.json
index 8891c7d7..b66ae33b 100644
--- a/desktop/onionshare/resources/locale/pl.json
+++ b/desktop/onionshare/resources/locale/pl.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "Odłączony od sieci Tor.",
"gui_server_started_after_autostop_timer": "Czas automatycznego zatrzymania upłynął przed uruchomieniem serwera. Utwórz nowy udział.",
"gui_server_autostop_timer_expired": "Czas automatycznego zatrzymania już upłynął. Dostosuj go, aby rozpocząć udostępnianie.",
- "share_via_onionshare": "Udostępniaj przez OnionShare",
"gui_share_url_description": "<b>Każdy</b> z tym adresem OnionShare oraz kluczem prywatnym może <b>pobrać</b> Twoje pliki za pomocą przeglądarki <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Każdy</b> z tym adresem OnionShare oraz kluczem prywatnym może <b>przesyłać</b> pliki na Twój komputer za pomocą przeglądarki <b>Tor Browser</b>: <img src='{}' />",
"gui_url_label_persistent": "Ten udział nie zatrzyma się automatycznie.<br><br>Każdy kolejny udział ponownie użyje tego adresu. (Aby użyć adresów jednorazowych, wyłącz w ustawieniach „Użyj stałego adresu”.)",
diff --git a/desktop/onionshare/resources/locale/pt_BR.json b/desktop/onionshare/resources/locale/pt_BR.json
index b79e73c3..82dd27a2 100644
--- a/desktop/onionshare/resources/locale/pt_BR.json
+++ b/desktop/onionshare/resources/locale/pt_BR.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "Desconectado do Tor.",
"gui_server_started_after_autostop_timer": "O cronômetro de parada automática acabou antes que o servidor fosse iniciado. Por favor, faça um novo compartilhamento.",
"gui_server_autostop_timer_expired": "O cronômetro já esgotou. Por favor, ajuste-o para começar a compartilhar.",
- "share_via_onionshare": "Compartilhar via OnionShare",
"gui_share_url_description": "<b>Qualquer pessoa</b> com este endereço e esta chave privada do OnionShare pode <b>baixar</b> seus arquivos usando o <b>Navegador Tor</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Qualquer pessoa</b> com este endereço do OnionShare e chave privada pode <b>carregar</b> arquivos no seu computador usando o <b>Navegador Tor</b>: <img src='{}' />",
"gui_url_label_persistent": "Este compartilhamento não vai ser encerrado automaticamente.<br><br>Todos os compartilhamentos posteriores reutilizarão este endereço. (Para usar um endereço novo a cada vez, desative a opção \"Usar o mesmo endereço\" nas configurações.)",
@@ -253,6 +252,5 @@
"gui_autoconnect_bridge_detect_manual": "Selecione meu país para configurações de ponte manualmente",
"gui_autoconnect_could_not_connect_to_tor_api": "Não foi possível conectar-se à API do Tor. Verifique se você está conectado à Internet antes de tentar novamente.",
"gui_autoconnect_circumventing_censorship_starting_meek": "Estabelecendo uma ponte meek para fronting de domínio…",
- "gui_close_tab_warning_chat_description": "Fechar a guia que está hospedando um servidor de bate-papo?",
- "waitress_web_server_error": "Ocorreu um problema ao iniciar o servidor web"
+ "gui_close_tab_warning_chat_description": "Fechar a guia que está hospedando um servidor de bate-papo?"
}
diff --git a/desktop/onionshare/resources/locale/pt_PT.json b/desktop/onionshare/resources/locale/pt_PT.json
index aa64c6d7..c03f966d 100644
--- a/desktop/onionshare/resources/locale/pt_PT.json
+++ b/desktop/onionshare/resources/locale/pt_PT.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "Desconectado da rede Tor.",
"gui_server_started_after_autostop_timer": "O cronómetro de paragem automática atingiu o tempo limite antes do servidor iniciar. Crie uma nova partilha.",
"gui_server_autostop_timer_expired": "O cronómetro de paragem automática expirou. Por favor, ajuste-o para começar a partilhar.",
- "share_via_onionshare": "Partilhar via OnionShare",
"gui_share_url_description": "<b>Qualquer pessoa</b> com este endereço do OnionShare pode <b>descarregar</b> os seus ficheiros utilizando o <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Qualquer pessoa</b> com este endereço do OnionShare pode <b>enviar</b> ficheiros para o seu computador utilizando o <b>Tor Browser</b>: <img src='{}' />",
"gui_url_label_persistent": "Esta partilha não vai ser encerrada automaticamente.<br><br>Todas as partilhas posteriores utilizarão este endereço. (Para usar endereços de uma só utilização, desative a opção \"Usar endereço persistente\" nas configurações.)",
diff --git a/desktop/onionshare/resources/locale/ro.json b/desktop/onionshare/resources/locale/ro.json
index 8c808fa7..77a72fc8 100644
--- a/desktop/onionshare/resources/locale/ro.json
+++ b/desktop/onionshare/resources/locale/ro.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "Deconectat de la Tor.",
"gui_server_started_after_autostop_timer": "Cronometrul de oprire automată a expirat înainte de pornirea serverului. Vă rugăm să faceți o nouă partajare.",
"gui_server_autostop_timer_expired": "Timpul pentru cronometrul auto-stop a expirat deja. Vă rugăm să îl modificați pentru a începe distribuirea.",
- "share_via_onionshare": "Partajați prin OnionShare",
"gui_share_url_description": "<b>Oricine</b> are această adresă OnionShare poate <b>descărca</b> fișierele dvs. folosind <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Oricine</b> are această adresă OnionShare poate <b>încărca</b> fișiere pe computerul dvs. folosind <b>Tor Browser</b>: <img src='{}' />",
"gui_url_label_persistent": "Această partajare nu se va opri automat. <br> <br> Fiecare acțiune ulterioară reutilizează adresa. (Pentru a utiliza adrese unice, dezactivați „Utilizați adresa persistentă” din setări.)",
diff --git a/desktop/onionshare/resources/locale/ru.json b/desktop/onionshare/resources/locale/ru.json
index 63fa08c7..f03368a3 100644
--- a/desktop/onionshare/resources/locale/ru.json
+++ b/desktop/onionshare/resources/locale/ru.json
@@ -73,7 +73,6 @@
"gui_tor_connection_lost": "Сеть Tor не подключена.",
"gui_server_started_after_autostop_timer": "Время стоп-таймера истекло до того, как сервер был запущен. Пожалуйста, отправьте файлы заново.",
"gui_server_autostop_timer_expired": "Время стоп-таймера истекло. Пожалуйста, отрегулируйте его для начала отправки.",
- "share_via_onionshare": "Поделиться через OnionShare",
"gui_share_url_description": "<b>Кто угодно</b> c этим адресом OnionShare и секретным ключом может <b>скачать</b> Ваши файлы при помощи <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Кто угодно</b> c этим адресом OnionShare и секретным ключом может <b>загрузить</b> файлы на ваш компьютер с помощью<b>Tor Browser</b>: <img src='{}' />",
"gui_url_label_persistent": "Эта отправка не будет завершена автоматически.<br><br>Каждая последующая отправка будет повторно использовать данный адрес. (Чтобы использовать одноразовый адрес, отключите опцию \"Использовать устаревший адрес\" в настройках.)",
diff --git a/desktop/onionshare/resources/locale/si.json b/desktop/onionshare/resources/locale/si.json
index 312dbf8c..c94ec77a 100644
--- a/desktop/onionshare/resources/locale/si.json
+++ b/desktop/onionshare/resources/locale/si.json
@@ -115,8 +115,6 @@
"gui_server_autostop_timer_expired": "",
"gui_server_autostart_timer_expired": "",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "",
- "gui_server_doesnt_support_stealth": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_share_url_public_description": "",
"gui_website_url_description": "",
diff --git a/desktop/onionshare/resources/locale/sk.json b/desktop/onionshare/resources/locale/sk.json
index 52d229a0..0538915f 100644
--- a/desktop/onionshare/resources/locale/sk.json
+++ b/desktop/onionshare/resources/locale/sk.json
@@ -72,7 +72,6 @@
"gui_server_autostop_timer_expired": "Časovač automatického zastavenia už vypršal. Upravte ho tak, aby sa začal zdieľať.",
"gui_server_autostart_timer_expired": "Plánovaný čas už uplynul. Upravte ho tak, aby sa začal zdieľať.",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Čas automatického zastavenia nemôže byť rovnaký alebo skorší ako čas automatického spustenia. Upravte ho, aby ste mohli začať zdieľať.",
- "share_via_onionshare": "Zdieľať cez OnionShare",
"gui_share_url_description": "<b>Ktokoľvek</b> s touto adresou OnionShare si môže <b>stiahnuť</b> vaše súbory pomocou <b>Tor Browser</b>: <img src='{}' />",
"gui_website_url_description": "<b>Ktokoľvek</b> s touto adresou OnionShare môže <b>navštíviť</b> váš web pomocou <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Ktokoľvek</b> s touto adresou OnionShare môže <b>nahrať</b> súbory do vášho počítača pomocou <b>Tor Browser</b>: <img src='{}' />",
diff --git a/desktop/onionshare/resources/locale/sl.json b/desktop/onionshare/resources/locale/sl.json
index ab829c45..6b1c6775 100644
--- a/desktop/onionshare/resources/locale/sl.json
+++ b/desktop/onionshare/resources/locale/sl.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "",
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
"gui_url_label_persistent": "",
diff --git a/desktop/onionshare/resources/locale/sn.json b/desktop/onionshare/resources/locale/sn.json
index 81b9970f..cd1b148e 100644
--- a/desktop/onionshare/resources/locale/sn.json
+++ b/desktop/onionshare/resources/locale/sn.json
@@ -72,7 +72,6 @@
"gui_tor_connection_lost": "haijaunganishwa na Tor.",
"gui_server_started_after_autostop_timer": "Auto-stop timer imetoka kabla haijahifadhiwa. tafadhali hakikisha unasambaza.",
"gui_server_autostop_timer_expired": "Auto-stop timer tayari imetoka. tafadhali sogeza ili uanze kusambaza.",
- "share_via_onionshare": "sambaza kupitia OnionShare",
"gui_share_url_description": "<b>yeyote</b>mwenye anuani ya OnionShare na private key anaweza <b>kupakua</b>kwa kutumia faili lako la <b>kivinjari cha Tor</b>: <img src='{}' />",
"gui_receive_url_description": "<b> yeyote </b>: mwenye anuani ya OnionShare na private key anaweza <b> kupakia </b> mafaili kwenye kompyuta yako kwa kutumia <b> Tor Browser </b>:<img src='{}' />",
"gui_url_label_persistent": "ukisambaza haiwezi kusimama, <br><br> na kila utakapotumia itahitaji utumie tna anuani. ( ili kutumia anuani ya moja kwa moja, zima \"tumia anuani inayoendelea\" kwenye mpangilio.)",
diff --git a/desktop/onionshare/resources/locale/sq.json b/desktop/onionshare/resources/locale/sq.json
index 9325bfe6..615388d0 100644
--- a/desktop/onionshare/resources/locale/sq.json
+++ b/desktop/onionshare/resources/locale/sq.json
@@ -116,7 +116,6 @@
"gui_server_autostart_timer_expired": "Koha e planifikuar kaloi tashmë. Ju lutemi, rregullojeni, që të fillohet të ndahet me të tjerë.",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Koha për vetëndalje s’mund të jetë e njëjtë ose më herët se koha për vetënisje. Ju lutemi, që të fillohet ndarje me të tjerë, rregullojeni.",
"gui_server_doesnt_support_stealth": "Na ndjeni, ky version i Tor-it s’mbulon “stealth” (mirëfilltësim klientësh). Ju lutemi, provoni me një version më të ri të Tor-it, ose përdorni mënyrën 'public', nëse s’është e nevojshme të jetë private.",
- "share_via_onionshare": "Ndajeni me të tjerë përmes OnionShare-it",
"gui_share_url_description": "<b>Cilido</b> me këtë adresë OnionShare dhe kyç privat mundet <b>të shkarkojë</b> kartelat tuaja duke përdorur <b>Shfletuesin Tor</b>: <img src='{}' />",
"gui_share_url_public_description": "<b>Cilido</b> me këtë adresë OnionShare mundet <b>të shkarkojë</b> kartelat tuaja duke përdorur <b>Shfletuesin Tor</b>: <img src='{}' />",
"gui_website_url_description": "<b>Cilido</b> me këtë adresë OnionShare dhe kyç privat mundet <b>të vizitojë</b> sajtin tuaj duke përdorur <b>Shfletuesin Tor</b>: <img src='{}' />",
diff --git a/desktop/onionshare/resources/locale/sr_Latn.json b/desktop/onionshare/resources/locale/sr_Latn.json
index 5cca540b..28a2d567 100644
--- a/desktop/onionshare/resources/locale/sr_Latn.json
+++ b/desktop/onionshare/resources/locale/sr_Latn.json
@@ -77,7 +77,6 @@
"gui_server_autostop_timer_expired": "Tajmer automatskog zaustavljanja je već odbrojao. Podesi ga da bi započelo deljenje.",
"gui_server_autostart_timer_expired": "Predviđeno vreme je već prošlo. Podesi ga da bi započelo deljenje.",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Vreme automatskog zaustavljanja ne može biti isto ili ranije od vremena početka automatskog pokretanja. Podesi ga da bi započelo deljenje.",
- "share_via_onionshare": "Deljenje pomoću OnionShare",
"gui_share_url_description": "<b>Svako</b> sa ovom OnionShare adresom i privatnim ključem može <b>preuzeti</b> tvoje datoteke koristeći <b>Tor Browser</b>: <img src='{}' />",
"gui_website_url_description": "<b>Bilo ko</b> sa ovom OnionShare adresom i privatnim ključem može <b>posetiti</b> tvoju web-stranicu koristeći <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Bilo ko</b> sa ovom OnionShare adresom i privatnim ključem može <b>poslati</b> datoteke na tvoj računar koristeći <b>Tor Browser</b>: <img src='{}' />",
diff --git a/desktop/onionshare/resources/locale/sv.json b/desktop/onionshare/resources/locale/sv.json
index 95d2512f..e967427d 100644
--- a/desktop/onionshare/resources/locale/sv.json
+++ b/desktop/onionshare/resources/locale/sv.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "Frånkopplad från Tor.",
"gui_server_started_after_autostop_timer": "Tiden för den automatiska stopp-tidtagaren löpte ut innan servern startades.\nGör en ny delning.",
"gui_server_autostop_timer_expired": "Den automatiska stopp-tidtagaren har redan löpt ut. Justera den för att starta delning.",
- "share_via_onionshare": "Dela med OnionShare",
"gui_share_url_description": "<b>Vem som helst</b> med denna OnionShare-adress och privata nyckel kan <b>ladda ner</b> dina filer med hjälp av <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Alla</b> med denna OnionShare-adress och privata nyckel kan <b>ladda upp</b> filer till din dator med <b>Tor Browser</b>: <img src='{}' />",
"gui_url_label_persistent": "Denna delning kommer inte automatiskt att avslutas.<br>< br>Varje efterföljande delning återanvänder adressen. (För att använda engångsadresser, stäng av \"Använd beständig adress\" i inställningarna.)",
diff --git a/desktop/onionshare/resources/locale/sw.json b/desktop/onionshare/resources/locale/sw.json
index e0ea879f..7ca13047 100644
--- a/desktop/onionshare/resources/locale/sw.json
+++ b/desktop/onionshare/resources/locale/sw.json
@@ -76,7 +76,6 @@
"gui_server_autostop_timer_expired": "Tayari muda wa auto-stop timer umekwiasha. Tafadhali rekebisha na uanze kusambaza.",
"gui_server_autostart_timer_expired": "Wakati uliopangwa tayari umepita. Tafadhali irekebishe ili kuanza kusambaza.",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Muda wa kuisha hauwezi kuwa sawa na muda wa kuanza. Tafadhali rekebisha ili kuanza kusambaza.",
- "share_via_onionshare": "Sambaza kupitia OnionShare",
"gui_share_url_description": "<b>Yeyote</b> mwenye hizi anwani za OnionShare pamoja na alama za kipekee binafsi anaweza <b>kupakua</b> mafaili yako kwa kutumia<b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Yeyote</b> mwenye hii anwani ya OnionShare na private key anaweza<b>oakia</b> mafaili katika kompyuta yako kwa kutumia <b>Tor Browser</b>: <img src='{}' />",
"gui_url_label_persistent": "Hii anuani inaweza kusimama.<br><br>Hivyo unaweza kutumia baadae. (Unaweza kutumia mara moja , zima halafu tumia anuani inayoendelea kwenye mpangilio.)",
diff --git a/desktop/onionshare/resources/locale/ta.json b/desktop/onionshare/resources/locale/ta.json
index 71286f75..979c2971 100644
--- a/desktop/onionshare/resources/locale/ta.json
+++ b/desktop/onionshare/resources/locale/ta.json
@@ -116,7 +116,6 @@
"gui_server_autostart_timer_expired": "",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "",
"gui_server_doesnt_support_stealth": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_share_url_public_description": "",
"gui_website_url_description": "",
diff --git a/desktop/onionshare/resources/locale/te.json b/desktop/onionshare/resources/locale/te.json
index 0718ea54..a451fc60 100644
--- a/desktop/onionshare/resources/locale/te.json
+++ b/desktop/onionshare/resources/locale/te.json
@@ -76,7 +76,6 @@
"gui_server_autostop_timer_expired": "స్వయంచాలితంగా ఆగు సమయ సూచీ సమయాతీతమయిపోయినది. పంచుకోవడం మొదలుపెట్టడానికి దానిని నవీకరించండి.",
"gui_server_autostart_timer_expired": "నిర్ణీత సమయం ఇప్పటికే దాటిపోయింది. పంచుకోవడం ప్రారంభించడం కొరకు దయచేసి దానిని నవీకరించండి.",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "స్వయంచాలక ఆగు సమయం అనేది స్వయంచాలక ప్రారంభ సమయంతో సమానంగా లేదా అంతకు ముందు ఉండకూడదు. పంచుకోవడం ప్రారంభించడం కొరకు దయచేసి దానిని నవీకరించండి.",
- "share_via_onionshare": "OnionShare చేయి",
"gui_share_url_description": "ఈOnionShare చిరునామా గల <b>ఎవరైనా</b> మీ దస్త్రాలను <b>Tor విహారిణి</b>తో <b>దింపుకోవచ్చు</b>: <img src='{}' />",
"gui_receive_url_description": "ఈOnionShare చిరునామా గల <b>ఎవరైనా</b> మీ దస్త్రాలను <b>Tor విహారిణి</b>తో <b>ఎక్కించుకోవచ్చు</b>:<img src='{}' />",
"gui_url_label_persistent": "ఈ పంచుకొనబడిన అంశం స్వయంచాలితంగా ఆపబడదు.<br><br>తదుపరి పంచుకోబడిన ప్రతి అంశం ఈ చిరునామాను మరల వాడుకుంటుంది. (ఒక్కసారికి మాత్రం వాడగలిగే చిరునామాలను వాడాలనుకుంటే, అమరికలలో \"నిరంతర చిరునామాను వాడు\"ని అచేతనం చేయండి.)",
diff --git a/desktop/onionshare/resources/locale/tl.json b/desktop/onionshare/resources/locale/tl.json
index 71286f75..979c2971 100644
--- a/desktop/onionshare/resources/locale/tl.json
+++ b/desktop/onionshare/resources/locale/tl.json
@@ -116,7 +116,6 @@
"gui_server_autostart_timer_expired": "",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "",
"gui_server_doesnt_support_stealth": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_share_url_public_description": "",
"gui_website_url_description": "",
diff --git a/desktop/onionshare/resources/locale/tr.json b/desktop/onionshare/resources/locale/tr.json
index f5a038bc..683935a9 100644
--- a/desktop/onionshare/resources/locale/tr.json
+++ b/desktop/onionshare/resources/locale/tr.json
@@ -71,7 +71,6 @@
"gui_tor_connection_lost": "Tor bağlantısı kesildi.",
"gui_server_started_after_autostop_timer": "Otomatik durdurma sayacı, sunucu başlamadan önce sona erdi. Lütfen yeni bir paylaşım yapın.",
"gui_server_autostop_timer_expired": "Otomatik durdurma sayacı zaten sona ermiş. Paylaşımı başlatmak için sayacı ayarlayın.",
- "share_via_onionshare": "OnionShare ile paylaş",
"gui_share_url_description": "Bu OnionShare adresine ve kişisel anahtara sahip olan <b>herkes</b> <b>Tor Browser</b> kullanarak dosyalarınızı <b>indirebilir</b>: <img src='{}' />",
"gui_receive_url_description": "Bu OnionShare adresine ve kişisel anahtara sahip olan <b>herkes</b> <b>Tor Browser</b> kullanarak dosyaları bilgisayarınıza <b>yükleyebilir</b>: <img src='{}' />",
"gui_url_label_persistent": "Bu paylaşım otomatik olarak durdurulmayacak.<br><br>Sonraki her paylaşımda adres yeniden kullanılır (bir kerelik adresleri kullanmak için, ayarlardan \"Kalıcı adres kullanılsın\" seçeneğini kapatın.)",
diff --git a/desktop/onionshare/resources/locale/ug.json b/desktop/onionshare/resources/locale/ug.json
index 71286f75..979c2971 100644
--- a/desktop/onionshare/resources/locale/ug.json
+++ b/desktop/onionshare/resources/locale/ug.json
@@ -116,7 +116,6 @@
"gui_server_autostart_timer_expired": "",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "",
"gui_server_doesnt_support_stealth": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_share_url_public_description": "",
"gui_website_url_description": "",
diff --git a/desktop/onionshare/resources/locale/uk.json b/desktop/onionshare/resources/locale/uk.json
index 79dc6555..ae3d611d 100644
--- a/desktop/onionshare/resources/locale/uk.json
+++ b/desktop/onionshare/resources/locale/uk.json
@@ -76,7 +76,6 @@
"gui_server_autostop_timer_expired": "Час автостопу збіг. Налаштуйте його, щоб розпочати надсилання.",
"gui_server_autostart_timer_expired": "Запланований час збіг. Оновіть його, щоб почати надсилання.",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Час автостопу не може бути однаковим або ранішим за час автозапуску. Налаштуйте його, щоб почати надсилання.",
- "share_via_onionshare": "Поділитися через OnionShare",
"gui_share_url_description": "<b>Будь-хто</b>, за допомогою цієї адреси та приватного ключа, може <b>завантажити</b> ваші файли, через <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Будь-хто</b>, за допомогою цієї адреси та приватного ключа, може <b>вивантажити</b> файли на ваш комп'ютер через <b>Tor Browser</b>: <img src='{}' />",
"gui_url_label_persistent": "Це надсилання не припинятиметься автоматично.<br><br>Кожне наступне надсилання використовує ту ж адресу. (Для використання одноразової адреси, вимкніть «Використовувати постійну адресу» в налаштуваннях.)",
diff --git a/desktop/onionshare/resources/locale/vi.json b/desktop/onionshare/resources/locale/vi.json
index f2bfd18d..586312cf 100644
--- a/desktop/onionshare/resources/locale/vi.json
+++ b/desktop/onionshare/resources/locale/vi.json
@@ -116,7 +116,6 @@
"gui_server_autostart_timer_expired": "Thời gian được lịch trình đã qua mất rồi. Xin vui lòng điều chỉnh nó để bắt đầu chia sẻ.",
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Thời gian tự động dừng không thể trùng khớp hoặc sớm hơn thời gian tự động bắt đầu. Xin vui lòng điều chỉnh nó để bắt đầu chia sẻ.",
"gui_server_doesnt_support_stealth": "Xin lỗi, phiên bản này của Tor không hỗ trợ tàng hình (xác thực máy khách). Xin vui lòng thử lại với một phiên bản mới hơn của Tor, hoặc sử dụng chế độ 'công cộng' nếu nó không cần phải được riêng tư.",
- "share_via_onionshare": "Chia sẻ thông qua OnionShare",
"gui_share_url_description": "<b>Bất kỳ ai</b> có địa chỉ OnionShare và khóa key cá nhân này đều có thể <b>tải xuống</b> các tệp của bạn bằng cách sử dụng <b>Trình duyệt Tor</b>: <img src='{}' />",
"gui_share_url_public_description": "<b>Bất kỳ ai</b> có địa chỉ OnionShare này có thể <b>tải xuống</b> các tập tin của bạn bằng cách sử dụng <b>Trình duyệt Tor Browser</b>: <img src='{}' />",
"gui_website_url_description": "<b>Bất kỳ ai</b> có địa chỉ OnionShare và khoá key cá nhân này có thể <b>ghé thăm</b> trang web của bạn bằng cách sử dụng <b>Trình duyệt Tor Browser</b>: <img src='{}' />",
diff --git a/desktop/onionshare/resources/locale/wo.json b/desktop/onionshare/resources/locale/wo.json
index 1cbac38f..515856e3 100644
--- a/desktop/onionshare/resources/locale/wo.json
+++ b/desktop/onionshare/resources/locale/wo.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "",
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
"gui_url_label_persistent": "",
diff --git a/desktop/onionshare/resources/locale/yo.json b/desktop/onionshare/resources/locale/yo.json
index 44050566..d37f6368 100644
--- a/desktop/onionshare/resources/locale/yo.json
+++ b/desktop/onionshare/resources/locale/yo.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "",
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
- "share_via_onionshare": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
"gui_url_label_persistent": "",
diff --git a/desktop/onionshare/resources/locale/zh_Hans.json b/desktop/onionshare/resources/locale/zh_Hans.json
index 91255d5c..eaa51a2a 100644
--- a/desktop/onionshare/resources/locale/zh_Hans.json
+++ b/desktop/onionshare/resources/locale/zh_Hans.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "已断开与 Tor 的连接。",
"gui_server_started_after_autostop_timer": "在服务器启动之前,自动停止定时器的计时已到。请建立一个新的共享。",
"gui_server_autostop_timer_expired": "自动停止定时器计时已到。请对其调整以开始共享。",
- "share_via_onionshare": "通过 OnionShare 共享",
"gui_share_url_description": "<b>任何人</b>只要有这个 OnionShare 地址和私钥,都可以用<b> Tor Browser </b>来<b>下载</b>你的文件:<img src='{}' />",
"gui_receive_url_description": "<b>任何人</b>只要有 OnionShare 地址和私钥,都可以用 <b>Tor 浏览器</b><b>上传</b>文件到你的计算机:<img src='{}' />",
"gui_url_label_persistent": "这个共享不会自动停止。<br><br>每个后续共享都会重复使用这个地址。(要使用一次性地址,请在设置中关闭“使用持久地址”。)",
diff --git a/desktop/onionshare/resources/locale/zh_Hant.json b/desktop/onionshare/resources/locale/zh_Hant.json
index 3fbe7242..c3d1b71f 100644
--- a/desktop/onionshare/resources/locale/zh_Hant.json
+++ b/desktop/onionshare/resources/locale/zh_Hant.json
@@ -70,7 +70,6 @@
"gui_tor_connection_lost": "已斷開Tor連接。",
"gui_server_started_after_autostop_timer": "在服務器啓動之前,自動停止的定時器的計時已到。請建立一個新的共享。",
"gui_server_autostop_timer_expired": "自動停止計時器時間已到。請調整它來開始分享。",
- "share_via_onionshare": "使用OnionShare分享",
"gui_share_url_description": "<b>任何人</b>只要擁有這個地址就可以<b>下載</b>你的檔案經由<b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>任何人</b>只要擁有這個地址就可以<b>上傳</b>檔案到你的電腦經由<b>Tor Browser</b>: <img src='{}' />",
"gui_url_label_persistent": "此次分享不會自動停止。<br><br>隨後的所有分享序列將會繼續使用相同的地址。(如要使用一次性地址,請在設定裡關掉\"使用永久地址\"的選項。)",
diff --git a/desktop/onionshare/tab/mode/chat_mode/__init__.py b/desktop/onionshare/tab/mode/chat_mode/__init__.py
index 01f194b1..cb4f6911 100644
--- a/desktop/onionshare/tab/mode/chat_mode/__init__.py
+++ b/desktop/onionshare/tab/mode/chat_mode/__init__.py
@@ -80,6 +80,11 @@ class ChatMode(Mode):
header_label = QtWidgets.QLabel(strings._("gui_new_tab_chat_button"))
header_label.setStyleSheet(self.common.gui.css["mode_header_label"])
+ # Chat mode explainer
+ chat_mode_explainer = QtWidgets.QLabel(strings._("gui_chat_mode_explainer"))
+ chat_mode_explainer.setMinimumHeight(80)
+ chat_mode_explainer.setWordWrap(True)
+
# Top bar
top_bar_layout = QtWidgets.QHBoxLayout()
# Add space at the top, same height as the toggle history bar in other modes
@@ -89,6 +94,7 @@ class ChatMode(Mode):
self.main_layout = QtWidgets.QVBoxLayout()
self.main_layout.addLayout(top_bar_layout)
self.main_layout.addWidget(header_label)
+ self.main_layout.addWidget(chat_mode_explainer)
self.main_layout.addWidget(self.primary_action, stretch=1)
self.main_layout.addWidget(self.server_status)
self.main_layout.addWidget(MinimumSizeWidget(700, 0))
diff --git a/desktop/onionshare/tab/mode/receive_mode/__init__.py b/desktop/onionshare/tab/mode/receive_mode/__init__.py
index 87f8fc5f..bfa85459 100644
--- a/desktop/onionshare/tab/mode/receive_mode/__init__.py
+++ b/desktop/onionshare/tab/mode/receive_mode/__init__.py
@@ -85,12 +85,14 @@ class ReceiveMode(Mode):
self.disable_text_checkbox.setText(
strings._("mode_settings_receive_disable_text_checkbox")
)
+ self.disable_text_checkbox.setStyleSheet(self.common.gui.css["receive_options"])
self.disable_files_checkbox = self.settings.get("receive", "disable_files")
self.disable_files_checkbox = QtWidgets.QCheckBox()
self.disable_files_checkbox.clicked.connect(self.disable_files_checkbox_clicked)
self.disable_files_checkbox.setText(
strings._("mode_settings_receive_disable_files_checkbox")
)
+ self.disable_files_checkbox.setStyleSheet(self.common.gui.css["receive_options"])
disable_layout = QtWidgets.QHBoxLayout()
disable_layout.addWidget(self.disable_text_checkbox)
disable_layout.addWidget(self.disable_files_checkbox)
@@ -235,11 +237,21 @@ class ReceiveMode(Mode):
self.settings.set(
"receive", "disable_text", self.disable_text_checkbox.isChecked()
)
+ if self.disable_text_checkbox.isChecked():
+ # Prevent also disabling files if text is disabled
+ self.disable_files_checkbox.setDisabled(True)
+ else:
+ self.disable_files_checkbox.setDisabled(False)
def disable_files_checkbox_clicked(self):
self.settings.set(
"receive", "disable_files", self.disable_files_checkbox.isChecked()
)
+ if self.disable_files_checkbox.isChecked():
+ # Prevent also disabling text if files is disabled
+ self.disable_text_checkbox.setDisabled(True)
+ else:
+ self.disable_text_checkbox.setDisabled(False)
def webhook_url_checkbox_clicked(self):
if self.webhook_url_checkbox.isChecked():
diff --git a/desktop/onionshare/tor_settings_tab.py b/desktop/onionshare/tor_settings_tab.py
index 0a2b12e2..a7aa4bbb 100644
--- a/desktop/onionshare/tor_settings_tab.py
+++ b/desktop/onionshare/tor_settings_tab.py
@@ -97,7 +97,7 @@ class TorSettingsTab(QtWidgets.QWidget):
self.bridge_use_checkbox = QtWidgets.QCheckBox(
strings._("gui_settings_bridge_use_checkbox")
)
- self.bridge_use_checkbox.stateChanged.connect(
+ self.bridge_use_checkbox.clicked.connect(
self.bridge_use_checkbox_state_changed
)
@@ -529,15 +529,17 @@ class TorSettingsTab(QtWidgets.QWidget):
self.connection_type_socks.hide()
self.connection_type_bridges_radio_group.show()
- def bridge_use_checkbox_state_changed(self, state):
+ def bridge_use_checkbox_state_changed(self):
"""
'Use a bridge' checkbox changed
"""
- if state == QtCore.Qt.Checked:
+ if self.bridge_use_checkbox.isChecked():
+ self.common.log("TorSettingsTab", "bridge_use_checkbox_state_changed", "Use bridge checkbox toggled on")
self.bridge_settings.show()
self.bridge_builtin_radio.click()
self.bridge_builtin_dropdown.setCurrentText("obfs4")
else:
+ self.common.log("TorSettingsTab", "bridge_use_checkbox_state_changed", "Use bridge checkbox toggled off")
self.bridge_settings.hide()
def bridge_builtin_radio_toggled(self, checked):
diff --git a/desktop/org.onionshare.OnionShare.appdata.xml b/desktop/org.onionshare.OnionShare.appdata.xml
index 3134f74f..f3aa3d8d 100644
--- a/desktop/org.onionshare.OnionShare.appdata.xml
+++ b/desktop/org.onionshare.OnionShare.appdata.xml
@@ -24,6 +24,6 @@
<update_contact>micah@micahflee.com</update_contact>
<content_rating type="oars-1.1" />
<releases>
- <release type="development" date="2022-10-18" version="2.6.1" />
+ <release type="development" date="2023-10-17" version="2.6.1.dev1" />
</releases>
</component>
diff --git a/desktop/poetry.lock b/desktop/poetry.lock
index d2767c02..322d8a6e 100644
--- a/desktop/poetry.lock
+++ b/desktop/poetry.lock
@@ -1,10 +1,9 @@
-# This file is automatically @generated by Poetry and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand.
[[package]]
name = "bidict"
version = "0.22.1"
description = "The bidirectional mapping library for Python."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -19,37 +18,29 @@ test = ["hypothesis", "pytest", "pytest-benchmark[histogram]", "pytest-cov", "py
[[package]]
name = "black"
-version = "23.3.0"
+version = "23.10.0"
description = "The uncompromising code formatter."
-category = "dev"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "black-23.3.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:0945e13506be58bf7db93ee5853243eb368ace1c08a24c65ce108986eac65915"},
- {file = "black-23.3.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:67de8d0c209eb5b330cce2469503de11bca4085880d62f1628bd9972cc3366b9"},
- {file = "black-23.3.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:7c3eb7cea23904399866c55826b31c1f55bbcd3890ce22ff70466b907b6775c2"},
- {file = "black-23.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32daa9783106c28815d05b724238e30718f34155653d4d6e125dc7daec8e260c"},
- {file = "black-23.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:35d1381d7a22cc5b2be2f72c7dfdae4072a3336060635718cc7e1ede24221d6c"},
- {file = "black-23.3.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:a8a968125d0a6a404842fa1bf0b349a568634f856aa08ffaff40ae0dfa52e7c6"},
- {file = "black-23.3.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:c7ab5790333c448903c4b721b59c0d80b11fe5e9803d8703e84dcb8da56fec1b"},
- {file = "black-23.3.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:a6f6886c9869d4daae2d1715ce34a19bbc4b95006d20ed785ca00fa03cba312d"},
- {file = "black-23.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f3c333ea1dd6771b2d3777482429864f8e258899f6ff05826c3a4fcc5ce3f70"},
- {file = "black-23.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:11c410f71b876f961d1de77b9699ad19f939094c3a677323f43d7a29855fe326"},
- {file = "black-23.3.0-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:1d06691f1eb8de91cd1b322f21e3bfc9efe0c7ca1f0e1eb1db44ea367dff656b"},
- {file = "black-23.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50cb33cac881766a5cd9913e10ff75b1e8eb71babf4c7104f2e9c52da1fb7de2"},
- {file = "black-23.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e114420bf26b90d4b9daa597351337762b63039752bdf72bf361364c1aa05925"},
- {file = "black-23.3.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:48f9d345675bb7fbc3dd85821b12487e1b9a75242028adad0333ce36ed2a6d27"},
- {file = "black-23.3.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:714290490c18fb0126baa0fca0a54ee795f7502b44177e1ce7624ba1c00f2331"},
- {file = "black-23.3.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:064101748afa12ad2291c2b91c960be28b817c0c7eaa35bec09cc63aa56493c5"},
- {file = "black-23.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:562bd3a70495facf56814293149e51aa1be9931567474993c7942ff7d3533961"},
- {file = "black-23.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:e198cf27888ad6f4ff331ca1c48ffc038848ea9f031a3b40ba36aced7e22f2c8"},
- {file = "black-23.3.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:3238f2aacf827d18d26db07524e44741233ae09a584273aa059066d644ca7b30"},
- {file = "black-23.3.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:f0bd2f4a58d6666500542b26354978218a9babcdc972722f4bf90779524515f3"},
- {file = "black-23.3.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:92c543f6854c28a3c7f39f4d9b7694f9a6eb9d3c5e2ece488c327b6e7ea9b266"},
- {file = "black-23.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a150542a204124ed00683f0db1f5cf1c2aaaa9cc3495b7a3b5976fb136090ab"},
- {file = "black-23.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:6b39abdfb402002b8a7d030ccc85cf5afff64ee90fa4c5aebc531e3ad0175ddb"},
- {file = "black-23.3.0-py3-none-any.whl", hash = "sha256:ec751418022185b0c1bb7d7736e6933d40bbb14c14a0abcf9123d1b159f98dd4"},
- {file = "black-23.3.0.tar.gz", hash = "sha256:1c7b8d606e728a41ea1ccbd7264677e494e87cf630e399262ced92d4a8dac940"},
+ {file = "black-23.10.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:f8dc7d50d94063cdfd13c82368afd8588bac4ce360e4224ac399e769d6704e98"},
+ {file = "black-23.10.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:f20ff03f3fdd2fd4460b4f631663813e57dc277e37fb216463f3b907aa5a9bdd"},
+ {file = "black-23.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3d9129ce05b0829730323bdcb00f928a448a124af5acf90aa94d9aba6969604"},
+ {file = "black-23.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:960c21555be135c4b37b7018d63d6248bdae8514e5c55b71e994ad37407f45b8"},
+ {file = "black-23.10.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:30b78ac9b54cf87bcb9910ee3d499d2bc893afd52495066c49d9ee6b21eee06e"},
+ {file = "black-23.10.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:0e232f24a337fed7a82c1185ae46c56c4a6167fb0fe37411b43e876892c76699"},
+ {file = "black-23.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31946ec6f9c54ed7ba431c38bc81d758970dd734b96b8e8c2b17a367d7908171"},
+ {file = "black-23.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:c870bee76ad5f7a5ea7bd01dc646028d05568d33b0b09b7ecfc8ec0da3f3f39c"},
+ {file = "black-23.10.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:6901631b937acbee93c75537e74f69463adaf34379a04eef32425b88aca88a23"},
+ {file = "black-23.10.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:481167c60cd3e6b1cb8ef2aac0f76165843a374346aeeaa9d86765fe0dd0318b"},
+ {file = "black-23.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f74892b4b836e5162aa0452393112a574dac85e13902c57dfbaaf388e4eda37c"},
+ {file = "black-23.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:47c4510f70ec2e8f9135ba490811c071419c115e46f143e4dce2ac45afdcf4c9"},
+ {file = "black-23.10.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:76baba9281e5e5b230c9b7f83a96daf67a95e919c2dfc240d9e6295eab7b9204"},
+ {file = "black-23.10.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:a3c2ddb35f71976a4cfeca558848c2f2f89abc86b06e8dd89b5a65c1e6c0f22a"},
+ {file = "black-23.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db451a3363b1e765c172c3fd86213a4ce63fb8524c938ebd82919bf2a6e28c6a"},
+ {file = "black-23.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:7fb5fc36bb65160df21498d5a3dd330af8b6401be3f25af60c6ebfe23753f747"},
+ {file = "black-23.10.0-py3-none-any.whl", hash = "sha256:e223b731a0e025f8ef427dd79d8cd69c167da807f5710add30cdf131f13dd62e"},
+ {file = "black-23.10.0.tar.gz", hash = "sha256:31b9f87b277a68d0e99d2905edae08807c007973eaa609da5f0c62def6b7c0bd"},
]
[package.dependencies]
@@ -59,7 +50,7 @@ packaging = ">=22.0"
pathspec = ">=0.9.0"
platformdirs = ">=2"
tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
-typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""}
+typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""}
[package.extras]
colorama = ["colorama (>=0.4.3)"]
@@ -69,192 +60,216 @@ uvloop = ["uvloop (>=0.15.2)"]
[[package]]
name = "blinker"
-version = "1.6.2"
+version = "1.6.3"
description = "Fast, simple object-to-object and broadcast signaling"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "blinker-1.6.2-py3-none-any.whl", hash = "sha256:c3d739772abb7bc2860abf5f2ec284223d9ad5c76da018234f6f50d6f31ab1f0"},
- {file = "blinker-1.6.2.tar.gz", hash = "sha256:4afd3de66ef3a9f8067559fb7a1cbe555c17dcbe15971b05d1b625c3e7abe213"},
+ {file = "blinker-1.6.3-py3-none-any.whl", hash = "sha256:296320d6c28b006eb5e32d4712202dbcdcbf5dc482da298c2f44881c43884aaa"},
+ {file = "blinker-1.6.3.tar.gz", hash = "sha256:152090d27c1c5c722ee7e48504b02d76502811ce02e1523553b4cf8c8b3d3a8d"},
]
[[package]]
name = "brotli"
-version = "1.0.9"
+version = "1.1.0"
description = "Python bindings for the Brotli compression library"
-category = "main"
optional = false
python-versions = "*"
files = [
- {file = "Brotli-1.0.9-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:268fe94547ba25b58ebc724680609c8ee3e5a843202e9a381f6f9c5e8bdb5c70"},
- {file = "Brotli-1.0.9-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:c2415d9d082152460f2bd4e382a1e85aed233abc92db5a3880da2257dc7daf7b"},
- {file = "Brotli-1.0.9-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5913a1177fc36e30fcf6dc868ce23b0453952c78c04c266d3149b3d39e1410d6"},
- {file = "Brotli-1.0.9-cp27-cp27m-win32.whl", hash = "sha256:afde17ae04d90fbe53afb628f7f2d4ca022797aa093e809de5c3cf276f61bbfa"},
- {file = "Brotli-1.0.9-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:7cb81373984cc0e4682f31bc3d6be9026006d96eecd07ea49aafb06897746452"},
- {file = "Brotli-1.0.9-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:db844eb158a87ccab83e868a762ea8024ae27337fc7ddcbfcddd157f841fdfe7"},
- {file = "Brotli-1.0.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9744a863b489c79a73aba014df554b0e7a0fc44ef3f8a0ef2a52919c7d155031"},
- {file = "Brotli-1.0.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a72661af47119a80d82fa583b554095308d6a4c356b2a554fdc2799bc19f2a43"},
- {file = "Brotli-1.0.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ee83d3e3a024a9618e5be64648d6d11c37047ac48adff25f12fa4226cf23d1c"},
- {file = "Brotli-1.0.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:19598ecddd8a212aedb1ffa15763dd52a388518c4550e615aed88dc3753c0f0c"},
- {file = "Brotli-1.0.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:44bb8ff420c1d19d91d79d8c3574b8954288bdff0273bf788954064d260d7ab0"},
- {file = "Brotli-1.0.9-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e23281b9a08ec338469268f98f194658abfb13658ee98e2b7f85ee9dd06caa91"},
- {file = "Brotli-1.0.9-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:3496fc835370da351d37cada4cf744039616a6db7d13c430035e901443a34daa"},
- {file = "Brotli-1.0.9-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b83bb06a0192cccf1eb8d0a28672a1b79c74c3a8a5f2619625aeb6f28b3a82bb"},
- {file = "Brotli-1.0.9-cp310-cp310-win32.whl", hash = "sha256:26d168aac4aaec9a4394221240e8a5436b5634adc3cd1cdf637f6645cecbf181"},
- {file = "Brotli-1.0.9-cp310-cp310-win_amd64.whl", hash = "sha256:622a231b08899c864eb87e85f81c75e7b9ce05b001e59bbfbf43d4a71f5f32b2"},
- {file = "Brotli-1.0.9-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cc0283a406774f465fb45ec7efb66857c09ffefbe49ec20b7882eff6d3c86d3a"},
- {file = "Brotli-1.0.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:11d3283d89af7033236fa4e73ec2cbe743d4f6a81d41bd234f24bf63dde979df"},
- {file = "Brotli-1.0.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c1306004d49b84bd0c4f90457c6f57ad109f5cc6067a9664e12b7b79a9948ad"},
- {file = "Brotli-1.0.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1375b5d17d6145c798661b67e4ae9d5496920d9265e2f00f1c2c0b5ae91fbde"},
- {file = "Brotli-1.0.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cab1b5964b39607a66adbba01f1c12df2e55ac36c81ec6ed44f2fca44178bf1a"},
- {file = "Brotli-1.0.9-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8ed6a5b3d23ecc00ea02e1ed8e0ff9a08f4fc87a1f58a2530e71c0f48adf882f"},
- {file = "Brotli-1.0.9-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cb02ed34557afde2d2da68194d12f5719ee96cfb2eacc886352cb73e3808fc5d"},
- {file = "Brotli-1.0.9-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b3523f51818e8f16599613edddb1ff924eeb4b53ab7e7197f85cbc321cdca32f"},
- {file = "Brotli-1.0.9-cp311-cp311-win32.whl", hash = "sha256:ba72d37e2a924717990f4d7482e8ac88e2ef43fb95491eb6e0d124d77d2a150d"},
- {file = "Brotli-1.0.9-cp311-cp311-win_amd64.whl", hash = "sha256:3ffaadcaeafe9d30a7e4e1e97ad727e4f5610b9fa2f7551998471e3736738679"},
- {file = "Brotli-1.0.9-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:c83aa123d56f2e060644427a882a36b3c12db93727ad7a7b9efd7d7f3e9cc2c4"},
- {file = "Brotli-1.0.9-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:6b2ae9f5f67f89aade1fab0f7fd8f2832501311c363a21579d02defa844d9296"},
- {file = "Brotli-1.0.9-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:68715970f16b6e92c574c30747c95cf8cf62804569647386ff032195dc89a430"},
- {file = "Brotli-1.0.9-cp35-cp35m-win32.whl", hash = "sha256:defed7ea5f218a9f2336301e6fd379f55c655bea65ba2476346340a0ce6f74a1"},
- {file = "Brotli-1.0.9-cp35-cp35m-win_amd64.whl", hash = "sha256:88c63a1b55f352b02c6ffd24b15ead9fc0e8bf781dbe070213039324922a2eea"},
- {file = "Brotli-1.0.9-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:503fa6af7da9f4b5780bb7e4cbe0c639b010f12be85d02c99452825dd0feef3f"},
- {file = "Brotli-1.0.9-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:40d15c79f42e0a2c72892bf407979febd9cf91f36f495ffb333d1d04cebb34e4"},
- {file = "Brotli-1.0.9-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:93130612b837103e15ac3f9cbacb4613f9e348b58b3aad53721d92e57f96d46a"},
- {file = "Brotli-1.0.9-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87fdccbb6bb589095f413b1e05734ba492c962b4a45a13ff3408fa44ffe6479b"},
- {file = "Brotli-1.0.9-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:6d847b14f7ea89f6ad3c9e3901d1bc4835f6b390a9c71df999b0162d9bb1e20f"},
- {file = "Brotli-1.0.9-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:495ba7e49c2db22b046a53b469bbecea802efce200dffb69b93dd47397edc9b6"},
- {file = "Brotli-1.0.9-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:4688c1e42968ba52e57d8670ad2306fe92e0169c6f3af0089be75bbac0c64a3b"},
- {file = "Brotli-1.0.9-cp36-cp36m-win32.whl", hash = "sha256:61a7ee1f13ab913897dac7da44a73c6d44d48a4adff42a5701e3239791c96e14"},
- {file = "Brotli-1.0.9-cp36-cp36m-win_amd64.whl", hash = "sha256:1c48472a6ba3b113452355b9af0a60da5c2ae60477f8feda8346f8fd48e3e87c"},
- {file = "Brotli-1.0.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3b78a24b5fd13c03ee2b7b86290ed20efdc95da75a3557cc06811764d5ad1126"},
- {file = "Brotli-1.0.9-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:9d12cf2851759b8de8ca5fde36a59c08210a97ffca0eb94c532ce7b17c6a3d1d"},
- {file = "Brotli-1.0.9-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:6c772d6c0a79ac0f414a9f8947cc407e119b8598de7621f39cacadae3cf57d12"},
- {file = "Brotli-1.0.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29d1d350178e5225397e28ea1b7aca3648fcbab546d20e7475805437bfb0a130"},
- {file = "Brotli-1.0.9-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7bbff90b63328013e1e8cb50650ae0b9bac54ffb4be6104378490193cd60f85a"},
- {file = "Brotli-1.0.9-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:ec1947eabbaf8e0531e8e899fc1d9876c179fc518989461f5d24e2223395a9e3"},
- {file = "Brotli-1.0.9-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:12effe280b8ebfd389022aa65114e30407540ccb89b177d3fbc9a4f177c4bd5d"},
- {file = "Brotli-1.0.9-cp37-cp37m-win32.whl", hash = "sha256:f909bbbc433048b499cb9db9e713b5d8d949e8c109a2a548502fb9aa8630f0b1"},
- {file = "Brotli-1.0.9-cp37-cp37m-win_amd64.whl", hash = "sha256:97f715cf371b16ac88b8c19da00029804e20e25f30d80203417255d239f228b5"},
- {file = "Brotli-1.0.9-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e16eb9541f3dd1a3e92b89005e37b1257b157b7256df0e36bd7b33b50be73bcb"},
- {file = "Brotli-1.0.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:160c78292e98d21e73a4cc7f76a234390e516afcd982fa17e1422f7c6a9ce9c8"},
- {file = "Brotli-1.0.9-cp38-cp38-manylinux1_i686.whl", hash = "sha256:b663f1e02de5d0573610756398e44c130add0eb9a3fc912a09665332942a2efb"},
- {file = "Brotli-1.0.9-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:5b6ef7d9f9c38292df3690fe3e302b5b530999fa90014853dcd0d6902fb59f26"},
- {file = "Brotli-1.0.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a674ac10e0a87b683f4fa2b6fa41090edfd686a6524bd8dedbd6138b309175c"},
- {file = "Brotli-1.0.9-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e2d9e1cbc1b25e22000328702b014227737756f4b5bf5c485ac1d8091ada078b"},
- {file = "Brotli-1.0.9-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:b336c5e9cf03c7be40c47b5fd694c43c9f1358a80ba384a21969e0b4e66a9b17"},
- {file = "Brotli-1.0.9-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:85f7912459c67eaab2fb854ed2bc1cc25772b300545fe7ed2dc03954da638649"},
- {file = "Brotli-1.0.9-cp38-cp38-win32.whl", hash = "sha256:35a3edbe18e876e596553c4007a087f8bcfd538f19bc116917b3c7522fca0429"},
- {file = "Brotli-1.0.9-cp38-cp38-win_amd64.whl", hash = "sha256:269a5743a393c65db46a7bb982644c67ecba4b8d91b392403ad8a861ba6f495f"},
- {file = "Brotli-1.0.9-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2aad0e0baa04517741c9bb5b07586c642302e5fb3e75319cb62087bd0995ab19"},
- {file = "Brotli-1.0.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5cb1e18167792d7d21e21365d7650b72d5081ed476123ff7b8cac7f45189c0c7"},
- {file = "Brotli-1.0.9-cp39-cp39-manylinux1_i686.whl", hash = "sha256:16d528a45c2e1909c2798f27f7bf0a3feec1dc9e50948e738b961618e38b6a7b"},
- {file = "Brotli-1.0.9-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:56d027eace784738457437df7331965473f2c0da2c70e1a1f6fdbae5402e0389"},
- {file = "Brotli-1.0.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9bf919756d25e4114ace16a8ce91eb340eb57a08e2c6950c3cebcbe3dff2a5e7"},
- {file = "Brotli-1.0.9-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e4c4e92c14a57c9bd4cb4be678c25369bf7a092d55fd0866f759e425b9660806"},
- {file = "Brotli-1.0.9-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:e48f4234f2469ed012a98f4b7874e7f7e173c167bed4934912a29e03167cf6b1"},
- {file = "Brotli-1.0.9-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9ed4c92a0665002ff8ea852353aeb60d9141eb04109e88928026d3c8a9e5433c"},
- {file = "Brotli-1.0.9-cp39-cp39-win32.whl", hash = "sha256:cfc391f4429ee0a9370aa93d812a52e1fee0f37a81861f4fdd1f4fb28e8547c3"},
- {file = "Brotli-1.0.9-cp39-cp39-win_amd64.whl", hash = "sha256:854c33dad5ba0fbd6ab69185fec8dab89e13cda6b7d191ba111987df74f38761"},
- {file = "Brotli-1.0.9-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9749a124280a0ada4187a6cfd1ffd35c350fb3af79c706589d98e088c5044267"},
- {file = "Brotli-1.0.9-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:73fd30d4ce0ea48010564ccee1a26bfe39323fde05cb34b5863455629db61dc7"},
- {file = "Brotli-1.0.9-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:02177603aaca36e1fd21b091cb742bb3b305a569e2402f1ca38af471777fb019"},
- {file = "Brotli-1.0.9-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:76ffebb907bec09ff511bb3acc077695e2c32bc2142819491579a695f77ffd4d"},
- {file = "Brotli-1.0.9-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b43775532a5904bc938f9c15b77c613cb6ad6fb30990f3b0afaea82797a402d8"},
- {file = "Brotli-1.0.9-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5bf37a08493232fbb0f8229f1824b366c2fc1d02d64e7e918af40acd15f3e337"},
- {file = "Brotli-1.0.9-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:330e3f10cd01da535c70d09c4283ba2df5fb78e915bea0a28becad6e2ac010be"},
- {file = "Brotli-1.0.9-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e1abbeef02962596548382e393f56e4c94acd286bd0c5afba756cffc33670e8a"},
- {file = "Brotli-1.0.9-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3148362937217b7072cf80a2dcc007f09bb5ecb96dae4617316638194113d5be"},
- {file = "Brotli-1.0.9-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:336b40348269f9b91268378de5ff44dc6fbaa2268194f85177b53463d313842a"},
- {file = "Brotli-1.0.9-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b8b09a16a1950b9ef495a0f8b9d0a87599a9d1f179e2d4ac014b2ec831f87e7"},
- {file = "Brotli-1.0.9-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c8e521a0ce7cf690ca84b8cc2272ddaf9d8a50294fd086da67e517439614c755"},
- {file = "Brotli-1.0.9.zip", hash = "sha256:4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438"},
+ {file = "Brotli-1.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e1140c64812cb9b06c922e77f1c26a75ec5e3f0fb2bf92cc8c58720dec276752"},
+ {file = "Brotli-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c8fd5270e906eef71d4a8d19b7c6a43760c6abcfcc10c9101d14eb2357418de9"},
+ {file = "Brotli-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ae56aca0402a0f9a3431cddda62ad71666ca9d4dc3a10a142b9dce2e3c0cda3"},
+ {file = "Brotli-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:43ce1b9935bfa1ede40028054d7f48b5469cd02733a365eec8a329ffd342915d"},
+ {file = "Brotli-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7c4855522edb2e6ae7fdb58e07c3ba9111e7621a8956f481c68d5d979c93032e"},
+ {file = "Brotli-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:38025d9f30cf4634f8309c6874ef871b841eb3c347e90b0851f63d1ded5212da"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e6a904cb26bfefc2f0a6f240bdf5233be78cd2488900a2f846f3c3ac8489ab80"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a37b8f0391212d29b3a91a799c8e4a2855e0576911cdfb2515487e30e322253d"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e84799f09591700a4154154cab9787452925578841a94321d5ee8fb9a9a328f0"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f66b5337fa213f1da0d9000bc8dc0cb5b896b726eefd9c6046f699b169c41b9e"},
+ {file = "Brotli-1.1.0-cp310-cp310-win32.whl", hash = "sha256:be36e3d172dc816333f33520154d708a2657ea63762ec16b62ece02ab5e4daf2"},
+ {file = "Brotli-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:0c6244521dda65ea562d5a69b9a26120769b7a9fb3db2fe9545935ed6735b128"},
+ {file = "Brotli-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a3daabb76a78f829cafc365531c972016e4aa8d5b4bf60660ad8ecee19df7ccc"},
+ {file = "Brotli-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c8146669223164fc87a7e3de9f81e9423c67a79d6b3447994dfb9c95da16e2d6"},
+ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30924eb4c57903d5a7526b08ef4a584acc22ab1ffa085faceb521521d2de32dd"},
+ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ceb64bbc6eac5a140ca649003756940f8d6a7c444a68af170b3187623b43bebf"},
+ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a469274ad18dc0e4d316eefa616d1d0c2ff9da369af19fa6f3daa4f09671fd61"},
+ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:524f35912131cc2cabb00edfd8d573b07f2d9f21fa824bd3fb19725a9cf06327"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5b3cc074004d968722f51e550b41a27be656ec48f8afaeeb45ebf65b561481dd"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:19c116e796420b0cee3da1ccec3b764ed2952ccfcc298b55a10e5610ad7885f9"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:510b5b1bfbe20e1a7b3baf5fed9e9451873559a976c1a78eebaa3b86c57b4265"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a1fd8a29719ccce974d523580987b7f8229aeace506952fa9ce1d53a033873c8"},
+ {file = "Brotli-1.1.0-cp311-cp311-win32.whl", hash = "sha256:39da8adedf6942d76dc3e46653e52df937a3c4d6d18fdc94a7c29d263b1f5b50"},
+ {file = "Brotli-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:aac0411d20e345dc0920bdec5548e438e999ff68d77564d5e9463a7ca9d3e7b1"},
+ {file = "Brotli-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:316cc9b17edf613ac76b1f1f305d2a748f1b976b033b049a6ecdfd5612c70409"},
+ {file = "Brotli-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:caf9ee9a5775f3111642d33b86237b05808dafcd6268faa492250e9b78046eb2"},
+ {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70051525001750221daa10907c77830bc889cb6d865cc0b813d9db7fefc21451"},
+ {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7f4bf76817c14aa98cc6697ac02f3972cb8c3da93e9ef16b9c66573a68014f91"},
+ {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0c5516f0aed654134a2fc936325cc2e642f8a0e096d075209672eb321cff408"},
+ {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c3020404e0b5eefd7c9485ccf8393cfb75ec38ce75586e046573c9dc29967a0"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4ed11165dd45ce798d99a136808a794a748d5dc38511303239d4e2363c0695dc"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4093c631e96fdd49e0377a9c167bfd75b6d0bad2ace734c6eb20b348bc3ea180"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e4c4629ddad63006efa0ef968c8e4751c5868ff0b1c5c40f76524e894c50248"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:861bf317735688269936f755fa136a99d1ed526883859f86e41a5d43c61d8966"},
+ {file = "Brotli-1.1.0-cp312-cp312-win32.whl", hash = "sha256:5f4d5ea15c9382135076d2fb28dde923352fe02951e66935a9efaac8f10e81b0"},
+ {file = "Brotli-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:906bc3a79de8c4ae5b86d3d75a8b77e44404b0f4261714306e3ad248d8ab0951"},
+ {file = "Brotli-1.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a090ca607cbb6a34b0391776f0cb48062081f5f60ddcce5d11838e67a01928d1"},
+ {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2de9d02f5bda03d27ede52e8cfe7b865b066fa49258cbab568720aa5be80a47d"},
+ {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2333e30a5e00fe0fe55903c8832e08ee9c3b1382aacf4db26664a16528d51b4b"},
+ {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4d4a848d1837973bf0f4b5e54e3bec977d99be36a7895c61abb659301b02c112"},
+ {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:fdc3ff3bfccdc6b9cc7c342c03aa2400683f0cb891d46e94b64a197910dc4064"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:5eeb539606f18a0b232d4ba45adccde4125592f3f636a6182b4a8a436548b914"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:fd5f17ff8f14003595ab414e45fce13d073e0762394f957182e69035c9f3d7c2"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:069a121ac97412d1fe506da790b3e69f52254b9df4eb665cd42460c837193354"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:e93dfc1a1165e385cc8239fab7c036fb2cd8093728cbd85097b284d7b99249a2"},
+ {file = "Brotli-1.1.0-cp36-cp36m-win32.whl", hash = "sha256:a599669fd7c47233438a56936988a2478685e74854088ef5293802123b5b2460"},
+ {file = "Brotli-1.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:d143fd47fad1db3d7c27a1b1d66162e855b5d50a89666af46e1679c496e8e579"},
+ {file = "Brotli-1.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:11d00ed0a83fa22d29bc6b64ef636c4552ebafcef57154b4ddd132f5638fbd1c"},
+ {file = "Brotli-1.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f733d788519c7e3e71f0855c96618720f5d3d60c3cb829d8bbb722dddce37985"},
+ {file = "Brotli-1.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:929811df5462e182b13920da56c6e0284af407d1de637d8e536c5cd00a7daf60"},
+ {file = "Brotli-1.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b63b949ff929fbc2d6d3ce0e924c9b93c9785d877a21a1b678877ffbbc4423a"},
+ {file = "Brotli-1.1.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d192f0f30804e55db0d0e0a35d83a9fead0e9a359a9ed0285dbacea60cc10a84"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f296c40e23065d0d6650c4aefe7470d2a25fffda489bcc3eb66083f3ac9f6643"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:919e32f147ae93a09fe064d77d5ebf4e35502a8df75c29fb05788528e330fe74"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:23032ae55523cc7bccb4f6a0bf368cd25ad9bcdcc1990b64a647e7bbcce9cb5b"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:224e57f6eac61cc449f498cc5f0e1725ba2071a3d4f48d5d9dffba42db196438"},
+ {file = "Brotli-1.1.0-cp37-cp37m-win32.whl", hash = "sha256:587ca6d3cef6e4e868102672d3bd9dc9698c309ba56d41c2b9c85bbb903cdb95"},
+ {file = "Brotli-1.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2954c1c23f81c2eaf0b0717d9380bd348578a94161a65b3a2afc62c86467dd68"},
+ {file = "Brotli-1.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:efa8b278894b14d6da122a72fefcebc28445f2d3f880ac59d46c90f4c13be9a3"},
+ {file = "Brotli-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:03d20af184290887bdea3f0f78c4f737d126c74dc2f3ccadf07e54ceca3bf208"},
+ {file = "Brotli-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6172447e1b368dcbc458925e5ddaf9113477b0ed542df258d84fa28fc45ceea7"},
+ {file = "Brotli-1.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a743e5a28af5f70f9c080380a5f908d4d21d40e8f0e0c8901604d15cfa9ba751"},
+ {file = "Brotli-1.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0541e747cce78e24ea12d69176f6a7ddb690e62c425e01d31cc065e69ce55b48"},
+ {file = "Brotli-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cdbc1fc1bc0bff1cef838eafe581b55bfbffaed4ed0318b724d0b71d4d377619"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:890b5a14ce214389b2cc36ce82f3093f96f4cc730c1cffdbefff77a7c71f2a97"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ab4fbee0b2d9098c74f3057b2bc055a8bd92ccf02f65944a241b4349229185a"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:141bd4d93984070e097521ed07e2575b46f817d08f9fa42b16b9b5f27b5ac088"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fce1473f3ccc4187f75b4690cfc922628aed4d3dd013d047f95a9b3919a86596"},
+ {file = "Brotli-1.1.0-cp38-cp38-win32.whl", hash = "sha256:db85ecf4e609a48f4b29055f1e144231b90edc90af7481aa731ba2d059226b1b"},
+ {file = "Brotli-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3d7954194c36e304e1523f55d7042c59dc53ec20dd4e9ea9d151f1b62b4415c0"},
+ {file = "Brotli-1.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5fb2ce4b8045c78ebbc7b8f3c15062e435d47e7393cc57c25115cfd49883747a"},
+ {file = "Brotli-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7905193081db9bfa73b1219140b3d315831cbff0d8941f22da695832f0dd188f"},
+ {file = "Brotli-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a77def80806c421b4b0af06f45d65a136e7ac0bdca3c09d9e2ea4e515367c7e9"},
+ {file = "Brotli-1.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8dadd1314583ec0bf2d1379f7008ad627cd6336625d6679cf2f8e67081b83acf"},
+ {file = "Brotli-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:901032ff242d479a0efa956d853d16875d42157f98951c0230f69e69f9c09bac"},
+ {file = "Brotli-1.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:22fc2a8549ffe699bfba2256ab2ed0421a7b8fadff114a3d201794e45a9ff578"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ae15b066e5ad21366600ebec29a7ccbc86812ed267e4b28e860b8ca16a2bc474"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:949f3b7c29912693cee0afcf09acd6ebc04c57af949d9bf77d6101ebb61e388c"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:89f4988c7203739d48c6f806f1e87a1d96e0806d44f0fba61dba81392c9e474d"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:de6551e370ef19f8de1807d0a9aa2cdfdce2e85ce88b122fe9f6b2b076837e59"},
+ {file = "Brotli-1.1.0-cp39-cp39-win32.whl", hash = "sha256:f0d8a7a6b5983c2496e364b969f0e526647a06b075d034f3297dc66f3b360c64"},
+ {file = "Brotli-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:cdad5b9014d83ca68c25d2e9444e28e967ef16e80f6b436918c700c117a85467"},
+ {file = "Brotli-1.1.0.tar.gz", hash = "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724"},
]
[[package]]
+name = "brotlicffi"
+version = "1.1.0.0"
+description = "Python CFFI bindings to the Brotli library"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9b7ae6bd1a3f0df532b6d67ff674099a96d22bc0948955cb338488c31bfb8851"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19ffc919fa4fc6ace69286e0a23b3789b4219058313cf9b45625016bf7ff996b"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9feb210d932ffe7798ee62e6145d3a757eb6233aa9a4e7db78dd3690d7755814"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84763dbdef5dd5c24b75597a77e1b30c66604725707565188ba54bab4f114820"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-win32.whl", hash = "sha256:1b12b50e07c3911e1efa3a8971543e7648100713d4e0971b13631cce22c587eb"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:994a4f0681bb6c6c3b0925530a1926b7a189d878e6e5e38fae8efa47c5d9c613"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2e4aeb0bd2540cb91b069dbdd54d458da8c4334ceaf2d25df2f4af576d6766ca"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b7b0033b0d37bb33009fb2fef73310e432e76f688af76c156b3594389d81391"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54a07bb2374a1eba8ebb52b6fafffa2afd3c4df85ddd38fcc0511f2bb387c2a8"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7901a7dc4b88f1c1475de59ae9be59799db1007b7d059817948d8e4f12e24e35"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce01c7316aebc7fce59da734286148b1d1b9455f89cf2c8a4dfce7d41db55c2d"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:246f1d1a90279bb6069de3de8d75a8856e073b8ff0b09dcca18ccc14cec85979"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc4bc5d82bc56ebd8b514fb8350cfac4627d6b0743382e46d033976a5f80fab6"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37c26ecb14386a44b118ce36e546ce307f4810bc9598a6e6cb4f7fca725ae7e6"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca72968ae4eaf6470498d5c2887073f7efe3b1e7d7ec8be11a06a79cc810e990"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:add0de5b9ad9e9aa293c3aa4e9deb2b61e99ad6c1634e01d01d98c03e6a354cc"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9b6068e0f3769992d6b622a1cd2e7835eae3cf8d9da123d7f51ca9c1e9c333e5"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8557a8559509b61e65083f8782329188a250102372576093c88930c875a69838"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a7ae37e5d79c5bdfb5b4b99f2715a6035e6c5bf538c3746abc8e26694f92f33"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:391151ec86bb1c683835980f4816272a87eaddc46bb91cbf44f62228b84d8cca"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:2f3711be9290f0453de8eed5275d93d286abe26b08ab4a35d7452caa1fef532f"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1a807d760763e398bbf2c6394ae9da5815901aa93ee0a37bca5efe78d4ee3171"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa8ca0623b26c94fccc3a1fdd895be1743b838f3917300506d04aa3346fd2a14"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3de0cf28a53a3238b252aca9fed1593e9d36c1d116748013339f0949bfc84112"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6be5ec0e88a4925c91f3dea2bb0013b3a2accda6f77238f76a34a1ea532a1cb0"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d9eb71bb1085d996244439154387266fd23d6ad37161f6f52f1cd41dd95a3808"},
+ {file = "brotlicffi-1.1.0.0.tar.gz", hash = "sha256:b77827a689905143f87915310b93b273ab17888fd43ef350d4832c4a71083c13"},
+]
+
+[package.dependencies]
+cffi = ">=1.0.0"
+
+[[package]]
name = "certifi"
-version = "2023.5.7"
+version = "2023.7.22"
description = "Python package for providing Mozilla's CA Bundle."
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
- {file = "certifi-2023.5.7-py3-none-any.whl", hash = "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"},
- {file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"},
+ {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"},
+ {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"},
]
[[package]]
name = "cffi"
-version = "1.15.1"
+version = "1.16.0"
description = "Foreign Function Interface for Python calling C code."
-category = "main"
optional = false
-python-versions = "*"
+python-versions = ">=3.8"
files = [
- {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"},
- {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"},
- {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"},
- {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"},
- {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"},
- {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"},
- {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"},
- {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"},
- {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"},
- {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"},
- {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"},
- {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"},
- {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"},
- {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"},
- {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"},
- {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"},
- {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"},
- {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"},
- {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"},
- {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"},
- {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"},
- {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"},
- {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"},
- {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"},
- {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"},
- {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"},
- {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"},
- {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"},
- {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"},
- {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"},
- {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"},
- {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"},
- {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"},
- {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"},
- {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"},
- {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"},
- {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"},
- {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"},
- {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"},
- {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"},
- {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"},
- {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"},
- {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"},
- {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"},
- {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"},
- {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"},
- {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"},
- {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"},
- {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"},
- {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"},
- {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"},
- {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"},
- {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"},
- {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"},
- {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"},
- {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"},
- {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"},
- {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"},
- {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"},
- {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"},
- {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"},
- {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"},
- {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"},
- {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"},
+ {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"},
+ {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"},
+ {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"},
+ {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"},
+ {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"},
+ {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"},
+ {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"},
+ {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"},
+ {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"},
+ {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"},
+ {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"},
+ {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"},
+ {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"},
+ {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"},
+ {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"},
+ {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"},
+ {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"},
+ {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"},
+ {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"},
+ {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"},
+ {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"},
+ {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"},
+ {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"},
+ {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"},
+ {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"},
+ {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"},
+ {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"},
+ {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"},
+ {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"},
+ {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"},
+ {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"},
+ {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"},
+ {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"},
+ {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"},
+ {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"},
+ {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"},
+ {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"},
+ {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"},
+ {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"},
+ {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"},
+ {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"},
+ {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"},
+ {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"},
+ {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"},
+ {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"},
+ {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"},
+ {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"},
+ {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"},
+ {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"},
+ {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"},
+ {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"},
+ {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"},
]
[package.dependencies]
@@ -262,99 +277,112 @@ pycparser = "*"
[[package]]
name = "charset-normalizer"
-version = "3.1.0"
+version = "3.3.0"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
-category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
- {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"},
- {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"},
+ {file = "charset-normalizer-3.3.0.tar.gz", hash = "sha256:63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:effe5406c9bd748a871dbcaf3ac69167c38d72db8c9baf3ff954c344f31c4cbe"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4162918ef3098851fcd8a628bf9b6a98d10c380725df9e04caf5ca6dd48c847a"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0570d21da019941634a531444364f2482e8db0b3425fcd5ac0c36565a64142c8"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5707a746c6083a3a74b46b3a631d78d129edab06195a92a8ece755aac25a3f3d"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:278c296c6f96fa686d74eb449ea1697f3c03dc28b75f873b65b5201806346a69"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a4b71f4d1765639372a3b32d2638197f5cd5221b19531f9245fcc9ee62d38f56"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5969baeaea61c97efa706b9b107dcba02784b1601c74ac84f2a532ea079403e"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3f93dab657839dfa61025056606600a11d0b696d79386f974e459a3fbc568ec"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:db756e48f9c5c607b5e33dd36b1d5872d0422e960145b08ab0ec7fd420e9d649"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:232ac332403e37e4a03d209a3f92ed9071f7d3dbda70e2a5e9cff1c4ba9f0678"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e5c1502d4ace69a179305abb3f0bb6141cbe4714bc9b31d427329a95acfc8bdd"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:2502dd2a736c879c0f0d3e2161e74d9907231e25d35794584b1ca5284e43f596"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23e8565ab7ff33218530bc817922fae827420f143479b753104ab801145b1d5b"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-win32.whl", hash = "sha256:1872d01ac8c618a8da634e232f24793883d6e456a66593135aeafe3784b0848d"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:557b21a44ceac6c6b9773bc65aa1b4cc3e248a5ad2f5b914b91579a32e22204d"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d7eff0f27edc5afa9e405f7165f85a6d782d308f3b6b9d96016c010597958e63"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a685067d05e46641d5d1623d7c7fdf15a357546cbb2f71b0ebde91b175ffc3e"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0d3d5b7db9ed8a2b11a774db2bbea7ba1884430a205dbd54a32d61d7c2a190fa"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2935ffc78db9645cb2086c2f8f4cfd23d9b73cc0dc80334bc30aac6f03f68f8c"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fe359b2e3a7729010060fbca442ca225280c16e923b37db0e955ac2a2b72a05"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:380c4bde80bce25c6e4f77b19386f5ec9db230df9f2f2ac1e5ad7af2caa70459"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0d1e3732768fecb052d90d62b220af62ead5748ac51ef61e7b32c266cac9293"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b2919306936ac6efb3aed1fbf81039f7087ddadb3160882a57ee2ff74fd2382"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f8888e31e3a85943743f8fc15e71536bda1c81d5aa36d014a3c0c44481d7db6e"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:82eb849f085624f6a607538ee7b83a6d8126df6d2f7d3b319cb837b289123078"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7b8b8bf1189b3ba9b8de5c8db4d541b406611a71a955bbbd7385bbc45fcb786c"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5adf257bd58c1b8632046bbe43ee38c04e1038e9d37de9c57a94d6bd6ce5da34"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c350354efb159b8767a6244c166f66e67506e06c8924ed74669b2c70bc8735b1"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-win32.whl", hash = "sha256:02af06682e3590ab952599fbadac535ede5d60d78848e555aa58d0c0abbde786"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86d1f65ac145e2c9ed71d8ffb1905e9bba3a91ae29ba55b4c46ae6fc31d7c0d4"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3b447982ad46348c02cb90d230b75ac34e9886273df3a93eec0539308a6296d7"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:abf0d9f45ea5fb95051c8bfe43cb40cda383772f7e5023a83cc481ca2604d74e"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b09719a17a2301178fac4470d54b1680b18a5048b481cb8890e1ef820cb80455"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3d9b48ee6e3967b7901c052b670c7dda6deb812c309439adaffdec55c6d7b78"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:edfe077ab09442d4ef3c52cb1f9dab89bff02f4524afc0acf2d46be17dc479f5"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3debd1150027933210c2fc321527c2299118aa929c2f5a0a80ab6953e3bd1908"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86f63face3a527284f7bb8a9d4f78988e3c06823f7bea2bd6f0e0e9298ca0403"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:24817cb02cbef7cd499f7c9a2735286b4782bd47a5b3516a0e84c50eab44b98e"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c71f16da1ed8949774ef79f4a0260d28b83b3a50c6576f8f4f0288d109777989"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9cf3126b85822c4e53aa28c7ec9869b924d6fcfb76e77a45c44b83d91afd74f9"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:b3b2316b25644b23b54a6f6401074cebcecd1244c0b8e80111c9a3f1c8e83d65"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:03680bb39035fbcffe828eae9c3f8afc0428c91d38e7d61aa992ef7a59fb120e"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4cc152c5dd831641e995764f9f0b6589519f6f5123258ccaca8c6d34572fefa8"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-win32.whl", hash = "sha256:b8f3307af845803fb0b060ab76cf6dd3a13adc15b6b451f54281d25911eb92df"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8eaf82f0eccd1505cf39a45a6bd0a8cf1c70dcfc30dba338207a969d91b965c0"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dc45229747b67ffc441b3de2f3ae5e62877a282ea828a5bdb67883c4ee4a8810"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4a0033ce9a76e391542c182f0d48d084855b5fcba5010f707c8e8c34663d77"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ada214c6fa40f8d800e575de6b91a40d0548139e5dc457d2ebb61470abf50186"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1121de0e9d6e6ca08289583d7491e7fcb18a439305b34a30b20d8215922d43c"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1063da2c85b95f2d1a430f1c33b55c9c17ffaf5e612e10aeaad641c55a9e2b9d"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70f1d09c0d7748b73290b29219e854b3207aea922f839437870d8cc2168e31cc"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:250c9eb0f4600361dd80d46112213dff2286231d92d3e52af1e5a6083d10cad9"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:750b446b2ffce1739e8578576092179160f6d26bd5e23eb1789c4d64d5af7dc7"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:fc52b79d83a3fe3a360902d3f5d79073a993597d48114c29485e9431092905d8"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:588245972aca710b5b68802c8cad9edaa98589b1b42ad2b53accd6910dad3545"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e39c7eb31e3f5b1f88caff88bcff1b7f8334975b46f6ac6e9fc725d829bc35d4"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-win32.whl", hash = "sha256:abecce40dfebbfa6abf8e324e1860092eeca6f7375c8c4e655a8afb61af58f2c"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:24a91a981f185721542a0b7c92e9054b7ab4fea0508a795846bc5b0abf8118d4"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:67b8cc9574bb518ec76dc8e705d4c39ae78bb96237cb533edac149352c1f39fe"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac71b2977fb90c35d41c9453116e283fac47bb9096ad917b8819ca8b943abecd"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3ae38d325b512f63f8da31f826e6cb6c367336f95e418137286ba362925c877e"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:542da1178c1c6af8873e143910e2269add130a299c9106eef2594e15dae5e482"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30a85aed0b864ac88309b7d94be09f6046c834ef60762a8833b660139cfbad13"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aae32c93e0f64469f74ccc730a7cb21c7610af3a775157e50bbd38f816536b38"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b26ddf78d57f1d143bdf32e820fd8935d36abe8a25eb9ec0b5a71c82eb3895"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f5d10bae5d78e4551b7be7a9b29643a95aded9d0f602aa2ba584f0388e7a557"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:249c6470a2b60935bafd1d1d13cd613f8cd8388d53461c67397ee6a0f5dce741"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c5a74c359b2d47d26cdbbc7845e9662d6b08a1e915eb015d044729e92e7050b7"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:b5bcf60a228acae568e9911f410f9d9e0d43197d030ae5799e20dca8df588287"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:187d18082694a29005ba2944c882344b6748d5be69e3a89bf3cc9d878e548d5a"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:81bf654678e575403736b85ba3a7867e31c2c30a69bc57fe88e3ace52fb17b89"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-win32.whl", hash = "sha256:85a32721ddde63c9df9ebb0d2045b9691d9750cb139c161c80e500d210f5e26e"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:468d2a840567b13a590e67dd276c570f8de00ed767ecc611994c301d0f8c014f"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e0fc42822278451bc13a2e8626cf2218ba570f27856b536e00cfa53099724828"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:09c77f964f351a7369cc343911e0df63e762e42bac24cd7d18525961c81754f4"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12ebea541c44fdc88ccb794a13fe861cc5e35d64ed689513a5c03d05b53b7c82"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:805dfea4ca10411a5296bcc75638017215a93ffb584c9e344731eef0dcfb026a"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:96c2b49eb6a72c0e4991d62406e365d87067ca14c1a729a870d22354e6f68115"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aaf7b34c5bc56b38c931a54f7952f1ff0ae77a2e82496583b247f7c969eb1479"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:619d1c96099be5823db34fe89e2582b336b5b074a7f47f819d6b3a57ff7bdb86"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0ac5e7015a5920cfce654c06618ec40c33e12801711da6b4258af59a8eff00a"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:93aa7eef6ee71c629b51ef873991d6911b906d7312c6e8e99790c0f33c576f89"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7966951325782121e67c81299a031f4c115615e68046f79b85856b86ebffc4cd"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:02673e456dc5ab13659f85196c534dc596d4ef260e4d86e856c3b2773ce09843"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:c2af80fb58f0f24b3f3adcb9148e6203fa67dd3f61c4af146ecad033024dde43"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:153e7b6e724761741e0974fc4dcd406d35ba70b92bfe3fedcb497226c93b9da7"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-win32.whl", hash = "sha256:d47ecf253780c90ee181d4d871cd655a789da937454045b17b5798da9393901a"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:d97d85fa63f315a8bdaba2af9a6a686e0eceab77b3089af45133252618e70884"},
+ {file = "charset_normalizer-3.3.0-py3-none-any.whl", hash = "sha256:e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2"},
]
[[package]]
name = "click"
-version = "8.1.3"
+version = "8.1.7"
description = "Composable command line interface toolkit"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"},
- {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"},
+ {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"},
+ {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"},
]
[package.dependencies]
@@ -364,7 +392,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""}
name = "colorama"
version = "0.4.6"
description = "Cross-platform colored terminal text."
-category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
files = [
@@ -374,75 +401,69 @@ files = [
[[package]]
name = "cx-freeze"
-version = "6.15.0"
+version = "6.15.9"
description = "Create standalone executables from Python scripts"
-category = "dev"
optional = false
python-versions = ">=3.7.4"
files = [
- {file = "cx_Freeze-6.15.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ac07a0baf0035e0d0329b8c7719ed12be9006fc9a7a79d110a1ee4c1a4ce6d69"},
- {file = "cx_Freeze-6.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:24abc4b25af3a6dc759472b23ab0c1ef649070ba682314d77180f15024373268"},
- {file = "cx_Freeze-6.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:60ed86a2f6e6150de9e2a456b2850fa8305b3b10769796a3167f6843eaa4a1ea"},
- {file = "cx_Freeze-6.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:229e44ff29b76e60ed51a3d8e3286d6f872d2b56c850a6a0ec2778f48d518609"},
- {file = "cx_Freeze-6.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba35d5590f61249ab04a313230d6d12afc10fba0a60e6a221b6e9026ce822f02"},
- {file = "cx_Freeze-6.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:aa0233725f6fa586bc2dc8cd352c435d19718f75ee5699046f0065ccf70d4e95"},
- {file = "cx_Freeze-6.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c6b0243ff8b7c127ea0d4797ef04a8548d433a41d7a6bdd5b3674eb710c0aded"},
- {file = "cx_Freeze-6.15.0-cp310-cp310-win32.whl", hash = "sha256:2cb9fd359b9427278c825874323053a21f6a74b86ab6f722b1bca6a424b87a34"},
- {file = "cx_Freeze-6.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:7e8fb2b8409b2715ecca3efcd644a0f57a4ed531636c875dcb0b99aca03a9b84"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:67b05188fd83ab03687cbfdd652b76b2e09587f7256125c0a8bf8e6dcb7591c1"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:af9f9af17c502df492841dfaa410ce2e59d27acbe0554ae9278919da22a5f1c6"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4e89eb2cf2570a7aa9b5ee5fabc226b48e710f673f923c21bb8363e08a7e0bfb"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65a7985189b167014af4e2e9b62a7831dc55c2e5d49ad61301f82525738356f1"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1c2a8b0d8cc66a829f1e56a6d8c9f5763e1d7cc357fb96388460f296286b349"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:938b2695f86233e10c5bd7649d1e1b94ee2a36e0e45ec261a73206b30194ac0a"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4538bd43b293cd7601a44120bbd14f5ceb8566652803739157a3f4b9df636db0"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-win32.whl", hash = "sha256:8dad161b00b50d06a676075612ac630fe652398c3ae17c0a010c7adbfcebce06"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:8697e9fa46c0fff18b2468db08683818d70b1874a484fc3c2aa6faa77c6ca1d7"},
- {file = "cx_Freeze-6.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b15cee7cb87694a3112174659a2abc7c4d206131122f157bb1a358712c0ea987"},
- {file = "cx_Freeze-6.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f34e7e3ee0af03f57c263c671eabead9881302c99f4dd9c2229d5ab1cd69bbb"},
- {file = "cx_Freeze-6.15.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9175fd0dee12f54d71d93461464db82fef51027bb69f887c0b80d3068ee2461b"},
- {file = "cx_Freeze-6.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:624c3b171b56a15e389b65018f9d6ad5497b8068da02bacfcc74ea3fbce1b61d"},
- {file = "cx_Freeze-6.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:3e8c00d79c4963d68a009a47b3984b322e64c05a0b4aa936804f2e573c045a34"},
- {file = "cx_Freeze-6.15.0-cp37-cp37m-win32.whl", hash = "sha256:174449b685b641c84c456038fc1a3b4e860294ea349c549bb7a23f1f7bf18ae0"},
- {file = "cx_Freeze-6.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:855d02e80163cc6614f92acf861f8ef24cb0df5fd1c5d23a319b95f89ad52347"},
- {file = "cx_Freeze-6.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:78a9a785a4c1034bbd035f0e6698b725c0e0f36f7b221c2353e9f9cf3cfdb5cb"},
- {file = "cx_Freeze-6.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e8de987aa49a5733064846d04359f10a6abd46003be2a94989a2da56c70ec97"},
- {file = "cx_Freeze-6.15.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86def06eed007a092c0b335d77cab512b36c26ba68db79462ce9865cafd399c1"},
- {file = "cx_Freeze-6.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f770f7790738409e5f2c877ef209d98cfa50c7b25a273ac85aff088329076898"},
- {file = "cx_Freeze-6.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ba6204b4058e5954e96eec9b1f0364ee1e832ae466bf705719892d62e3aeb74d"},
- {file = "cx_Freeze-6.15.0-cp38-cp38-win32.whl", hash = "sha256:5d86c7d08ddd3cafbca29c7b4ca64276c6ab0abe2cdd582758dbe43fb757f2de"},
- {file = "cx_Freeze-6.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:9764fd8404b2ef07bd298cc93c7adb3a463941ed82ad2475df6f210347a4a33b"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e276b1c35efd859c047140e067046734fd23429e8f153bce9d084c27c008540f"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c85bfe14ce64f190baa1df55ea59cc538f3aaef6389b654746b195ee25b69442"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93e89f8831fce12162c45959899e69f26c6511a2e2f77d72867765f17902ef31"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1980034ce36c019c7cb7aeae43fbc16faaac86d6b07fbd92d2692787574e924d"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743a6c3981cc784dfed14f7acbcdc8e59ba8526b958513c244c54e770d976317"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:543e0c05fbc0a03aaa8b56a3e67bea1da800aa54cd9363d20db048e0afa1ade6"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:cbc6185d9eecf889888ad44677cc07f87342836c98129901dd0d070ec2b03dab"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-win32.whl", hash = "sha256:82739ed7ed1204c80ad47b3bfea952db5d72239951d7ad13300243f29b29db71"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:9e4aedf3c540e4e0195094c6c76465f64077ba17bd0a9b47f217869e87b27200"},
- {file = "cx_Freeze-6.15.0.tar.gz", hash = "sha256:4747af12796a6e083c0cf095581b7f84b81d7286b4930777dbf688ca0a2c9898"},
+ {file = "cx_Freeze-6.15.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:41152c5e402d2ea267a3e3a110c91c8888cbc92c5466011ff9b223b4e92dd3d3"},
+ {file = "cx_Freeze-6.15.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c2e09c4e9c6e4df90b50a9ec0ecc9053b467c1c36e71d10e0efedf2db1394d96"},
+ {file = "cx_Freeze-6.15.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afd4b144f447787c7df8313f53259a70d8913593bd14746cbf0eb588b0e11c1"},
+ {file = "cx_Freeze-6.15.9-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59955c240a6d1d6bd17a73ce1751abf209f5a4852c5282a5386587df9d7f0bb7"},
+ {file = "cx_Freeze-6.15.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36293ffd01168812989db536890d64ae2bcc6247c365bc635db2257836b02450"},
+ {file = "cx_Freeze-6.15.9-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d75fc457a6373466b59c2faa531a0bd5ba76de000d829dc00e77045147358080"},
+ {file = "cx_Freeze-6.15.9-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:013e41bdbbdd84b473ef7c6392d1173427a4e0ab5e399948756c6de2646795d3"},
+ {file = "cx_Freeze-6.15.9-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:16eed1c449d6c3ce62c67b6c57ca44de9714b9898d0cdc13e615a9d37115f6cf"},
+ {file = "cx_Freeze-6.15.9-cp310-cp310-win32.whl", hash = "sha256:d3f29e1966e9aa0546ac90e8385afe1904c3d90e97797a9071fac37a04d73bdd"},
+ {file = "cx_Freeze-6.15.9-cp310-cp310-win_amd64.whl", hash = "sha256:9677a5a808ddd9fe29ebc8350899f0f38413a81c51fecaa0a3b0d936babd4b3a"},
+ {file = "cx_Freeze-6.15.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f0162442112b9c1fee3942c35028787397f78ecb972167721912feaf4318c91e"},
+ {file = "cx_Freeze-6.15.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4c8e426a3e1cf38eedb3a69b74e94b81b34541aebeb75ed03850c3768b5ca784"},
+ {file = "cx_Freeze-6.15.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1434567904de84decb8ce6b62aae73779fd0b3486317975ff3ca7434db15cec"},
+ {file = "cx_Freeze-6.15.9-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c7c9a05b186c04539633e3777f863801e99b46e73831702dff7b78754f126767"},
+ {file = "cx_Freeze-6.15.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39ed02b54c87685573bc7daa2a13a5240cfe5bdeb799a7a00c2dbfb6cf8be612"},
+ {file = "cx_Freeze-6.15.9-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:759056c54ddb0948c365a4a971154038c23037a6a9a3b350b3289286c2af8047"},
+ {file = "cx_Freeze-6.15.9-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e88044501e824967dd0a2f088e12e5aed87d32d317c4d5db0b8e3f16d6ff01ec"},
+ {file = "cx_Freeze-6.15.9-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1155442b0206de8be3f0c8e58d66c05d4ace5bce28a55b0fb14634ee93d1963b"},
+ {file = "cx_Freeze-6.15.9-cp311-cp311-win32.whl", hash = "sha256:300fce771be8f56531f4fa765af2916d477c058506e6448d7271b3a82043f647"},
+ {file = "cx_Freeze-6.15.9-cp311-cp311-win_amd64.whl", hash = "sha256:1d45816fc308d0b6ea3e6df2236f51b59be30d843aa671c5f5b5f185685f6667"},
+ {file = "cx_Freeze-6.15.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:004820cb4e8983a445dc04b6ead2d210b5a27dffeedb0a6f34eedf6e5aff8131"},
+ {file = "cx_Freeze-6.15.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9592613cf1025d2adb4502c07e033d049b0d106ecb2337c68256c2563c61c06"},
+ {file = "cx_Freeze-6.15.9-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:faeabb371842c4143cfb51c74389eb0ca9e76deac2389c4939e5396baa4e1df4"},
+ {file = "cx_Freeze-6.15.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f6e4049d649f98122ac3823f4e0c0e55705169c25bc960464111c81c7f54f34"},
+ {file = "cx_Freeze-6.15.9-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:917b87144e388797523f04becbff86bbeac65446b3c527a010b1978b41f85829"},
+ {file = "cx_Freeze-6.15.9-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:2b7521a54f7246119dbba41373304fabdb5b015f8b42c7b835595245f7f418ca"},
+ {file = "cx_Freeze-6.15.9-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:31a8966635542bb011f4882e4a5ef2ae06a3f1cf00778350a2f18ec583902985"},
+ {file = "cx_Freeze-6.15.9-cp37-cp37m-win32.whl", hash = "sha256:91e0303cfaa76a1b98efa64fc781d14eeead0f41619fd9cad1d7e6274a026c4d"},
+ {file = "cx_Freeze-6.15.9-cp37-cp37m-win_amd64.whl", hash = "sha256:6940b0079fca6f93d821c74f0e4561b81d7d56530eda369241397eafeebe801a"},
+ {file = "cx_Freeze-6.15.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aa6c92a81b2315e5eedc33462848ec0f2f442f436c4efaefb1dedbafa730b9fd"},
+ {file = "cx_Freeze-6.15.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c035bcabbf80d01e8c8050327565fa0112ca16ee851a531697d595f2e4194fb8"},
+ {file = "cx_Freeze-6.15.9-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:64117c1ff41a3176d266d68b8134b4f2437168aa24ce2d108be90963e762115f"},
+ {file = "cx_Freeze-6.15.9-cp38-cp38-win32.whl", hash = "sha256:2eaa8b53e56f199ea598edd7f99e97f45ed0cc526c98d93a41e052b53e4da8fa"},
+ {file = "cx_Freeze-6.15.9-cp38-cp38-win_amd64.whl", hash = "sha256:55be5c8e03280c358d5e13b6d133e276b2fbc444b88013e86201f773dfaf47b7"},
+ {file = "cx_Freeze-6.15.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d0d85eb6a16c857c6e51383c2432ec79ef35a0ad409263a894f0152cf0dbcbf7"},
+ {file = "cx_Freeze-6.15.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60abfb0e5123106b278d03c7909ad01917c057825e4b8f4d9edbc43d492aa196"},
+ {file = "cx_Freeze-6.15.9-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8db9ae1ddbc18b6796adf4871be77acf336ec2812fca1d5dff6355be515b1fb9"},
+ {file = "cx_Freeze-6.15.9-cp39-cp39-win32.whl", hash = "sha256:a2ae5176a9daf0b61948575f5e57e341ccd402b6357afdcb594ea07a384542bc"},
+ {file = "cx_Freeze-6.15.9-cp39-cp39-win_amd64.whl", hash = "sha256:8a7a98bfdb1b1c389cf0b9a3d8148d4b4195235c8904a510f5b657592415da77"},
+ {file = "cx_Freeze-6.15.9.tar.gz", hash = "sha256:affc2ee01d0825721c187ffb8e530602acdd193c9f0ec74351fd84b0d1c76ca7"},
]
[package.dependencies]
cx-Logging = {version = ">=3.1", markers = "sys_platform == \"win32\""}
lief = {version = ">=0.12.0", markers = "sys_platform == \"win32\""}
-patchelf = [
- {version = ">=0.14", markers = "sys_platform == \"linux\" and platform_machine == \"aarch64\" or sys_platform == \"linux\" and platform_machine == \"i686\" or sys_platform == \"linux\" and platform_machine == \"ppc64le\" or sys_platform == \"linux\" and platform_machine == \"s390x\" or sys_platform == \"linux\" and platform_machine == \"x86_64\""},
- {version = ">=0.17.2.1", markers = "sys_platform == \"linux\" and platform_machine == \"armv7l\""},
-]
-setuptools = ">=62.6,<68"
+patchelf = {version = ">=0.14", markers = "sys_platform == \"linux\" and (platform_machine == \"aarch64\" or platform_machine == \"armv7l\" or platform_machine == \"i686\" or platform_machine == \"ppc64le\" or platform_machine == \"s390x\" or platform_machine == \"x86_64\")"}
+setuptools = ">=62.6,<69"
+wheel = ">=0.38.4"
[package.extras]
-dev = ["bump2version (==1.0.1)", "cibuildwheel (==2.12.3)", "pre-commit (>=2.21.0)", "pylint (==2.17.4)", "wheel (==0.40.0)"]
-doc = ["furo (==2023.3.27)", "sphinx (==5.3.0)", "sphinx-tabs (==3.4.1)"]
-test = ["nose (==1.3.7)", "pygments (==2.15.1)", "pytest (==7.3.1)", "pytest-cov (==4.0.0)", "pytest-mock (==3.10.0)", "pytest-timeout (==2.1.0)"]
+dev = ["bump2version (==1.0.1)", "cibuildwheel (>=2.13.1)", "pre-commit (>=2.21.0)", "pylint (>=2.17.6)"]
+doc = ["furo (==2023.8.19)", "sphinx (<7.2.0)", "sphinx (==7.2.2)", "sphinx-tabs (==3.4.1)"]
+test = ["pytest (>=7.4.0)", "pytest-cov (==4.1.0)", "pytest-datafiles (==3.0.0)", "pytest-mock (==3.11.1)", "pytest-timeout (==2.1.0)", "pytest-xdist[psutil] (==3.3.1)"]
[[package]]
name = "cx-logging"
version = "3.1.0"
description = "Python and C interfaces for logging"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -470,21 +491,86 @@ files = [
]
[[package]]
+name = "cython"
+version = "3.0.3"
+description = "The Cython compiler for writing C extensions in the Python language."
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+files = [
+ {file = "Cython-3.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:85073ab414ff432d2a39d36cb49c39ce69f30b53daccc7699bfad0ce3d1b539a"},
+ {file = "Cython-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30c1d9bd2bcb9b1a195dd23b359771857df8ebd4a1038fb37dd155d3ea38c09c"},
+ {file = "Cython-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9296f332523d5c550ebae694483874d255264cff3281372f25ea5f2739b96651"},
+ {file = "Cython-3.0.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d52ed47edbf48392dd0f419135e7ff59673f6b32d27d3ffc9e61a515571c050d"},
+ {file = "Cython-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6f63e959d13775472d37e731b2450d120e8db87e956e2de74475e8f17a89b1fb"},
+ {file = "Cython-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22d268c3023f405e13aa0c1600389794694ab3671614f8e782d89a1055da0858"},
+ {file = "Cython-3.0.3-cp310-cp310-win32.whl", hash = "sha256:51850f277660f67171135515e45edfc8815f723ff20768e39cb9785b2671062f"},
+ {file = "Cython-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:bff1fec968a6b2ca452ae9bff6d6d0bf8486427d4d791e85543240266b6915e0"},
+ {file = "Cython-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:587d664ff6bd5b03611ddc6ef320b7f8677d824c45d15553f16a69191a643843"},
+ {file = "Cython-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3192cd780435fca5ae5d79006b48cbf0ea674853b5a7b0055a122045bff9d84e"},
+ {file = "Cython-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7578b59ffd0d9c95ae6f7ae852309918915998b7fe0ed2f8725a683de8da276"},
+ {file = "Cython-3.0.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f05889eb1b5a95a7adf97303279c2d13819ff62292e10337e6c940dbf570b5d"},
+ {file = "Cython-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1d3416c24a1b7bf3a2d9615a7f9f12b00fac0b94fb2e61449e0c1ecf20d6ed52"},
+ {file = "Cython-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4cc0f7244da06fdc6a4a7240df788805436b6fb7f20edee777eb77777d9d2eb1"},
+ {file = "Cython-3.0.3-cp311-cp311-win32.whl", hash = "sha256:845e24ee70c204062e03f813114751387abf454b29410336797582e04abbc07b"},
+ {file = "Cython-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:e3ad109bdf40f55318e001cad12bcc00e8119569b49f72e442c082355617b036"},
+ {file = "Cython-3.0.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:14b898ec2fdeea68f81bd3838b035800b173b59ed532674f65a82724bab35d3b"},
+ {file = "Cython-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:188705eeae094bb716bc3e3d0da4e13469f0a0de803b65dfd63fe7eb78ec6173"},
+ {file = "Cython-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eb128fa40305f18eaa4d8dd0980033b92db86aada927181d3c3d561aa0634db"},
+ {file = "Cython-3.0.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80bd3167e689419cdaf7ede0d20a9f126b9698a43b1f8d3e8f54b970c7a6cd07"},
+ {file = "Cython-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d0c7b315f6feb75e2c949dc7816da5626cdca097fea1c0d9f4fdb20d2f4ffc2a"},
+ {file = "Cython-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:db9d4de4cd6cd3ad1c3f455aae877ad81a92b92b7cbb01dfb32b6306b873932b"},
+ {file = "Cython-3.0.3-cp312-cp312-win32.whl", hash = "sha256:be1a679c7ad90813f9206c9d62993f3bd0cba9330668e97bb3f70c87ae94d5f5"},
+ {file = "Cython-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:fa08259f4d176b86561eeff6954f9924099c0b0c128fc2cbfc18343c068ad8ca"},
+ {file = "Cython-3.0.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:056340c49bf7861eb1eba941423e67620b7c85e264e9a5594163f1d1e8b95acc"},
+ {file = "Cython-3.0.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cfbd60137f6fca9c29101d7517d4e341e0fd279ffc2489634e5e2dd592457c2"},
+ {file = "Cython-3.0.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66b7e71c16cab0814945014ffb101ead2b173259098bbb1b8138e7a547da3709"},
+ {file = "Cython-3.0.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:42b1ff0e19fb4d1fe68b60f55d46942ed246a323f6bbeec302924b78b4c3b637"},
+ {file = "Cython-3.0.3-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:5d6af87a787d5ce063e28e508fee34755a945e438c68ecda50eb4ea34c30e13f"},
+ {file = "Cython-3.0.3-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:0147a31fb73a063bb7b6c69fd843c1a2bad18f326f58048d4ee5bdaef87c9fbf"},
+ {file = "Cython-3.0.3-cp36-cp36m-win32.whl", hash = "sha256:84084fa05cf9a67a85818fa72a741d1cae2e3096551158730730a3bafc3b2f52"},
+ {file = "Cython-3.0.3-cp36-cp36m-win_amd64.whl", hash = "sha256:8a6a9a2d98758768052e4ac1bea4ebc20fae69b4c19cb2bc5457c9174532d302"},
+ {file = "Cython-3.0.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:94fa403de3a413cd41b8eb4ddb4adcbd66aa0a64f9a84d1c5f696c93572c83aa"},
+ {file = "Cython-3.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e729fd633a5225570c5480b36e7c530c8a82e2ab6d2944ddbe1ddfff5bf181b1"},
+ {file = "Cython-3.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59bf689409b0e51ef673e3dd0348727aef5b67e40f23f806be64c49cee321de0"},
+ {file = "Cython-3.0.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0ac9ec822fad010248b4a59ac197975de38c95378d0f13201c181dd9b0a2624"},
+ {file = "Cython-3.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8e78fc42a6e846941d23aba1aca587520ad38c8970255242f08f9288b0eeba85"},
+ {file = "Cython-3.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e40ac8bd6d11355d354bb4975bb88f6e923ba30f85e38f1f1234b642634e4fc4"},
+ {file = "Cython-3.0.3-cp37-cp37m-win32.whl", hash = "sha256:77a920ae19fa1db5adb8a618cebb095ca4f56adfbf9fc32cb7008a590607b62b"},
+ {file = "Cython-3.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:0630527a8c9e8fed815c38524e418dab713f5d66f6ac9dc2151b41f3a7727304"},
+ {file = "Cython-3.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4e956383e57d00b1fa6449b5ec03b9fa5fce2afd41ef3e518bee8e7c89f1616c"},
+ {file = "Cython-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ec9e15b821ef7e3c38abe9e4df4e6dda7af159325bc358afd5a3c2d5027ccfe"},
+ {file = "Cython-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18f4fb7cc6ad8e99e8f387ebbcded171a701bfbfd8cd3fd46156bf44bb4fd968"},
+ {file = "Cython-3.0.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b50f4f75f89e7eef2ed9c9b60746bc4ab1ba2bc0dff64587133db2b63e068f09"},
+ {file = "Cython-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5545d20d7a1c0cf17559152f7f4a465c3d5caace82dd051f82e2d753ae9fd956"},
+ {file = "Cython-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:1571b045ec1cb15c152c3949f3bd53ee0fa66d434271ea3d225658d99b7e721a"},
+ {file = "Cython-3.0.3-cp38-cp38-win32.whl", hash = "sha256:3db04801fd15d826174f63ff45878d4b1e62aff27cf1ea96b186581052d24446"},
+ {file = "Cython-3.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:75d42c8423ab299396f3c938445730600e32e4a2f0298f6f9df4d4a698fe8e16"},
+ {file = "Cython-3.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:48bae87b657009e5648c21d4a92de9f3dc6fed3e35e92957fa8a07a18cea2313"},
+ {file = "Cython-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ccde14ddc4b424435cb5722aa1529c254bbf3611e1ad9baea12d25e9c049361"},
+ {file = "Cython-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c8e5afcc19861c3b22faafbe906c7e1b23f0595073ac10e21a80dec9e60e7dd"},
+ {file = "Cython-3.0.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e1c9385e99eef299396b9a1e39790e81819446c6a83e249f6f0fc71a64f57a0"},
+ {file = "Cython-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d49d20db27c9cfcf45bb1fbf68f777bd1e04e4b949e4e5172d9ee8c9419bc792"},
+ {file = "Cython-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d12591939af93c59defea6fc5320ca099eb44e4694e3b2cbe72fb24406079b97"},
+ {file = "Cython-3.0.3-cp39-cp39-win32.whl", hash = "sha256:9f40b27545d583fd7df0d3c1b76b3bcaf8a72dbd8d83d5486af2384015660de8"},
+ {file = "Cython-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:74ba0f11b384246b7965169f08bf67d426e4957fee5c165571340217a9b43cfc"},
+ {file = "Cython-3.0.3-py2.py3-none-any.whl", hash = "sha256:176953a8a2532e34a589625a40c934ff339088f2bf4ddaa2e5cb77b05ca0c25c"},
+ {file = "Cython-3.0.3.tar.gz", hash = "sha256:327309301b01f729f173a94511cb2280c87ba03c89ed428e88f913f778245030"},
+]
+
+[[package]]
name = "dnspython"
-version = "2.3.0"
+version = "2.4.2"
description = "DNS toolkit"
-category = "main"
optional = false
-python-versions = ">=3.7,<4.0"
+python-versions = ">=3.8,<4.0"
files = [
- {file = "dnspython-2.3.0-py3-none-any.whl", hash = "sha256:89141536394f909066cabd112e3e1a37e4e654db00a25308b0f130bc3152eb46"},
- {file = "dnspython-2.3.0.tar.gz", hash = "sha256:224e32b03eb46be70e12ef6d64e0be123a64e621ab4c0822ff6d450d52a540b9"},
+ {file = "dnspython-2.4.2-py3-none-any.whl", hash = "sha256:57c6fbaaeaaf39c891292012060beb141791735dbb4004798328fc2c467402d8"},
+ {file = "dnspython-2.4.2.tar.gz", hash = "sha256:8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984"},
]
[package.extras]
-curio = ["curio (>=1.2,<2.0)", "sniffio (>=1.1,<2.0)"]
-dnssec = ["cryptography (>=2.6,<40.0)"]
-doh = ["h2 (>=4.1.0)", "httpx (>=0.21.1)", "requests (>=2.23.0,<3.0.0)", "requests-toolbelt (>=0.9.1,<0.11.0)"]
+dnssec = ["cryptography (>=2.6,<42.0)"]
+doh = ["h2 (>=4.1.0)", "httpcore (>=0.17.3)", "httpx (>=0.24.1)"]
doq = ["aioquic (>=0.9.20)"]
idna = ["idna (>=2.1,<4.0)"]
trio = ["trio (>=0.14,<0.23)"]
@@ -494,7 +580,6 @@ wmi = ["wmi (>=1.5.1,<2.0.0)"]
name = "eventlet"
version = "0.33.3"
description = "Highly concurrent networking library"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -509,14 +594,13 @@ six = ">=1.10.0"
[[package]]
name = "exceptiongroup"
-version = "1.1.1"
+version = "1.1.3"
description = "Backport of PEP 654 (exception groups)"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "exceptiongroup-1.1.1-py3-none-any.whl", hash = "sha256:232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e"},
- {file = "exceptiongroup-1.1.1.tar.gz", hash = "sha256:d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785"},
+ {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"},
+ {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"},
]
[package.extras]
@@ -526,7 +610,6 @@ test = ["pytest (>=6)"]
name = "flask"
version = "2.3.2"
description = "A simple framework for building complex web applications."
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -548,25 +631,24 @@ dotenv = ["python-dotenv"]
[[package]]
name = "flask-compress"
-version = "1.13"
+version = "1.14"
description = "Compress responses in your Flask app with gzip, deflate or brotli."
-category = "main"
optional = false
python-versions = "*"
files = [
- {file = "Flask-Compress-1.13.tar.gz", hash = "sha256:ee96f18bf9b00f2deb4e3406ca4a05093aa80e2ef0578525a3b4d32ecdff129d"},
- {file = "Flask_Compress-1.13-py3-none-any.whl", hash = "sha256:1128f71fbd788393ce26830c51f8b5a1a7a4d085e79a21a5cddf4c057dcd559b"},
+ {file = "Flask-Compress-1.14.tar.gz", hash = "sha256:e46528f37b91857012be38e24e65db1a248662c3dc32ee7808b5986bf1d123ee"},
+ {file = "Flask_Compress-1.14-py3-none-any.whl", hash = "sha256:b86c9808f0f38ea2246c9730972cf978f2cdf6a9a1a69102ba81e07891e6b26c"},
]
[package.dependencies]
-brotli = "*"
+brotli = {version = "*", markers = "platform_python_implementation != \"PyPy\""}
+brotlicffi = {version = "*", markers = "platform_python_implementation == \"PyPy\""}
flask = "*"
[[package]]
name = "flask-socketio"
version = "5.3.4"
description = "Socket.IO integration for Flask applications"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -580,85 +662,73 @@ python-socketio = ">=5.0.2"
[[package]]
name = "gevent"
-version = "22.10.2"
+version = "23.9.1"
description = "Coroutine-based network library"
-category = "main"
-optional = false
-python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5"
-files = [
- {file = "gevent-22.10.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:97cd42382421779f5d82ec5007199e8a84aa288114975429e4fd0a98f2290f10"},
- {file = "gevent-22.10.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:1e1286a76f15b5e15f1e898731d50529e249529095a032453f2c101af3fde71c"},
- {file = "gevent-22.10.2-cp27-cp27m-win32.whl", hash = "sha256:59b47e81b399d49a5622f0f503c59f1ce57b7705306ea0196818951dfc2f36c8"},
- {file = "gevent-22.10.2-cp27-cp27m-win_amd64.whl", hash = "sha256:1d543c9407a1e4bca11a8932916988cfb16de00366de5bf7bc9e7a3f61e60b18"},
- {file = "gevent-22.10.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:4e2f008c82dc54ec94f4de12ca6feea60e419babb48ec145456907ae61625aa4"},
- {file = "gevent-22.10.2-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:990d7069f14dc40674e0d5cb43c68fd3bad8337048613b9bb94a0c4180ffc176"},
- {file = "gevent-22.10.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f23d0997149a816a2a9045af29c66f67f405a221745b34cefeac5769ed451db8"},
- {file = "gevent-22.10.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b43d500d7d3c0e03070dee813335bb5315215aa1cf6a04c61093dfdd718640b3"},
- {file = "gevent-22.10.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b68f4c9e20e47ad49fe797f37f91d5bbeace8765ce2707f979a8d4ec197e4d"},
- {file = "gevent-22.10.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1f001cac0ba8da76abfeb392a3057f81fab3d67cc916c7df8ea977a44a2cc989"},
- {file = "gevent-22.10.2-cp310-cp310-win_amd64.whl", hash = "sha256:3b7eae8a0653ba95a224faaddf629a913ace408edb67384d3117acf42d7dcf89"},
- {file = "gevent-22.10.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8f2477e7b0a903a01485c55bacf2089110e5f767014967ba4b287ff390ae2638"},
- {file = "gevent-22.10.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddaa3e310a8f1a45b5c42cf50b54c31003a3028e7d4e085059090ea0e7a5fddd"},
- {file = "gevent-22.10.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:98bc510e80f45486ef5b806a1c305e0e89f0430688c14984b0dbdec03331f48b"},
- {file = "gevent-22.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:877abdb3a669576b1d51ce6a49b7260b2a96f6b2424eb93287e779a3219d20ba"},
- {file = "gevent-22.10.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d21ad79cca234cdbfa249e727500b0ddcbc7adfff6614a96e6eaa49faca3e4f2"},
- {file = "gevent-22.10.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e955238f59b2947631c9782a713280dd75884e40e455313b5b6bbc20b92ff73"},
- {file = "gevent-22.10.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:5aa99e4882a9e909b4756ee799c6fa0f79eb0542779fad4cc60efa23ec1b2aa8"},
- {file = "gevent-22.10.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:d82081656a5b9a94d37c718c8646c757e1617e389cdc533ea5e6a6f0b8b78545"},
- {file = "gevent-22.10.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54f4bfd74c178351a4a05c5c7df6f8a0a279ff6f392b57608ce0e83c768207f9"},
- {file = "gevent-22.10.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ff3796692dff50fec2f381b9152438b221335f557c4f9b811f7ded51b7a25a1"},
- {file = "gevent-22.10.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f01c9adbcb605364694b11dcd0542ec468a29ac7aba2fb5665dc6caf17ba4d7e"},
- {file = "gevent-22.10.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:9d85574eb729f981fea9a78998725a06292d90a3ed50ddca74530c3148c0be41"},
- {file = "gevent-22.10.2-cp36-cp36m-win32.whl", hash = "sha256:8c192d2073e558e241f0b592c1e2b34127a4481a5be240cad4796533b88b1a98"},
- {file = "gevent-22.10.2-cp36-cp36m-win_amd64.whl", hash = "sha256:a2237451c721a0f874ef89dbb4af4fdc172b76a964befaa69deb15b8fff10f49"},
- {file = "gevent-22.10.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:53ee7f170ed42c7561fe8aff5d381dc9a4124694e70580d0c02fba6aafc0ea37"},
- {file = "gevent-22.10.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:96c56c280e3c43cfd075efd10b250350ed5ffd3c1514ec99a080b1b92d7c8374"},
- {file = "gevent-22.10.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6c144e08dfad4106effc043a026e5d0c0eff6ad031904c70bf5090c63f3a6a7"},
- {file = "gevent-22.10.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:018f93de7d5318d2fb440f846839a4464738468c3476d5c9cf7da45bb71c18bd"},
- {file = "gevent-22.10.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7ed2346eb9dc4344f9cb0d7963ce5b74fe16fdd031a2809bb6c2b6eba7ebcd5"},
- {file = "gevent-22.10.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:84c517e33ed604fa06b7d756dc0171169cc12f7fdd68eb7b17708a62eebf4516"},
- {file = "gevent-22.10.2-cp37-cp37m-win32.whl", hash = "sha256:4114f0f439f0b547bb6f1d474fee99ddb46736944ad2207cef3771828f6aa358"},
- {file = "gevent-22.10.2-cp37-cp37m-win_amd64.whl", hash = "sha256:0d581f22a5be6281b11ad6309b38b18f0638cf896931223cbaa5adb904826ef6"},
- {file = "gevent-22.10.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2929377c8ebfb6f4d868d161cd8de2ea6b9f6c7a5fcd4f78bcd537319c16190b"},
- {file = "gevent-22.10.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:efc003b6c1481165af61f0aeac248e0a9ac8d880bb3acbe469b448674b2d5281"},
- {file = "gevent-22.10.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db562a8519838bddad0c439a2b12246bab539dd50e299ea7ff3644274a33b6a5"},
- {file = "gevent-22.10.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1472012493ca1fac103f700d309cb6ef7964dcdb9c788d1768266e77712f5e49"},
- {file = "gevent-22.10.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c04ee32c11e9fcee47c1b431834878dc987a7a2cc4fe126ddcae3bad723ce89"},
- {file = "gevent-22.10.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8729129edef2637a8084258cb9ec4e4d5ca45d97ac77aa7a6ff19ccb530ab731"},
- {file = "gevent-22.10.2-cp38-cp38-win32.whl", hash = "sha256:ae90226074a6089371a95f20288431cd4b3f6b0b096856afd862e4ac9510cddd"},
- {file = "gevent-22.10.2-cp38-cp38-win_amd64.whl", hash = "sha256:494c7f29e94df9a1c3157d67bb7edfa32a46eed786e04d9ee68d39f375e30001"},
- {file = "gevent-22.10.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:58898dbabb5b11e4d0192aae165ad286dc6742c543e1be9d30dc82753547c508"},
- {file = "gevent-22.10.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:4197d423e198265eef39a0dea286ef389da9148e070310f34455ecee8172c391"},
- {file = "gevent-22.10.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da4183f0b9d9a1e25e1758099220d32c51cc2c6340ee0dea3fd236b2b37598e4"},
- {file = "gevent-22.10.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5488eba6a568b4d23c072113da4fc0feb1b5f5ede7381656dc913e0d82204e2"},
- {file = "gevent-22.10.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:319d8b1699b7b8134de66d656cd739b308ab9c45ace14d60ae44de7775b456c9"},
- {file = "gevent-22.10.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f3329bedbba4d3146ae58c667e0f9ac1e6f1e1e6340c7593976cdc60aa7d1a47"},
- {file = "gevent-22.10.2-cp39-cp39-win32.whl", hash = "sha256:172caa66273315f283e90a315921902cb6549762bdcb0587fd60cb712a9d6263"},
- {file = "gevent-22.10.2-cp39-cp39-win_amd64.whl", hash = "sha256:323b207b281ba0405fea042067fa1a61662e5ac0d574ede4ebbda03efd20c350"},
- {file = "gevent-22.10.2-pp27-pypy_73-win_amd64.whl", hash = "sha256:ed7f16613eebf892a6a744d7a4a8f345bc6f066a0ff3b413e2479f9c0a180193"},
- {file = "gevent-22.10.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:a47a4e77e2bc668856aad92a0b8de7ee10768258d93cd03968e6c7ba2e832f76"},
- {file = "gevent-22.10.2.tar.gz", hash = "sha256:1ca01da176ee37b3527a2702f7d40dbc9ffb8cfc7be5a03bfa4f9eec45e55c46"},
+optional = false
+python-versions = ">=3.8"
+files = [
+ {file = "gevent-23.9.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:a3c5e9b1f766a7a64833334a18539a362fb563f6c4682f9634dea72cbe24f771"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b101086f109168b23fa3586fccd1133494bdb97f86920a24dc0b23984dc30b69"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36a549d632c14684bcbbd3014a6ce2666c5f2a500f34d58d32df6c9ea38b6535"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:272cffdf535978d59c38ed837916dfd2b5d193be1e9e5dcc60a5f4d5025dd98a"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcb8612787a7f4626aa881ff15ff25439561a429f5b303048f0fca8a1c781c39"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:d57737860bfc332b9b5aa438963986afe90f49645f6e053140cfa0fa1bdae1ae"},
+ {file = "gevent-23.9.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5f3c781c84794926d853d6fb58554dc0dcc800ba25c41d42f6959c344b4db5a6"},
+ {file = "gevent-23.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:dbb22a9bbd6a13e925815ce70b940d1578dbe5d4013f20d23e8a11eddf8d14a7"},
+ {file = "gevent-23.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:707904027d7130ff3e59ea387dddceedb133cc742b00b3ffe696d567147a9c9e"},
+ {file = "gevent-23.9.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:45792c45d60f6ce3d19651d7fde0bc13e01b56bb4db60d3f32ab7d9ec467374c"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e24c2af9638d6c989caffc691a039d7c7022a31c0363da367c0d32ceb4a0648"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e1ead6863e596a8cc2a03e26a7a0981f84b6b3e956101135ff6d02df4d9a6b07"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65883ac026731ac112184680d1f0f1e39fa6f4389fd1fc0bf46cc1388e2599f9"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf7af500da05363e66f122896012acb6e101a552682f2352b618e541c941a011"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:c3e5d2fa532e4d3450595244de8ccf51f5721a05088813c1abd93ad274fe15e7"},
+ {file = "gevent-23.9.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c84d34256c243b0a53d4335ef0bc76c735873986d478c53073861a92566a8d71"},
+ {file = "gevent-23.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ada07076b380918829250201df1d016bdafb3acf352f35e5693b59dceee8dd2e"},
+ {file = "gevent-23.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:921dda1c0b84e3d3b1778efa362d61ed29e2b215b90f81d498eb4d8eafcd0b7a"},
+ {file = "gevent-23.9.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:ed7a048d3e526a5c1d55c44cb3bc06cfdc1947d06d45006cc4cf60dedc628904"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c1abc6f25f475adc33e5fc2dbcc26a732608ac5375d0d306228738a9ae14d3b"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4368f341a5f51611411ec3fc62426f52ac3d6d42eaee9ed0f9eebe715c80184e"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:52b4abf28e837f1865a9bdeef58ff6afd07d1d888b70b6804557e7908032e599"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52e9f12cd1cda96603ce6b113d934f1aafb873e2c13182cf8e86d2c5c41982ea"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:de350fde10efa87ea60d742901e1053eb2127ebd8b59a7d3b90597eb4e586599"},
+ {file = "gevent-23.9.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fde6402c5432b835fbb7698f1c7f2809c8d6b2bd9d047ac1f5a7c1d5aa569303"},
+ {file = "gevent-23.9.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:dd6c32ab977ecf7c7b8c2611ed95fa4aaebd69b74bf08f4b4960ad516861517d"},
+ {file = "gevent-23.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:455e5ee8103f722b503fa45dedb04f3ffdec978c1524647f8ba72b4f08490af1"},
+ {file = "gevent-23.9.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:7ccf0fd378257cb77d91c116e15c99e533374a8153632c48a3ecae7f7f4f09fe"},
+ {file = "gevent-23.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d163d59f1be5a4c4efcdd13c2177baaf24aadf721fdf2e1af9ee54a998d160f5"},
+ {file = "gevent-23.9.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7532c17bc6c1cbac265e751b95000961715adef35a25d2b0b1813aa7263fb397"},
+ {file = "gevent-23.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:78eebaf5e73ff91d34df48f4e35581ab4c84e22dd5338ef32714264063c57507"},
+ {file = "gevent-23.9.1-cp38-cp38-win32.whl", hash = "sha256:f632487c87866094546a74eefbca2c74c1d03638b715b6feb12e80120960185a"},
+ {file = "gevent-23.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:62d121344f7465e3739989ad6b91f53a6ca9110518231553fe5846dbe1b4518f"},
+ {file = "gevent-23.9.1-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:bf456bd6b992eb0e1e869e2fd0caf817f0253e55ca7977fd0e72d0336a8c1c6a"},
+ {file = "gevent-23.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43daf68496c03a35287b8b617f9f91e0e7c0d042aebcc060cadc3f049aadd653"},
+ {file = "gevent-23.9.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:7c28e38dcde327c217fdafb9d5d17d3e772f636f35df15ffae2d933a5587addd"},
+ {file = "gevent-23.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:fae8d5b5b8fa2a8f63b39f5447168b02db10c888a3e387ed7af2bd1b8612e543"},
+ {file = "gevent-23.9.1-cp39-cp39-win32.whl", hash = "sha256:2c7b5c9912378e5f5ccf180d1fdb1e83f42b71823483066eddbe10ef1a2fcaa2"},
+ {file = "gevent-23.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:a2898b7048771917d85a1d548fd378e8a7b2ca963db8e17c6d90c76b495e0e2b"},
+ {file = "gevent-23.9.1.tar.gz", hash = "sha256:72c002235390d46f94938a96920d8856d4ffd9ddf62a303a0d7c118894097e34"},
]
[package.dependencies]
cffi = {version = ">=1.12.2", markers = "platform_python_implementation == \"CPython\" and sys_platform == \"win32\""}
-greenlet = {version = ">=2.0.0", markers = "platform_python_implementation == \"CPython\""}
-setuptools = "*"
+greenlet = [
+ {version = ">=2.0.0", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.11\""},
+ {version = ">=3.0rc3", markers = "platform_python_implementation == \"CPython\" and python_version >= \"3.11\""},
+]
"zope.event" = "*"
"zope.interface" = "*"
[package.extras]
dnspython = ["dnspython (>=1.16.0,<2.0)", "idna"]
-docs = ["repoze.sphinx.autointerface", "sphinxcontrib-programoutput", "zope.schema"]
+docs = ["furo", "repoze.sphinx.autointerface", "sphinx", "sphinxcontrib-programoutput", "zope.schema"]
monitor = ["psutil (>=5.7.0)"]
-recommended = ["backports.socketpair", "cffi (>=1.12.2)", "dnspython (>=1.16.0,<2.0)", "idna", "psutil (>=5.7.0)", "selectors2"]
-test = ["backports.socketpair", "cffi (>=1.12.2)", "contextvars (==2.4)", "coverage (>=5.0)", "coveralls (>=1.7.0)", "dnspython (>=1.16.0,<2.0)", "futures", "idna", "mock", "objgraph", "psutil (>=5.7.0)", "requests", "selectors2"]
+recommended = ["cffi (>=1.12.2)", "dnspython (>=1.16.0,<2.0)", "idna", "psutil (>=5.7.0)"]
+test = ["cffi (>=1.12.2)", "coverage (>=5.0)", "dnspython (>=1.16.0,<2.0)", "idna", "objgraph", "psutil (>=5.7.0)", "requests", "setuptools"]
[[package]]
name = "gevent-websocket"
version = "0.10.1"
description = "Websocket handler for the gevent pywsgi server, a Python network library"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -671,83 +741,94 @@ gevent = "*"
[[package]]
name = "greenlet"
-version = "2.0.2"
+version = "3.0.0"
description = "Lightweight in-process concurrent programming"
-category = "main"
-optional = false
-python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
-files = [
- {file = "greenlet-2.0.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:bdfea8c661e80d3c1c99ad7c3ff74e6e87184895bbaca6ee8cc61209f8b9b85d"},
- {file = "greenlet-2.0.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:9d14b83fab60d5e8abe587d51c75b252bcc21683f24699ada8fb275d7712f5a9"},
- {file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"},
- {file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"},
- {file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"},
- {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"},
- {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"},
- {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"},
- {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d75209eed723105f9596807495d58d10b3470fa6732dd6756595e89925ce2470"},
- {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3a51c9751078733d88e013587b108f1b7a1fb106d402fb390740f002b6f6551a"},
- {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"},
- {file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"},
- {file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"},
- {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"},
- {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"},
- {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"},
- {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:eff4eb9b7eb3e4d0cae3d28c283dc16d9bed6b193c2e1ace3ed86ce48ea8df19"},
- {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5454276c07d27a740c5892f4907c86327b632127dd9abec42ee62e12427ff7e3"},
- {file = "greenlet-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:7cafd1208fdbe93b67c7086876f061f660cfddc44f404279c1585bbf3cdc64c5"},
- {file = "greenlet-2.0.2-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:910841381caba4f744a44bf81bfd573c94e10b3045ee00de0cbf436fe50673a6"},
- {file = "greenlet-2.0.2-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:18a7f18b82b52ee85322d7a7874e676f34ab319b9f8cce5de06067384aa8ff43"},
- {file = "greenlet-2.0.2-cp35-cp35m-win32.whl", hash = "sha256:03a8f4f3430c3b3ff8d10a2a86028c660355ab637cee9333d63d66b56f09d52a"},
- {file = "greenlet-2.0.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4b58adb399c4d61d912c4c331984d60eb66565175cdf4a34792cd9600f21b394"},
- {file = "greenlet-2.0.2-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:703f18f3fda276b9a916f0934d2fb6d989bf0b4fb5a64825260eb9bfd52d78f0"},
- {file = "greenlet-2.0.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:32e5b64b148966d9cccc2c8d35a671409e45f195864560829f395a54226408d3"},
- {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dd11f291565a81d71dab10b7033395b7a3a5456e637cf997a6f33ebdf06f8db"},
- {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0f72c9ddb8cd28532185f54cc1453f2c16fb417a08b53a855c4e6a418edd099"},
- {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd021c754b162c0fb55ad5d6b9d960db667faad0fa2ff25bb6e1301b0b6e6a75"},
- {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:3c9b12575734155d0c09d6c3e10dbd81665d5c18e1a7c6597df72fd05990c8cf"},
- {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b9ec052b06a0524f0e35bd8790686a1da006bd911dd1ef7d50b77bfbad74e292"},
- {file = "greenlet-2.0.2-cp36-cp36m-win32.whl", hash = "sha256:dbfcfc0218093a19c252ca8eb9aee3d29cfdcb586df21049b9d777fd32c14fd9"},
- {file = "greenlet-2.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:9f35ec95538f50292f6d8f2c9c9f8a3c6540bbfec21c9e5b4b751e0a7c20864f"},
- {file = "greenlet-2.0.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:d5508f0b173e6aa47273bdc0a0b5ba055b59662ba7c7ee5119528f466585526b"},
- {file = "greenlet-2.0.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:f82d4d717d8ef19188687aa32b8363e96062911e63ba22a0cff7802a8e58e5f1"},
- {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9c59a2120b55788e800d82dfa99b9e156ff8f2227f07c5e3012a45a399620b7"},
- {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2780572ec463d44c1d3ae850239508dbeb9fed38e294c68d19a24d925d9223ca"},
- {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:937e9020b514ceedb9c830c55d5c9872abc90f4b5862f89c0887033ae33c6f73"},
- {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:36abbf031e1c0f79dd5d596bfaf8e921c41df2bdf54ee1eed921ce1f52999a86"},
- {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:18e98fb3de7dba1c0a852731c3070cf022d14f0d68b4c87a19cc1016f3bb8b33"},
- {file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"},
- {file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"},
- {file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"},
- {file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"},
- {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"},
- {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"},
- {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acd2162a36d3de67ee896c43effcd5ee3de247eb00354db411feb025aa319857"},
- {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0bf60faf0bc2468089bdc5edd10555bab6e85152191df713e2ab1fcc86382b5a"},
- {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"},
- {file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"},
- {file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"},
- {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"},
- {file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"},
- {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"},
- {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be4ed120b52ae4d974aa40215fcdfde9194d63541c7ded40ee12eb4dda57b76b"},
- {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94c817e84245513926588caf1152e3b559ff794d505555211ca041f032abbb6b"},
- {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1a819eef4b0e0b96bb0d98d797bef17dc1b4a10e8d7446be32d1da33e095dbb8"},
- {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7efde645ca1cc441d6dc4b48c0f7101e8d86b54c8530141b09fd31cef5149ec9"},
- {file = "greenlet-2.0.2-cp39-cp39-win32.whl", hash = "sha256:ea9872c80c132f4663822dd2a08d404073a5a9b5ba6155bea72fb2a79d1093b5"},
- {file = "greenlet-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:db1a39669102a1d8d12b57de2bb7e2ec9066a6f2b3da35ae511ff93b01b5d564"},
- {file = "greenlet-2.0.2.tar.gz", hash = "sha256:e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0"},
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "greenlet-3.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e09dea87cc91aea5500262993cbd484b41edf8af74f976719dd83fe724644cd6"},
+ {file = "greenlet-3.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f47932c434a3c8d3c86d865443fadc1fbf574e9b11d6650b656e602b1797908a"},
+ {file = "greenlet-3.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bdfaeecf8cc705d35d8e6de324bf58427d7eafb55f67050d8f28053a3d57118c"},
+ {file = "greenlet-3.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a68d670c8f89ff65c82b936275369e532772eebc027c3be68c6b87ad05ca695"},
+ {file = "greenlet-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38ad562a104cd41e9d4644f46ea37167b93190c6d5e4048fcc4b80d34ecb278f"},
+ {file = "greenlet-3.0.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:02a807b2a58d5cdebb07050efe3d7deaf915468d112dfcf5e426d0564aa3aa4a"},
+ {file = "greenlet-3.0.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b1660a15a446206c8545edc292ab5c48b91ff732f91b3d3b30d9a915d5ec4779"},
+ {file = "greenlet-3.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:813720bd57e193391dfe26f4871186cf460848b83df7e23e6bef698a7624b4c9"},
+ {file = "greenlet-3.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:aa15a2ec737cb609ed48902b45c5e4ff6044feb5dcdfcf6fa8482379190330d7"},
+ {file = "greenlet-3.0.0-cp310-universal2-macosx_11_0_x86_64.whl", hash = "sha256:7709fd7bb02b31908dc8fd35bfd0a29fc24681d5cc9ac1d64ad07f8d2b7db62f"},
+ {file = "greenlet-3.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:211ef8d174601b80e01436f4e6905aca341b15a566f35a10dd8d1e93f5dbb3b7"},
+ {file = "greenlet-3.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6512592cc49b2c6d9b19fbaa0312124cd4c4c8a90d28473f86f92685cc5fef8e"},
+ {file = "greenlet-3.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:871b0a8835f9e9d461b7fdaa1b57e3492dd45398e87324c047469ce2fc9f516c"},
+ {file = "greenlet-3.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b505fcfc26f4148551826a96f7317e02c400665fa0883fe505d4fcaab1dabfdd"},
+ {file = "greenlet-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:123910c58234a8d40eaab595bc56a5ae49bdd90122dde5bdc012c20595a94c14"},
+ {file = "greenlet-3.0.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:96d9ea57292f636ec851a9bb961a5cc0f9976900e16e5d5647f19aa36ba6366b"},
+ {file = "greenlet-3.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0b72b802496cccbd9b31acea72b6f87e7771ccfd7f7927437d592e5c92ed703c"},
+ {file = "greenlet-3.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:527cd90ba3d8d7ae7dceb06fda619895768a46a1b4e423bdb24c1969823b8362"},
+ {file = "greenlet-3.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:37f60b3a42d8b5499be910d1267b24355c495064f271cfe74bf28b17b099133c"},
+ {file = "greenlet-3.0.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1482fba7fbed96ea7842b5a7fc11d61727e8be75a077e603e8ab49d24e234383"},
+ {file = "greenlet-3.0.0-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:be557119bf467d37a8099d91fbf11b2de5eb1fd5fc5b91598407574848dc910f"},
+ {file = "greenlet-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73b2f1922a39d5d59cc0e597987300df3396b148a9bd10b76a058a2f2772fc04"},
+ {file = "greenlet-3.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d1e22c22f7826096ad503e9bb681b05b8c1f5a8138469b255eb91f26a76634f2"},
+ {file = "greenlet-3.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1d363666acc21d2c204dd8705c0e0457d7b2ee7a76cb16ffc099d6799744ac99"},
+ {file = "greenlet-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:334ef6ed8337bd0b58bb0ae4f7f2dcc84c9f116e474bb4ec250a8bb9bd797a66"},
+ {file = "greenlet-3.0.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6672fdde0fd1a60b44fb1751a7779c6db487e42b0cc65e7caa6aa686874e79fb"},
+ {file = "greenlet-3.0.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:952256c2bc5b4ee8df8dfc54fc4de330970bf5d79253c863fb5e6761f00dda35"},
+ {file = "greenlet-3.0.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:269d06fa0f9624455ce08ae0179430eea61085e3cf6457f05982b37fd2cefe17"},
+ {file = "greenlet-3.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:9adbd8ecf097e34ada8efde9b6fec4dd2a903b1e98037adf72d12993a1c80b51"},
+ {file = "greenlet-3.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6b5ce7f40f0e2f8b88c28e6691ca6806814157ff05e794cdd161be928550f4c"},
+ {file = "greenlet-3.0.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ecf94aa539e97a8411b5ea52fc6ccd8371be9550c4041011a091eb8b3ca1d810"},
+ {file = "greenlet-3.0.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80dcd3c938cbcac986c5c92779db8e8ce51a89a849c135172c88ecbdc8c056b7"},
+ {file = "greenlet-3.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e52a712c38e5fb4fd68e00dc3caf00b60cb65634d50e32281a9d6431b33b4af1"},
+ {file = "greenlet-3.0.0-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d5539f6da3418c3dc002739cb2bb8d169056aa66e0c83f6bacae0cd3ac26b423"},
+ {file = "greenlet-3.0.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:343675e0da2f3c69d3fb1e894ba0a1acf58f481f3b9372ce1eb465ef93cf6fed"},
+ {file = "greenlet-3.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:abe1ef3d780de56defd0c77c5ba95e152f4e4c4e12d7e11dd8447d338b85a625"},
+ {file = "greenlet-3.0.0-cp37-cp37m-win32.whl", hash = "sha256:e693e759e172fa1c2c90d35dea4acbdd1d609b6936115d3739148d5e4cd11947"},
+ {file = "greenlet-3.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:bdd696947cd695924aecb3870660b7545a19851f93b9d327ef8236bfc49be705"},
+ {file = "greenlet-3.0.0-cp37-universal2-macosx_11_0_x86_64.whl", hash = "sha256:cc3e2679ea13b4de79bdc44b25a0c4fcd5e94e21b8f290791744ac42d34a0353"},
+ {file = "greenlet-3.0.0-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:63acdc34c9cde42a6534518e32ce55c30f932b473c62c235a466469a710bfbf9"},
+ {file = "greenlet-3.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a1a6244ff96343e9994e37e5b4839f09a0207d35ef6134dce5c20d260d0302c"},
+ {file = "greenlet-3.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b822fab253ac0f330ee807e7485769e3ac85d5eef827ca224feaaefa462dc0d0"},
+ {file = "greenlet-3.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8060b32d8586e912a7b7dac2d15b28dbbd63a174ab32f5bc6d107a1c4143f40b"},
+ {file = "greenlet-3.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:621fcb346141ae08cb95424ebfc5b014361621b8132c48e538e34c3c93ac7365"},
+ {file = "greenlet-3.0.0-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6bb36985f606a7c49916eff74ab99399cdfd09241c375d5a820bb855dfb4af9f"},
+ {file = "greenlet-3.0.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:10b5582744abd9858947d163843d323d0b67be9432db50f8bf83031032bc218d"},
+ {file = "greenlet-3.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f351479a6914fd81a55c8e68963609f792d9b067fb8a60a042c585a621e0de4f"},
+ {file = "greenlet-3.0.0-cp38-cp38-win32.whl", hash = "sha256:9de687479faec7db5b198cc365bc34addd256b0028956501f4d4d5e9ca2e240a"},
+ {file = "greenlet-3.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:3fd2b18432e7298fcbec3d39e1a0aa91ae9ea1c93356ec089421fabc3651572b"},
+ {file = "greenlet-3.0.0-cp38-universal2-macosx_11_0_x86_64.whl", hash = "sha256:3c0d36f5adc6e6100aedbc976d7428a9f7194ea79911aa4bf471f44ee13a9464"},
+ {file = "greenlet-3.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4cd83fb8d8e17633ad534d9ac93719ef8937568d730ef07ac3a98cb520fd93e4"},
+ {file = "greenlet-3.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a5b2d4cdaf1c71057ff823a19d850ed5c6c2d3686cb71f73ae4d6382aaa7a06"},
+ {file = "greenlet-3.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e7dcdfad252f2ca83c685b0fa9fba00e4d8f243b73839229d56ee3d9d219314"},
+ {file = "greenlet-3.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c94e4e924d09b5a3e37b853fe5924a95eac058cb6f6fb437ebb588b7eda79870"},
+ {file = "greenlet-3.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad6fb737e46b8bd63156b8f59ba6cdef46fe2b7db0c5804388a2d0519b8ddb99"},
+ {file = "greenlet-3.0.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d55db1db455c59b46f794346efce896e754b8942817f46a1bada2d29446e305a"},
+ {file = "greenlet-3.0.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:56867a3b3cf26dc8a0beecdb4459c59f4c47cdd5424618c08515f682e1d46692"},
+ {file = "greenlet-3.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9a812224a5fb17a538207e8cf8e86f517df2080c8ee0f8c1ed2bdaccd18f38f4"},
+ {file = "greenlet-3.0.0-cp39-cp39-win32.whl", hash = "sha256:0d3f83ffb18dc57243e0151331e3c383b05e5b6c5029ac29f754745c800f8ed9"},
+ {file = "greenlet-3.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:831d6f35037cf18ca5e80a737a27d822d87cd922521d18ed3dbc8a6967be50ce"},
+ {file = "greenlet-3.0.0-cp39-universal2-macosx_11_0_x86_64.whl", hash = "sha256:a048293392d4e058298710a54dfaefcefdf49d287cd33fb1f7d63d55426e4355"},
+ {file = "greenlet-3.0.0.tar.gz", hash = "sha256:19834e3f91f485442adc1ee440171ec5d9a4840a1f7bd5ed97833544719ce10b"},
]
[package.extras]
-docs = ["Sphinx", "docutils (<0.18)"]
+docs = ["Sphinx"]
test = ["objgraph", "psutil"]
[[package]]
+name = "h11"
+version = "0.14.0"
+description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"},
+ {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"},
+]
+
+[[package]]
name = "idna"
version = "3.4"
description = "Internationalized Domain Names in Applications (IDNA)"
-category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -757,14 +838,13 @@ files = [
[[package]]
name = "importlib-metadata"
-version = "6.6.0"
+version = "6.8.0"
description = "Read metadata from Python packages"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "importlib_metadata-6.6.0-py3-none-any.whl", hash = "sha256:43dd286a2cd8995d5eaef7fee2066340423b818ed3fd70adf0bad5f1fac53fed"},
- {file = "importlib_metadata-6.6.0.tar.gz", hash = "sha256:92501cdf9cc66ebd3e612f1b4f0c0765dfa42f0fa38ffb319b6bd84dd675d705"},
+ {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"},
+ {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"},
]
[package.dependencies]
@@ -773,13 +853,12 @@ zipp = ">=0.5"
[package.extras]
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
perf = ["ipython"]
-testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"]
+testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
[[package]]
name = "iniconfig"
version = "2.0.0"
description = "brain-dead simple config-ini parsing"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -791,7 +870,6 @@ files = [
name = "itsdangerous"
version = "2.1.2"
description = "Safely pass data to untrusted environments and back."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -803,7 +881,6 @@ files = [
name = "jinja2"
version = "3.1.2"
description = "A very fast and expressive template engine."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -819,102 +896,109 @@ i18n = ["Babel (>=2.7)"]
[[package]]
name = "lief"
-version = "0.13.1"
+version = "0.13.2"
description = "Library to instrument executable formats"
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
- {file = "lief-0.13.1-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:b53317d78f8b7528e3f2f358b3f9334a1a84fae88c5aec1a3b7717ed31bfb066"},
- {file = "lief-0.13.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bb8b285a6c670df590c36fc0c19b9d2e32b99f17e57afa29bb3052f1d55aa50f"},
- {file = "lief-0.13.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:be871116faa698b6d9da76b0caec2ec5b7e7b8781cfb3a4ac0c4e348fb37ab49"},
- {file = "lief-0.13.1-cp310-cp310-manylinux_2_24_x86_64.whl", hash = "sha256:c6839df875e912edd3fc553ab5d1b916527adee9c57ba85c69314a93f7ba2e15"},
- {file = "lief-0.13.1-cp310-cp310-win32.whl", hash = "sha256:b1f295dbb57094443926ac6051bee9a1945d92344f470da1cb506060eb2f91ac"},
- {file = "lief-0.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:8439805a389cc67b6d4ea7d757a3211f22298edce53c5b064fdf8bf05fabba54"},
- {file = "lief-0.13.1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:3cfbc6c50f9e3a8015cd5ee88dfe83f423562c025439143bbd5c086a3f9fe599"},
- {file = "lief-0.13.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:661abaa48bc032b9a7529e0b73d2ced3e4a1f13381592f6b9e940750b07a5ac2"},
- {file = "lief-0.13.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:23617d96d162081f8bf315d9b0494845891f8d0f04ad60991b83367ee9e261aa"},
- {file = "lief-0.13.1-cp311-cp311-manylinux_2_24_x86_64.whl", hash = "sha256:aa7f45c5125be80a513624d3a5f6bd50751c2edc6de5357fde218580111c8535"},
- {file = "lief-0.13.1-cp311-cp311-win32.whl", hash = "sha256:018b542f09fe2305e1585a3e63a7e5132927b835062b456e5c8c571db7784d1e"},
- {file = "lief-0.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:bfbf8885a3643ea9aaf663d039f50ca58b228886c3fe412725b22851aeda3b77"},
- {file = "lief-0.13.1-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:a0472636ab15b9afecf8b5d55966912af8cb4de2f05b98fc05c87d51880d0208"},
- {file = "lief-0.13.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:ccfba33c02f21d4ede26ab85eb6539a00e74e236569c13dcbab2e157b73673c4"},
- {file = "lief-0.13.1-cp38-cp38-manylinux_2_24_x86_64.whl", hash = "sha256:e414d6c23f26053f4824d080885ab1b75482122796cba7d09cbf157900646289"},
- {file = "lief-0.13.1-cp38-cp38-win32.whl", hash = "sha256:a18fee5cf69adf9d5ee977778ccd46c39c450960f806231b26b69011f81bc712"},
- {file = "lief-0.13.1-cp38-cp38-win_amd64.whl", hash = "sha256:04c87039d1e68ebc467f83136179626403547dd1ce851541345f8ca0b1fe6c5b"},
- {file = "lief-0.13.1-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:0283a4c749afe58be8e21cdd9be79c657c51ca9b8346f75f4b97349b1f022851"},
- {file = "lief-0.13.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:95a4b6d1f8dba9360aecf7542e54ce5eb02c0e88f2d827b5445594d5d51109f5"},
- {file = "lief-0.13.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:16753bd72b1e3932d94d088a93b64e08c1f6c8bce1b064b47fe66ed73d9562b2"},
- {file = "lief-0.13.1-cp39-cp39-manylinux_2_24_x86_64.whl", hash = "sha256:965fadb1301d1a81f16067e4fa743d2be3f6aa71391a83b752ff811ec74b0766"},
- {file = "lief-0.13.1-cp39-cp39-win32.whl", hash = "sha256:57bdb0471760c4ff520f5e5d005e503cc7ea3ebe22df307bb579a1a561b8c4e9"},
- {file = "lief-0.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:a3c900f49c3d3135c728faeb386d13310bb3511eb2d4e1c9b109b48ae2658361"},
+ {file = "lief-0.13.2-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:0390cfaaf0e9aed46bebf26f00f34852768f76bc7f90abf7ceb384566200e5f5"},
+ {file = "lief-0.13.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5581bf0072c1e7a9ea2fb2e2252b8582016e8b298804b5461e552b402c9cd4e9"},
+ {file = "lief-0.13.2-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:dbbf2fb3d7807e815f345c77e287da162e081100f059ec03005995befc295d7f"},
+ {file = "lief-0.13.2-cp310-cp310-manylinux_2_24_x86_64.whl", hash = "sha256:d344d37334c2b488dc02f04cb13c22cd61aa065eeb9bca7424588e0c8c23bdfb"},
+ {file = "lief-0.13.2-cp310-cp310-win32.whl", hash = "sha256:bc041b28b94139843a33c014e355822a9276b35f3c5ae10d82da56bf572f8222"},
+ {file = "lief-0.13.2-cp310-cp310-win_amd64.whl", hash = "sha256:01d4075bbc3541e9dd3ef008045fa1eb128294a0c5b0c1f69ce60d8948d248c7"},
+ {file = "lief-0.13.2-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:6570dacebe107ad60c2ba0968d1a865d316009d43cc85af3719d3eeb0911abf3"},
+ {file = "lief-0.13.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7ce2e3f7c791efba327c2bb3499dbef81e682027109045a9bae696c62e2aeeb0"},
+ {file = "lief-0.13.2-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:11ab900e0644b6735ecdef2bbd04439b4866a527650fc054470c195d6cfe2917"},
+ {file = "lief-0.13.2-cp311-cp311-manylinux_2_24_x86_64.whl", hash = "sha256:042ad2105a136b11a7494b9af8178468e8cb32b8fa2a0a55cb659a5605aeb069"},
+ {file = "lief-0.13.2-cp311-cp311-win32.whl", hash = "sha256:1ce289b6ab3cf4be654270007e8a2c0d2e42116180418c29d3ce83762955de63"},
+ {file = "lief-0.13.2-cp311-cp311-win_amd64.whl", hash = "sha256:eccb248ffb598e410fd2ef7c1f171a3cde57a40c9bb8c4fa15d8e7b90eb4eb2d"},
+ {file = "lief-0.13.2-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:95731cadedd6ffc5fb48c147fcefe004624e436b75e8ee9fb2dbf2ae5f084342"},
+ {file = "lief-0.13.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8da75df0ea472557fcc37a27ba583bad5a8f3a256c186600d00a6dd0a57f718a"},
+ {file = "lief-0.13.2-cp38-cp38-manylinux_2_24_x86_64.whl", hash = "sha256:b99092f02c13f580c2d00b504af224b7e60e7c98a791e72ae8519f530b7687bb"},
+ {file = "lief-0.13.2-cp38-cp38-win32.whl", hash = "sha256:03db0138e4dbbdfa8bba74de312b0cebb30f504e44f38a9c8918b84022da340b"},
+ {file = "lief-0.13.2-cp38-cp38-win_amd64.whl", hash = "sha256:36c5bea3f8460dee3ebb75d35949f445638ec85d2871f31e293c47fb4a0a5af7"},
+ {file = "lief-0.13.2-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:eca8ecbcae1ad851ed7cf1e22ec8accd74f2267fa7375194559fb917523d8a92"},
+ {file = "lief-0.13.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8703cb5308b4828563badc6885ff07a3926ec3403d1caa3aa75f24fe9cbcf84"},
+ {file = "lief-0.13.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:c60f2f79e7d0d1f18dec7dcdb4d4f35e6b126ac29e2f2f056d28ec50599d868a"},
+ {file = "lief-0.13.2-cp39-cp39-manylinux_2_24_x86_64.whl", hash = "sha256:e0f84a7443b7f1b02666fd16a9aa57f5d9027e60ba2885e0d76db8426d689707"},
+ {file = "lief-0.13.2-cp39-cp39-win32.whl", hash = "sha256:3f8f251de874929d9c9e94a35891621ab8c059149f8a1c24e543fd9cf0c2a31c"},
+ {file = "lief-0.13.2-cp39-cp39-win_amd64.whl", hash = "sha256:2bbe294385e629aa7206b2f39f0ca34e3948605a8db50b22091603053889a759"},
]
[[package]]
name = "markupsafe"
-version = "2.1.2"
+version = "2.1.3"
description = "Safely add untrusted strings to HTML/XML markup."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"},
- {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"},
+ {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"},
]
[[package]]
name = "mypy-extensions"
version = "1.0.0"
description = "Type system extensions for programs checked with the mypy type checker."
-category = "dev"
optional = false
python-versions = ">=3.5"
files = [
@@ -926,23 +1010,27 @@ files = [
name = "onionshare-cli"
version = "2.6.1"
description = "OnionShare lets you securely and anonymously send and receive files. It works by starting a web server, making it accessible as a Tor onion service, and generating an unguessable web address so others can download files from you, or upload files to you. It does _not_ require setting up a separate server or using a third party file-sharing service."
-category = "main"
optional = false
python-versions = ">=3.8,<3.12"
files = []
develop = true
[package.dependencies]
+cffi = "^1.15.1"
click = "*"
colorama = "*"
+cython = "^3.0.2"
eventlet = "*"
flask = "2.3.2"
flask-compress = "^1.13"
flask-socketio = "5.3.4"
+gevent = "^23.9.1"
gevent-websocket = "*"
+packaging = "^23.1"
psutil = "*"
pynacl = "*"
pysocks = "*"
+qrcode = "^7.4.2"
requests = {version = "*", extras = ["socks"]}
setuptools = "*"
stem = "1.8.1"
@@ -950,6 +1038,7 @@ unidecode = "*"
urllib3 = "*"
waitress = "^2.1.2"
werkzeug = ">=2.3.4"
+wheel = "^0.41.2"
[package.source]
type = "directory"
@@ -957,21 +1046,19 @@ url = "../cli"
[[package]]
name = "packaging"
-version = "23.1"
+version = "23.2"
description = "Core utilities for Python packages"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"},
- {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"},
+ {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"},
+ {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"},
]
[[package]]
name = "patchelf"
version = "0.17.2.1"
description = "A small utility to modify the dynamic linker and RPATH of ELF executables."
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -989,42 +1076,39 @@ test = ["importlib-metadata", "pytest"]
[[package]]
name = "pathspec"
-version = "0.11.1"
+version = "0.11.2"
description = "Utility library for gitignore style pattern matching of file paths."
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "pathspec-0.11.1-py3-none-any.whl", hash = "sha256:d8af70af76652554bd134c22b3e8a1cc46ed7d91edcdd721ef1a0c51a84a5293"},
- {file = "pathspec-0.11.1.tar.gz", hash = "sha256:2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687"},
+ {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"},
+ {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"},
]
[[package]]
name = "platformdirs"
-version = "3.5.1"
+version = "3.11.0"
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "platformdirs-3.5.1-py3-none-any.whl", hash = "sha256:e2378146f1964972c03c085bb5662ae80b2b8c06226c54b2ff4aa9483e8a13a5"},
- {file = "platformdirs-3.5.1.tar.gz", hash = "sha256:412dae91f52a6f84830f39a8078cecd0e866cb72294a5c66808e74d5e88d251f"},
+ {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"},
+ {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"},
]
[package.extras]
-docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.2.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"]
-test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"]
+docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"]
+test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"]
[[package]]
name = "pluggy"
-version = "1.0.0"
+version = "1.3.0"
description = "plugin and hook calling mechanisms for python"
-category = "dev"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.8"
files = [
- {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"},
- {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"},
+ {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"},
+ {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"},
]
[package.extras]
@@ -1033,26 +1117,27 @@ testing = ["pytest", "pytest-benchmark"]
[[package]]
name = "psutil"
-version = "5.9.5"
+version = "5.9.6"
description = "Cross-platform lib for process and system monitoring in Python."
-category = "main"
optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
files = [
- {file = "psutil-5.9.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:be8929ce4313f9f8146caad4272f6abb8bf99fc6cf59344a3167ecd74f4f203f"},
- {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ab8ed1a1d77c95453db1ae00a3f9c50227ebd955437bcf2a574ba8adbf6a74d5"},
- {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:4aef137f3345082a3d3232187aeb4ac4ef959ba3d7c10c33dd73763fbc063da4"},
- {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:ea8518d152174e1249c4f2a1c89e3e6065941df2fa13a1ab45327716a23c2b48"},
- {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:acf2aef9391710afded549ff602b5887d7a2349831ae4c26be7c807c0a39fac4"},
- {file = "psutil-5.9.5-cp27-none-win32.whl", hash = "sha256:5b9b8cb93f507e8dbaf22af6a2fd0ccbe8244bf30b1baad6b3954e935157ae3f"},
- {file = "psutil-5.9.5-cp27-none-win_amd64.whl", hash = "sha256:8c5f7c5a052d1d567db4ddd231a9d27a74e8e4a9c3f44b1032762bd7b9fdcd42"},
- {file = "psutil-5.9.5-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:3c6f686f4225553615612f6d9bc21f1c0e305f75d7d8454f9b46e901778e7217"},
- {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a7dd9997128a0d928ed4fb2c2d57e5102bb6089027939f3b722f3a210f9a8da"},
- {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89518112647f1276b03ca97b65cc7f64ca587b1eb0278383017c2a0dcc26cbe4"},
- {file = "psutil-5.9.5-cp36-abi3-win32.whl", hash = "sha256:104a5cc0e31baa2bcf67900be36acde157756b9c44017b86b2c049f11957887d"},
- {file = "psutil-5.9.5-cp36-abi3-win_amd64.whl", hash = "sha256:b258c0c1c9d145a1d5ceffab1134441c4c5113b2417fafff7315a917a026c3c9"},
- {file = "psutil-5.9.5-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:c607bb3b57dc779d55e1554846352b4e358c10fff3abf3514a7a6601beebdb30"},
- {file = "psutil-5.9.5.tar.gz", hash = "sha256:5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c"},
+ {file = "psutil-5.9.6-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:fb8a697f11b0f5994550555fcfe3e69799e5b060c8ecf9e2f75c69302cc35c0d"},
+ {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:91ecd2d9c00db9817a4b4192107cf6954addb5d9d67a969a4f436dbc9200f88c"},
+ {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:10e8c17b4f898d64b121149afb136c53ea8b68c7531155147867b7b1ac9e7e28"},
+ {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:18cd22c5db486f33998f37e2bb054cc62fd06646995285e02a51b1e08da97017"},
+ {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:ca2780f5e038379e520281e4c032dddd086906ddff9ef0d1b9dcf00710e5071c"},
+ {file = "psutil-5.9.6-cp27-none-win32.whl", hash = "sha256:70cb3beb98bc3fd5ac9ac617a327af7e7f826373ee64c80efd4eb2856e5051e9"},
+ {file = "psutil-5.9.6-cp27-none-win_amd64.whl", hash = "sha256:51dc3d54607c73148f63732c727856f5febec1c7c336f8f41fcbd6315cce76ac"},
+ {file = "psutil-5.9.6-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c69596f9fc2f8acd574a12d5f8b7b1ba3765a641ea5d60fb4736bf3c08a8214a"},
+ {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92e0cc43c524834af53e9d3369245e6cc3b130e78e26100d1f63cdb0abeb3d3c"},
+ {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:748c9dd2583ed86347ed65d0035f45fa8c851e8d90354c122ab72319b5f366f4"},
+ {file = "psutil-5.9.6-cp36-cp36m-win32.whl", hash = "sha256:3ebf2158c16cc69db777e3c7decb3c0f43a7af94a60d72e87b2823aebac3d602"},
+ {file = "psutil-5.9.6-cp36-cp36m-win_amd64.whl", hash = "sha256:ff18b8d1a784b810df0b0fff3bcb50ab941c3b8e2c8de5726f9c71c601c611aa"},
+ {file = "psutil-5.9.6-cp37-abi3-win32.whl", hash = "sha256:a6f01f03bf1843280f4ad16f4bde26b817847b4c1a0db59bf6419807bc5ce05c"},
+ {file = "psutil-5.9.6-cp37-abi3-win_amd64.whl", hash = "sha256:6e5fb8dc711a514da83098bc5234264e551ad980cec5f85dabf4d38ed6f15e9a"},
+ {file = "psutil-5.9.6-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:daecbcbd29b289aac14ece28eca6a3e60aa361754cf6da3dfb20d4d32b6c7f57"},
+ {file = "psutil-5.9.6.tar.gz", hash = "sha256:e4b92ddcd7dd4cdd3f900180ea1e104932c7bce234fb88976e2a3b296441225a"},
]
[package.extras]
@@ -1062,7 +1147,6 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"]
name = "pycparser"
version = "2.21"
description = "C parser in Python"
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -1074,7 +1158,6 @@ files = [
name = "pynacl"
version = "1.5.0"
description = "Python binding to the Networking and Cryptography (NaCl) library"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -1101,7 +1184,6 @@ tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"]
name = "pypng"
version = "0.20220715.0"
description = "Pure Python library for saving and loading PNG images"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -1111,69 +1193,65 @@ files = [
[[package]]
name = "pyside6"
-version = "6.5.1.1"
+version = "6.5.2"
description = "Python bindings for the Qt cross-platform application and UI framework"
-category = "main"
optional = false
python-versions = "<3.12,>=3.7"
files = [
- {file = "PySide6-6.5.1.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:dc2d249ea2486526d1bb74e6cf96e2b49f2089cf069ab289a168aa48b5c251d5"},
- {file = "PySide6-6.5.1.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:b7b6588527eb1ca45afb8918f109d827f7d248beaec14e7acdaea18883680aee"},
- {file = "PySide6-6.5.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:1517dd56f7235a98f3e1fcc983d3c8cf3d539b33164815c6e06442a297d2ab0d"},
- {file = "PySide6-6.5.1.1-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:a55403254ff7421bea5b8e2196fded24e4a0357d3b1f10d5f01ffc3ae937c71a"},
- {file = "PySide6-6.5.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:25c83843de0aa562631620721e4599eed55bc96747ed869caa631ecf92070951"},
- {file = "PySide6-6.5.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:645c1a99c37a0ce045b23fb35faacf54d98442cc16f621fe1dad2a1d2880e5e3"},
+ {file = "PySide6-6.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:b509e4d3ffde4a594d70000f881452643c9aaed800bad2959882075c01f72428"},
+ {file = "PySide6-6.5.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:e6d879ca0f8827a7866856fbedd08857e4bd8f9a858dc998dea10d1913e97938"},
+ {file = "PySide6-6.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:0356dc73c138c25b980d716e425801a61d4aa1d9f7811cf8a825499edfd4d1ae"},
+ {file = "PySide6-6.5.2-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:f0944cb0da34dc3b0bb62c7a20b6618667760eccdaa4262a90ba7f64b19fb783"},
+ {file = "PySide6-6.5.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ca259b4377eb74e4c9cb74a2afb18c37658f0c83dc18229d1f325974739f6df2"},
+ {file = "PySide6-6.5.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ad82cb12f805c5bec7693d6f1c0d6e4ae4b9462eb368a81bc0d3091de8fae76e"},
]
[package.dependencies]
-PySide6-Addons = "6.5.1.1"
-PySide6-Essentials = "6.5.1.1"
-shiboken6 = "6.5.1.1"
+PySide6-Addons = "6.5.2"
+PySide6-Essentials = "6.5.2"
+shiboken6 = "6.5.2"
[[package]]
name = "pyside6-addons"
-version = "6.5.1.1"
+version = "6.5.2"
description = "Python bindings for the Qt cross-platform application and UI framework (Addons)"
-category = "main"
optional = false
python-versions = "<3.12,>=3.7"
files = [
- {file = "PySide6_Addons-6.5.1.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:aadda3376a81dbead867380f7ae81d2fe0fb1ffd482bfc10212be8b0d06c2c4c"},
- {file = "PySide6_Addons-6.5.1.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:cf18c88274d6c9c29cccbecb11c72b1f0b0bb077dc044f9b40354f13d0c1c52e"},
- {file = "PySide6_Addons-6.5.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:d6370dfd03329cdcc91288d64bd1e26a5fc1908958b8a81fea5010a5849db441"},
- {file = "PySide6_Addons-6.5.1.1-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:e3ab22776e620d9467ffb2d76be06d5a3b8b3859d77e2e73f65f2b29018645e7"},
- {file = "PySide6_Addons-6.5.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4e1bc141a7aa9488dc77c9b29ad412e417e601cc8e23050517f7c6c8634feb46"},
- {file = "PySide6_Addons-6.5.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:441f8797d6b01c9dd9b848d0e156b2b5042d71d9266d0a6ded48c9b1cd337821"},
+ {file = "PySide6_Addons-6.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:a31cb7eca2e8cd80332e131124ed9ad197610a2a80eac4f2bd58e9124e38060a"},
+ {file = "PySide6_Addons-6.5.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:bea98d823179b814109dcf3ac6c8a0eddf886570aa9ef8ef09b6bae37bc227ca"},
+ {file = "PySide6_Addons-6.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:c77e06fd511cc8b9292c01724504d6806c33c1f5904bc59f5a8c560a74c15438"},
+ {file = "PySide6_Addons-6.5.2-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:15bf592e54b3409853c3db23bdb20fb14725b84d50feee862e8b2a3a8a3a0627"},
+ {file = "PySide6_Addons-6.5.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:26b55a658fed94a0b3c09927b408663860aca530bf6e83040dcb8fdcc221877d"},
+ {file = "PySide6_Addons-6.5.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:793a53b7db32f7780fa9571a14f0bce3700604247127cdb2125b380c577a92eb"},
]
[package.dependencies]
-PySide6-Essentials = "6.5.1.1"
-shiboken6 = "6.5.1.1"
+PySide6-Essentials = "6.5.2"
+shiboken6 = "6.5.2"
[[package]]
name = "pyside6-essentials"
-version = "6.5.1.1"
+version = "6.5.2"
description = "Python bindings for the Qt cross-platform application and UI framework (Essentials)"
-category = "main"
optional = false
python-versions = "<3.12,>=3.7"
files = [
- {file = "PySide6_Essentials-6.5.1.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:c0cc3b1e7ca0e6b7a0cb8190a8538242972df43c1f9014cc0cd066d4ed7fc83a"},
- {file = "PySide6_Essentials-6.5.1.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:bfd8900b1bf6a595b7d63539817bc825941f737486a093d519514c5b67af789f"},
- {file = "PySide6_Essentials-6.5.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:1346e6a4e97d97f54e6c0805150c6dead4cc0e7914d77167f836eb36b83acb5c"},
- {file = "PySide6_Essentials-6.5.1.1-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:0111386918064fa84a498ed7a6e93ec4155fe96e8d4f9c9e3ac54a5b65ddfadf"},
- {file = "PySide6_Essentials-6.5.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6264b00099a9bed0020460033e2a4369513e0e69f7abe3f436c3c6390164bcea"},
- {file = "PySide6_Essentials-6.5.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:620cefb6c954d59f941f06acecfe5cdf42bf470f2f3e6b9d023f49f93d740080"},
+ {file = "PySide6_Essentials-6.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:c9606de7afaee57f2c0861cc4b973bd630556dd38ec0d1542560cba81c27ab81"},
+ {file = "PySide6_Essentials-6.5.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:1620e82b38714a1570b142c01694d0415a25526517b24620ff9b00c9f76cfca9"},
+ {file = "PySide6_Essentials-6.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:e67b10f96f0ac5ed24d7e3c4985d37c70550a9dee6f38b127faf5e5341151665"},
+ {file = "PySide6_Essentials-6.5.2-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:149f1db77d82f35c6a88a403f5297645ebe737df28e163ac4dc402dfa0b961ee"},
+ {file = "PySide6_Essentials-6.5.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4be6ed964cb863823f2788717b9a6ba8f1d94eb3fa2bf1584f4621ab5e021e27"},
+ {file = "PySide6_Essentials-6.5.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6b21cf78b33554f793d409d79b828d9578d34200c86f813ef1b8dac756589b71"},
]
[package.dependencies]
-shiboken6 = "6.5.1.1"
+shiboken6 = "6.5.2"
[[package]]
name = "pysocks"
version = "1.7.1"
description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information."
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -1184,14 +1262,13 @@ files = [
[[package]]
name = "pytest"
-version = "7.3.1"
+version = "7.4.2"
description = "pytest: simple powerful testing with Python"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "pytest-7.3.1-py3-none-any.whl", hash = "sha256:3799fa815351fea3a5e96ac7e503a96fa51cc9942c3753cda7651b93c1cfa362"},
- {file = "pytest-7.3.1.tar.gz", hash = "sha256:434afafd78b1d78ed0addf160ad2b77a30d35d4bdf8af234fe621919d9ed15e3"},
+ {file = "pytest-7.4.2-py3-none-any.whl", hash = "sha256:1d881c6124e08ff0a1bb75ba3ec0bfd8b5354a01c194ddd5a0a870a48d99b002"},
+ {file = "pytest-7.4.2.tar.gz", hash = "sha256:a766259cfab564a2ad52cb1aae1b881a75c3eb7e34ca3779697c23ed47c47069"},
]
[package.dependencies]
@@ -1203,13 +1280,12 @@ pluggy = ">=0.12,<2.0"
tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
[package.extras]
-testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"]
+testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"]
[[package]]
name = "pytest-faulthandler"
version = "2.0.1"
description = "py.test plugin that activates the fault handler module for tests (dummy package)"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -1224,7 +1300,6 @@ pytest = ">=5.0"
name = "pytest-qt"
version = "4.2.0"
description = "pytest support for PyQt and PySide applications"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -1241,57 +1316,58 @@ doc = ["sphinx", "sphinx-rtd-theme"]
[[package]]
name = "python-engineio"
-version = "4.4.1"
+version = "4.8.0"
description = "Engine.IO server and client for Python"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
- {file = "python-engineio-4.4.1.tar.gz", hash = "sha256:eb3663ecb300195926b526386f712dff84cd092c818fb7b62eeeda9160120c29"},
- {file = "python_engineio-4.4.1-py3-none-any.whl", hash = "sha256:28ab67f94cba2e5f598cbb04428138fd6bb8b06d3478c939412da445f24f0773"},
+ {file = "python-engineio-4.8.0.tar.gz", hash = "sha256:2a32585d8fecd0118264fe0c39788670456ca9aa466d7c026d995cfff68af164"},
+ {file = "python_engineio-4.8.0-py3-none-any.whl", hash = "sha256:6055ce35b7f32b70641d53846faf76e06f2af0107a714cedb2750595c69ade43"},
]
+[package.dependencies]
+simple-websocket = ">=0.10.0"
+
[package.extras]
asyncio-client = ["aiohttp (>=3.4)"]
client = ["requests (>=2.21.0)", "websocket-client (>=0.54.0)"]
+docs = ["sphinx"]
[[package]]
name = "python-gnupg"
-version = "0.5.0"
+version = "0.5.1"
description = "A wrapper for the Gnu Privacy Guard (GPG or GnuPG)"
-category = "main"
optional = false
python-versions = "*"
files = [
- {file = "python-gnupg-0.5.0.tar.gz", hash = "sha256:70758e387fc0e0c4badbcb394f61acbe68b34970a8fed7e0f7c89469fe17912a"},
- {file = "python_gnupg-0.5.0-py2.py3-none-any.whl", hash = "sha256:345723a03e67b82aba0ea8ae2328b2e4a3906fbe2c18c4082285c3b01068f270"},
+ {file = "python-gnupg-0.5.1.tar.gz", hash = "sha256:5674bad4e93876c0b0d3197e314d7f942d39018bf31e2b833f6788a6813c3fb8"},
+ {file = "python_gnupg-0.5.1-py2.py3-none-any.whl", hash = "sha256:bf9b2d9032ef38139b7d64184176cd0b293eaeae6e4f93f50e304c7051174482"},
]
[[package]]
name = "python-socketio"
-version = "5.8.0"
+version = "5.10.0"
description = "Socket.IO server and client for Python"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
- {file = "python-socketio-5.8.0.tar.gz", hash = "sha256:e714f4dddfaaa0cb0e37a1e2deef2bb60590a5b9fea9c343dd8ca5e688416fd9"},
- {file = "python_socketio-5.8.0-py3-none-any.whl", hash = "sha256:7adb8867aac1c2929b9c1429f1c02e12ca4c36b67c807967393e367dfbb01441"},
+ {file = "python-socketio-5.10.0.tar.gz", hash = "sha256:01c616946fa9f67ed5cc3d1568e1c4940acfc64aeeb9ff621a53e80cabeb748a"},
+ {file = "python_socketio-5.10.0-py3-none-any.whl", hash = "sha256:fb18d9b84cfb05289dc207b790c3de59cd242310d9b980b1c31e9faf4f79101a"},
]
[package.dependencies]
bidict = ">=0.21.0"
-python-engineio = ">=4.3.0"
+python-engineio = ">=4.8.0"
[package.extras]
asyncio-client = ["aiohttp (>=3.4)"]
client = ["requests (>=2.21.0)", "websocket-client (>=0.54.0)"]
+docs = ["sphinx"]
[[package]]
name = "qrcode"
version = "7.4.2"
description = "QR Code image generator"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -1315,7 +1391,6 @@ test = ["coverage", "pytest"]
name = "requests"
version = "2.31.0"
description = "Python HTTP for Humans."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -1336,42 +1411,56 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
[[package]]
name = "setuptools"
-version = "67.8.0"
+version = "68.2.2"
description = "Easily download, build, install, upgrade, and uninstall Python packages"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "setuptools-67.8.0-py3-none-any.whl", hash = "sha256:5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f"},
- {file = "setuptools-67.8.0.tar.gz", hash = "sha256:62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102"},
+ {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"},
+ {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"},
]
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
-testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
-testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
+testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
+testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
[[package]]
name = "shiboken6"
-version = "6.5.1.1"
+version = "6.5.2"
description = "Python/C++ bindings helper module"
-category = "main"
optional = false
python-versions = "<3.12,>=3.7"
files = [
- {file = "shiboken6-6.5.1.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:59fc1797df38c9e8c89cc43d5996a4c0331d0258087fa9d6466b03822aba6ff2"},
- {file = "shiboken6-6.5.1.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:4338a8eb00e8d6f5b27edf85ab689ada905a4490c73ed3f23ff3b3c5f72a563e"},
- {file = "shiboken6-6.5.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:aa6289cdbaa12f364f1c45d60d9d483c3842ee9cf6e9acdc3efd21cd460c2eb5"},
- {file = "shiboken6-6.5.1.1-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:db029b9d895052c1f42b1f929af3a5f6e688a88c5862aed24d5094086b034ab2"},
- {file = "shiboken6-6.5.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1c7ba82093d66ace5c7a07ed9c7b4ea57a311ddbfecbe44aff7ed023efc8a380"},
- {file = "shiboken6-6.5.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:34cacba2954bff632476fbead190868c6f068a6dd9e5c8fd7d2ed4f8f5cfade4"},
+ {file = "shiboken6-6.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:ba7af130d34ea03e329baebd80982d2635aee7e58dbb07a07085509a501ed03f"},
+ {file = "shiboken6-6.5.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3fbc35ff3c19e7d39433671bfc1be3d7fa9d071bfdd0ffe1c2a4d27acd6cf6a5"},
+ {file = "shiboken6-6.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:558bdb3b0ccc8aac5f9029eabfd6ad8d41f93a87cd7f54395e07732fce39280d"},
+ {file = "shiboken6-6.5.2-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:4e073b40734a7f9cc6ac289c735362967bb45c34f591f7c0fab7cef1d62e6a66"},
+ {file = "shiboken6-6.5.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:cc89759aabafce49b629b189ed7c81986fedaac695714a4eed1aaeb16783c6a9"},
+ {file = "shiboken6-6.5.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e60d8dd3292e3f87662b9e37ae5c558c519f8250da627c473b68bd8d24ed3243"},
]
[[package]]
+name = "simple-websocket"
+version = "1.0.0"
+description = "Simple WebSocket server and client for Python"
+optional = false
+python-versions = ">=3.6"
+files = [
+ {file = "simple-websocket-1.0.0.tar.gz", hash = "sha256:17d2c72f4a2bd85174a97e3e4c88b01c40c3f81b7b648b0cc3ce1305968928c8"},
+ {file = "simple_websocket-1.0.0-py3-none-any.whl", hash = "sha256:1d5bf585e415eaa2083e2bcf02a3ecf91f9712e7b3e6b9fa0b461ad04e0837bc"},
+]
+
+[package.dependencies]
+wsproto = "*"
+
+[package.extras]
+docs = ["sphinx"]
+
+[[package]]
name = "six"
version = "1.16.0"
description = "Python 2 and 3 compatibility utilities"
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
files = [
@@ -1383,7 +1472,6 @@ files = [
name = "stem"
version = "1.8.1"
description = "Stem is a Python controller library that allows applications to interact with Tor (https://www.torproject.org/)."
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -1394,7 +1482,6 @@ files = [
name = "tomli"
version = "2.0.1"
description = "A lil' TOML parser"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -1404,38 +1491,35 @@ files = [
[[package]]
name = "typing-extensions"
-version = "4.6.2"
-description = "Backported and Experimental Type Hints for Python 3.7+"
-category = "main"
+version = "4.8.0"
+description = "Backported and Experimental Type Hints for Python 3.8+"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "typing_extensions-4.6.2-py3-none-any.whl", hash = "sha256:3a8b36f13dd5fdc5d1b16fe317f5668545de77fa0b8e02006381fd49d731ab98"},
- {file = "typing_extensions-4.6.2.tar.gz", hash = "sha256:06006244c70ac8ee83fa8282cb188f697b8db25bc8b4df07be1873c43897060c"},
+ {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"},
+ {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"},
]
[[package]]
name = "unidecode"
-version = "1.3.6"
+version = "1.3.7"
description = "ASCII transliterations of Unicode text"
-category = "main"
optional = false
python-versions = ">=3.5"
files = [
- {file = "Unidecode-1.3.6-py3-none-any.whl", hash = "sha256:547d7c479e4f377b430dd91ac1275d593308dce0fc464fb2ab7d41f82ec653be"},
- {file = "Unidecode-1.3.6.tar.gz", hash = "sha256:fed09cf0be8cf415b391642c2a5addfc72194407caee4f98719e40ec2a72b830"},
+ {file = "Unidecode-1.3.7-py3-none-any.whl", hash = "sha256:663a537f506834ed836af26a81b210d90cbde044c47bfbdc0fbbc9f94c86a6e4"},
+ {file = "Unidecode-1.3.7.tar.gz", hash = "sha256:3c90b4662aa0de0cb591884b934ead8d2225f1800d8da675a7750cbc3bd94610"},
]
[[package]]
name = "urllib3"
-version = "2.0.2"
+version = "2.0.7"
description = "HTTP library with thread-safe connection pooling, file post, and more."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "urllib3-2.0.2-py3-none-any.whl", hash = "sha256:d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"},
- {file = "urllib3-2.0.2.tar.gz", hash = "sha256:61717a1095d7e155cdb737ac7bb2f4324a858a1e2e6466f6d03ff630ca68d3cc"},
+ {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"},
+ {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"},
]
[package.extras]
@@ -1448,7 +1532,6 @@ zstd = ["zstandard (>=0.18.0)"]
name = "waitress"
version = "2.1.2"
description = "Waitress WSGI server"
-category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
@@ -1462,14 +1545,13 @@ testing = ["coverage (>=5.0)", "pytest", "pytest-cover"]
[[package]]
name = "werkzeug"
-version = "2.3.4"
+version = "3.0.0"
description = "The comprehensive WSGI web application library."
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
- {file = "Werkzeug-2.3.4-py3-none-any.whl", hash = "sha256:48e5e61472fee0ddee27ebad085614ebedb7af41e88f687aaf881afb723a162f"},
- {file = "Werkzeug-2.3.4.tar.gz", hash = "sha256:1d5a58e0377d1fe39d061a5de4469e414e78ccb1e1e59c0f5ad6fa1c36c52b76"},
+ {file = "werkzeug-3.0.0-py3-none-any.whl", hash = "sha256:cbb2600f7eabe51dbc0502f58be0b3e1b96b893b05695ea2b35b43d4de2d9962"},
+ {file = "werkzeug-3.0.0.tar.gz", hash = "sha256:3ffff4dcc32db52ef3cc94dff3000a3c2846890f3a5a51800a27b909c5e770f0"},
]
[package.dependencies]
@@ -1479,31 +1561,57 @@ MarkupSafe = ">=2.1.1"
watchdog = ["watchdog (>=2.3)"]
[[package]]
+name = "wheel"
+version = "0.41.2"
+description = "A built-package format for Python"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "wheel-0.41.2-py3-none-any.whl", hash = "sha256:75909db2664838d015e3d9139004ee16711748a52c8f336b52882266540215d8"},
+ {file = "wheel-0.41.2.tar.gz", hash = "sha256:0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985"},
+]
+
+[package.extras]
+test = ["pytest (>=6.0.0)", "setuptools (>=65)"]
+
+[[package]]
+name = "wsproto"
+version = "1.2.0"
+description = "WebSockets state-machine based protocol implementation"
+optional = false
+python-versions = ">=3.7.0"
+files = [
+ {file = "wsproto-1.2.0-py3-none-any.whl", hash = "sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736"},
+ {file = "wsproto-1.2.0.tar.gz", hash = "sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065"},
+]
+
+[package.dependencies]
+h11 = ">=0.9.0,<1"
+
+[[package]]
name = "zipp"
-version = "3.15.0"
+version = "3.17.0"
description = "Backport of pathlib-compatible object wrapper for zip files"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"},
- {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"},
+ {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"},
+ {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"},
]
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
+testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"]
[[package]]
name = "zope-event"
-version = "4.6"
+version = "5.0"
description = "Very basic event publishing system"
-category = "main"
optional = false
-python-versions = "*"
+python-versions = ">=3.7"
files = [
- {file = "zope.event-4.6-py2.py3-none-any.whl", hash = "sha256:73d9e3ef750cca14816a9c322c7250b0d7c9dbc337df5d1b807ff8d3d0b9e97c"},
- {file = "zope.event-4.6.tar.gz", hash = "sha256:81d98813046fc86cc4136e3698fee628a3282f9c320db18658c21749235fce80"},
+ {file = "zope.event-5.0-py3-none-any.whl", hash = "sha256:2832e95014f4db26c47a13fdaef84cef2f4df37e66b59d8f1f4a8f319a632c26"},
+ {file = "zope.event-5.0.tar.gz", hash = "sha256:bac440d8d9891b4068e2b5a2c5e2c9765a9df762944bda6955f96bb9b91e67cd"},
]
[package.dependencies]
@@ -1515,53 +1623,58 @@ test = ["zope.testrunner"]
[[package]]
name = "zope-interface"
-version = "6.0"
+version = "6.1"
description = "Interfaces for Python"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "zope.interface-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f299c020c6679cb389814a3b81200fe55d428012c5e76da7e722491f5d205990"},
- {file = "zope.interface-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ee4b43f35f5dc15e1fec55ccb53c130adb1d11e8ad8263d68b1284b66a04190d"},
- {file = "zope.interface-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a158846d0fca0a908c1afb281ddba88744d403f2550dc34405c3691769cdd85"},
- {file = "zope.interface-6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f72f23bab1848edb7472309e9898603141644faec9fd57a823ea6b4d1c4c8995"},
- {file = "zope.interface-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48f4d38cf4b462e75fac78b6f11ad47b06b1c568eb59896db5b6ec1094eb467f"},
- {file = "zope.interface-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:87b690bbee9876163210fd3f500ee59f5803e4a6607d1b1238833b8885ebd410"},
- {file = "zope.interface-6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f2363e5fd81afb650085c6686f2ee3706975c54f331b426800b53531191fdf28"},
- {file = "zope.interface-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:af169ba897692e9cd984a81cb0f02e46dacdc07d6cf9fd5c91e81f8efaf93d52"},
- {file = "zope.interface-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa90bac61c9dc3e1a563e5babb3fd2c0c1c80567e815442ddbe561eadc803b30"},
- {file = "zope.interface-6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:89086c9d3490a0f265a3c4b794037a84541ff5ffa28bb9c24cc9f66566968464"},
- {file = "zope.interface-6.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:809fe3bf1a91393abc7e92d607976bbb8586512913a79f2bf7d7ec15bd8ea518"},
- {file = "zope.interface-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:0ec9653825f837fbddc4e4b603d90269b501486c11800d7c761eee7ce46d1bbb"},
- {file = "zope.interface-6.0-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:790c1d9d8f9c92819c31ea660cd43c3d5451df1df61e2e814a6f99cebb292788"},
- {file = "zope.interface-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b39b8711578dcfd45fc0140993403b8a81e879ec25d53189f3faa1f006087dca"},
- {file = "zope.interface-6.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eba51599370c87088d8882ab74f637de0c4f04a6d08a312dce49368ba9ed5c2a"},
- {file = "zope.interface-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ee934f023f875ec2cfd2b05a937bd817efcc6c4c3f55c5778cbf78e58362ddc"},
- {file = "zope.interface-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:042f2381118b093714081fd82c98e3b189b68db38ee7d35b63c327c470ef8373"},
- {file = "zope.interface-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:dfbbbf0809a3606046a41f8561c3eada9db811be94138f42d9135a5c47e75f6f"},
- {file = "zope.interface-6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:424d23b97fa1542d7be882eae0c0fc3d6827784105264a8169a26ce16db260d8"},
- {file = "zope.interface-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e538f2d4a6ffb6edfb303ce70ae7e88629ac6e5581870e66c306d9ad7b564a58"},
- {file = "zope.interface-6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12175ca6b4db7621aedd7c30aa7cfa0a2d65ea3a0105393e05482d7a2d367446"},
- {file = "zope.interface-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c3d7dfd897a588ec27e391edbe3dd320a03684457470415870254e714126b1f"},
- {file = "zope.interface-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:b3f543ae9d3408549a9900720f18c0194ac0fe810cecda2a584fd4dca2eb3bb8"},
- {file = "zope.interface-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d0583b75f2e70ec93f100931660328965bb9ff65ae54695fb3fa0a1255daa6f2"},
- {file = "zope.interface-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:23ac41d52fd15dd8be77e3257bc51bbb82469cf7f5e9a30b75e903e21439d16c"},
- {file = "zope.interface-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99856d6c98a326abbcc2363827e16bd6044f70f2ef42f453c0bd5440c4ce24e5"},
- {file = "zope.interface-6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1592f68ae11e557b9ff2bc96ac8fc30b187e77c45a3c9cd876e3368c53dc5ba8"},
- {file = "zope.interface-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4407b1435572e3e1610797c9203ad2753666c62883b921318c5403fb7139dec2"},
- {file = "zope.interface-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:5171eb073474a5038321409a630904fd61f12dd1856dd7e9d19cd6fe092cbbc5"},
- {file = "zope.interface-6.0.tar.gz", hash = "sha256:aab584725afd10c710b8f1e6e208dbee2d0ad009f57d674cb9d1b3964037275d"},
+ {file = "zope.interface-6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:43b576c34ef0c1f5a4981163b551a8781896f2a37f71b8655fd20b5af0386abb"},
+ {file = "zope.interface-6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:67be3ca75012c6e9b109860820a8b6c9a84bfb036fbd1076246b98e56951ca92"},
+ {file = "zope.interface-6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b9bc671626281f6045ad61d93a60f52fd5e8209b1610972cf0ef1bbe6d808e3"},
+ {file = "zope.interface-6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbe81def9cf3e46f16ce01d9bfd8bea595e06505e51b7baf45115c77352675fd"},
+ {file = "zope.interface-6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dc998f6de015723196a904045e5a2217f3590b62ea31990672e31fbc5370b41"},
+ {file = "zope.interface-6.1-cp310-cp310-win_amd64.whl", hash = "sha256:239a4a08525c080ff833560171d23b249f7f4d17fcbf9316ef4159f44997616f"},
+ {file = "zope.interface-6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9ffdaa5290422ac0f1688cb8adb1b94ca56cee3ad11f29f2ae301df8aecba7d1"},
+ {file = "zope.interface-6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:34c15ca9248f2e095ef2e93af2d633358c5f048c49fbfddf5fdfc47d5e263736"},
+ {file = "zope.interface-6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b012d023b4fb59183909b45d7f97fb493ef7a46d2838a5e716e3155081894605"},
+ {file = "zope.interface-6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:97806e9ca3651588c1baaebb8d0c5ee3db95430b612db354c199b57378312ee8"},
+ {file = "zope.interface-6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fddbab55a2473f1d3b8833ec6b7ac31e8211b0aa608df5ab09ce07f3727326de"},
+ {file = "zope.interface-6.1-cp311-cp311-win_amd64.whl", hash = "sha256:a0da79117952a9a41253696ed3e8b560a425197d4e41634a23b1507efe3273f1"},
+ {file = "zope.interface-6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e8bb9c990ca9027b4214fa543fd4025818dc95f8b7abce79d61dc8a2112b561a"},
+ {file = "zope.interface-6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b51b64432eed4c0744241e9ce5c70dcfecac866dff720e746d0a9c82f371dfa7"},
+ {file = "zope.interface-6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa6fd016e9644406d0a61313e50348c706e911dca29736a3266fc9e28ec4ca6d"},
+ {file = "zope.interface-6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c8cf55261e15590065039696607f6c9c1aeda700ceee40c70478552d323b3ff"},
+ {file = "zope.interface-6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e30506bcb03de8983f78884807e4fd95d8db6e65b69257eea05d13d519b83ac0"},
+ {file = "zope.interface-6.1-cp312-cp312-win_amd64.whl", hash = "sha256:e33e86fd65f369f10608b08729c8f1c92ec7e0e485964670b4d2633a4812d36b"},
+ {file = "zope.interface-6.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:2f8d89721834524a813f37fa174bac074ec3d179858e4ad1b7efd4401f8ac45d"},
+ {file = "zope.interface-6.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:13b7d0f2a67eb83c385880489dbb80145e9d344427b4262c49fbf2581677c11c"},
+ {file = "zope.interface-6.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef43ee91c193f827e49599e824385ec7c7f3cd152d74cb1dfe02cb135f264d83"},
+ {file = "zope.interface-6.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e441e8b7d587af0414d25e8d05e27040d78581388eed4c54c30c0c91aad3a379"},
+ {file = "zope.interface-6.1-cp37-cp37m-win_amd64.whl", hash = "sha256:f89b28772fc2562ed9ad871c865f5320ef761a7fcc188a935e21fe8b31a38ca9"},
+ {file = "zope.interface-6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70d2cef1bf529bff41559be2de9d44d47b002f65e17f43c73ddefc92f32bf00f"},
+ {file = "zope.interface-6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ad54ed57bdfa3254d23ae04a4b1ce405954969c1b0550cc2d1d2990e8b439de1"},
+ {file = "zope.interface-6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef467d86d3cfde8b39ea1b35090208b0447caaabd38405420830f7fd85fbdd56"},
+ {file = "zope.interface-6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6af47f10cfc54c2ba2d825220f180cc1e2d4914d783d6fc0cd93d43d7bc1c78b"},
+ {file = "zope.interface-6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9559138690e1bd4ea6cd0954d22d1e9251e8025ce9ede5d0af0ceae4a401e43"},
+ {file = "zope.interface-6.1-cp38-cp38-win_amd64.whl", hash = "sha256:964a7af27379ff4357dad1256d9f215047e70e93009e532d36dcb8909036033d"},
+ {file = "zope.interface-6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:387545206c56b0315fbadb0431d5129c797f92dc59e276b3ce82db07ac1c6179"},
+ {file = "zope.interface-6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:57d0a8ce40ce440f96a2c77824ee94bf0d0925e6089df7366c2272ccefcb7941"},
+ {file = "zope.interface-6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ebc4d34e7620c4f0da7bf162c81978fce0ea820e4fa1e8fc40ee763839805f3"},
+ {file = "zope.interface-6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a804abc126b33824a44a7aa94f06cd211a18bbf31898ba04bd0924fbe9d282d"},
+ {file = "zope.interface-6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f294a15f7723fc0d3b40701ca9b446133ec713eafc1cc6afa7b3d98666ee1ac"},
+ {file = "zope.interface-6.1-cp39-cp39-win_amd64.whl", hash = "sha256:a41f87bb93b8048fe866fa9e3d0c51e27fe55149035dcf5f43da4b56732c0a40"},
+ {file = "zope.interface-6.1.tar.gz", hash = "sha256:2fdc7ccbd6eb6b7df5353012fbed6c3c5d04ceaca0038f75e601060e95345309"},
]
[package.dependencies]
setuptools = "*"
[package.extras]
-docs = ["Sphinx", "repoze.sphinx.autointerface"]
+docs = ["Sphinx", "repoze.sphinx.autointerface", "sphinx-rtd-theme"]
test = ["coverage (>=5.0.3)", "zope.event", "zope.testing"]
testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"]
[metadata]
lock-version = "2.0"
python-versions = ">=3.8,<3.12"
-content-hash = "683437851fbb552c473c51ce126aa554ab8cb27fb26359a48fecfdad56a75452"
+content-hash = "503cfec4f92c7f09b325690f1b5de8bf04532a7b93a5a76e77548bcce269396e"
diff --git a/desktop/pyproject.toml b/desktop/pyproject.toml
index 01e61d6a..10146058 100644
--- a/desktop/pyproject.toml
+++ b/desktop/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "onionshare"
-version = "2.6.1"
+version = "2.6.1.dev1"
description = "OnionShare lets you securely and anonymously send and receive files. It works by starting a web server, making it accessible as a Tor onion service, and generating an unguessable web address so others can download files from you, or upload files to you. It does _not_ require setting up a separate server or using a third party file-sharing service."
authors = ["Micah Lee <micah@micahflee.com>"]
license = "GPLv3+"
@@ -8,7 +8,7 @@ license = "GPLv3+"
[tool.poetry.dependencies]
python = ">=3.8,<3.12"
onionshare_cli = {path = "../cli", develop = true}
-PySide6 = "6.5.1.1"
+PySide6 = "6.5.2"
qrcode = "*"
werkzeug = "*"
python-gnupg = "*"
diff --git a/desktop/scripts/build-macos.py b/desktop/scripts/build-macos.py
index 345646fc..c998eb0d 100644
--- a/desktop/scripts/build-macos.py
+++ b/desktop/scripts/build-macos.py
@@ -7,6 +7,8 @@ import shutil
import glob
import itertools
+from common import get_binary_arches
+
root = os.path.dirname(
os.path.dirname(
os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
@@ -54,6 +56,10 @@ def sign(path, entitlements, identity):
)
+def get_binaries():
+ pass
+
+
@click.group()
def main():
"""
@@ -159,7 +165,7 @@ def cleanup_build():
"QtSvgWidgets",
"QtUiTools",
"QtWebEngineQuick",
- "QtWebEngineQuickDelegatesQml"
+ "QtWebEngineQuickDelegatesQml",
]:
shutil.rmtree(
f"{app_path}/Contents/MacOS/lib/PySide6/Qt/lib/{framework}.framework"
@@ -178,98 +184,37 @@ def cleanup_build():
except FileNotFoundError:
pass
- print("> Move files around so Apple will notarize")
- # https://github.com/marcelotduarte/cx_Freeze/issues/594
- # https://gist.github.com/TechnicalPirate/259a9c24878fcad948452cb148af2a2c#file-custom_bdist_mac-py-L415
-
- # Move lib from MacOS into Resources
- os.rename(
- f"{app_path}/Contents/MacOS/lib",
- f"{app_path}/Contents/Resources/lib",
- )
- run(
- ["ln", "-s", "../Resources/lib"],
- cwd=f"{app_path}/Contents/MacOS",
- )
-
- # Move frameworks from Resources/lib into Frameworks
- os.makedirs(f"{app_path}/Contents/Frameworks", exist_ok=True)
- for framework_filename in glob.glob(
- f"{app_path}/Contents/Resources/lib/PySide6/Qt/lib/Qt*.framework"
- ):
- basename = os.path.basename(framework_filename)
-
- os.rename(framework_filename, f"{app_path}/Contents/Frameworks/{basename}")
- run(
- ["ln", "-s", f"../../../../../Frameworks/{basename}"],
- cwd=f"{app_path}/Contents/Resources/lib/PySide6/Qt/lib",
- )
- if os.path.exists(f"{app_path}/Contents/Frameworks/{basename}/Resources"):
- if not os.path.exists(f"{app_path}/Contents/Frameworks/{basename}/Versions/A/Resources"):
- os.rename(
- f"{app_path}/Contents/Frameworks/{basename}/Resources",
- f"{app_path}/Contents/Frameworks/{basename}/Versions/A/Resources",
- )
- else:
- shutil.rmtree(f"{app_path}/Contents/Frameworks/{basename}/Resources")
- run(
- ["ln", "-s", "Versions/A/Resources"],
- cwd=f"{app_path}/Contents/Frameworks/{basename}",
- )
-
- try:
- run(
- ["ln", "-s", "A", "Current"],
- cwd=f"{app_path}/Contents/Frameworks/{basename}/Versions",
- )
- except:
- pass
-
- # Move Qt plugins
- os.rename(
- f"{app_path}/Contents/Resources/lib/PySide6/Qt/plugins",
- f"{app_path}/Contents/Frameworks/plugins",
- )
- run(
- ["ln", "-s", "../../../../Frameworks/plugins"],
- cwd=f"{app_path}/Contents/Resources/lib/PySide6/Qt",
- )
-
print("> Delete more unused PySide6 stuff to save space")
for filename in [
f"{app_path}/Contents/Resources/lib/PySide6/Designer.app",
- f"{app_path}/Contents/Resources/lib/PySide6/examples",
f"{app_path}/Contents/Resources/lib/PySide6/glue",
f"{app_path}/Contents/Resources/lib/PySide6/include",
f"{app_path}/Contents/Resources/lib/PySide6/lupdate",
- f"{app_path}/Contents/Resources/lib/PySide6/libpyside6.abi3.6.4.dylib",
f"{app_path}/Contents/Resources/lib/PySide6/Qt/qml",
- f"{app_path}/Contents/Resources/lib/shiboken6/libshiboken6.abi3.6.4.dylib",
f"{app_path}/Contents/Resources/lib/PySide6/Assistant.app",
f"{app_path}/Contents/Resources/lib/PySide6/Linguist.app",
- f"{app_path}/Contents/Resources/lib/PySide6/libpyside6qml.abi3.6.4.dylib",
f"{app_path}/Contents/Resources/lib/PySide6/lrelease",
f"{app_path}/Contents/Resources/lib/PySide6/qmlformat",
f"{app_path}/Contents/Resources/lib/PySide6/qmllint",
f"{app_path}/Contents/Resources/lib/PySide6/qmlls",
- f"{app_path}/Contents/MacOS/QtBluetooth",
- f"{app_path}/Contents/MacOS/QtConcurrent",
- f"{app_path}/Contents/MacOS/QtDesigner",
- f"{app_path}/Contents/MacOS/QtNetworkAuth",
- f"{app_path}/Contents/MacOS/QtNfc",
- f"{app_path}/Contents/MacOS/QtOpenGL",
- f"{app_path}/Contents/MacOS/QtOpenGLWidgets",
- f"{app_path}/Contents/MacOS/QtPositioning",
- f"{app_path}/Contents/MacOS/QtQuick3D",
- f"{app_path}/Contents/MacOS/QtQuick3DRuntimeRender",
- f"{app_path}/Contents/MacOS/QtQuick3DUtils",
- f"{app_path}/Contents/MacOS/QtShaderTools",
- f"{app_path}/Contents/MacOS/QtStateMachine",
- f"{app_path}/Contents/MacOS/QtSvgWidgets",
- f"{app_path}/Contents/MacOS/QtWebChannel",
- f"{app_path}/Contents/MacOS/QtWebEngineCore",
- f"{app_path}/Contents/MacOS/QtWebEngineQuick",
- f"{app_path}/Contents/MacOS/QtXml",
+ f"{app_path}/Contents/Resources/lib/QtBluetooth",
+ f"{app_path}/Contents/Resources/lib/QtConcurrent",
+ f"{app_path}/Contents/Resources/lib/QtDesigner",
+ f"{app_path}/Contents/Resources/lib/QtNetworkAuth",
+ f"{app_path}/Contents/Resources/lib/QtNfc",
+ f"{app_path}/Contents/Resources/lib/QtOpenGL",
+ f"{app_path}/Contents/Resources/lib/QtOpenGLWidgets",
+ f"{app_path}/Contents/Resources/lib/QtPositioning",
+ f"{app_path}/Contents/Resources/lib/QtQuick3D",
+ f"{app_path}/Contents/Resources/lib/QtQuick3DRuntimeRender",
+ f"{app_path}/Contents/Resources/lib/QtQuick3DUtils",
+ f"{app_path}/Contents/Resources/lib/QtShaderTools",
+ f"{app_path}/Contents/Resources/lib/QtStateMachine",
+ f"{app_path}/Contents/Resources/lib/QtSvgWidgets",
+ f"{app_path}/Contents/Resources/lib/QtWebChannel",
+ f"{app_path}/Contents/Resources/lib/QtWebEngineCore",
+ f"{app_path}/Contents/Resources/lib/QtWebEngineQuick",
+ f"{app_path}/Contents/Resources/lib/QtXml",
]:
if os.path.isfile(filename) or os.path.islink(filename):
os.remove(filename)
@@ -290,26 +235,11 @@ def cleanup_build():
@click.argument("app_path")
def codesign(app_path):
"""Sign macOS binaries before packaging"""
- for path in itertools.chain(
- glob.glob(f"{app_path}/Contents/Resources/lib/**/*.so", recursive=True),
- glob.glob(f"{app_path}/Contents/Resources/lib/**/*.dylib", recursive=True),
- [
- f"{app_path}/Contents/Frameworks/QtCore.framework/Versions/A/QtCore",
- f"{app_path}/Contents/Frameworks/QtDBus.framework/Versions/A/QtDBus",
- f"{app_path}/Contents/Frameworks/QtGui.framework/Versions/A/QtGui",
- f"{app_path}/Contents/Frameworks/QtWidgets.framework/Versions/A/QtWidgets",
- f"{app_path}/Contents/Resources/lib/Python",
- f"{app_path}/Contents/Resources/lib/onionshare/resources/tor/meek-client",
- f"{app_path}/Contents/Resources/lib/onionshare/resources/tor/obfs4proxy",
- f"{app_path}/Contents/Resources/lib/onionshare/resources/tor/snowflake-client",
- f"{app_path}/Contents/Resources/lib/onionshare/resources/tor/tor",
- f"{app_path}/Contents/Resources/lib/onionshare/resources/tor/libevent-2.1.7.dylib",
- f"{app_path}/Contents/MacOS/onionshare",
- f"{app_path}/Contents/MacOS/onionshare-cli",
- f"{app_path}",
- ],
- ):
- sign(path, entitlements_plist_path, identity_name_application)
+ bin_universal, bin_silicon, bin_intel = get_binary_arches(app_path)
+ binaries = bin_universal + bin_silicon + bin_intel + [app_path]
+
+ for filename in binaries:
+ sign(filename, entitlements_plist_path, identity_name_application)
print(f"> Signed app bundle: {app_path}")
diff --git a/desktop/scripts/build-pt-meek.ps1 b/desktop/scripts/build-pt-meek.ps1
index 99ff8de6..70b97797 100644
--- a/desktop/scripts/build-pt-meek.ps1
+++ b/desktop/scripts/build-pt-meek.ps1
@@ -1,4 +1,4 @@
-$env:MEEK_TAG = 'v0.37.0'
+$env:MEEK_TAG = 'v0.38.0'
New-Item -ItemType Directory -Force -Path .\build\meek
cd .\build\meek
diff --git a/desktop/scripts/build-pt-meek.sh b/desktop/scripts/build-pt-meek.sh
index 30b583cc..9b8fc205 100755
--- a/desktop/scripts/build-pt-meek.sh
+++ b/desktop/scripts/build-pt-meek.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-MEEK_TAG=v0.37.0
+MEEK_TAG=v0.38.0
OS=$(uname -s)
diff --git a/desktop/scripts/build-pt-snowflake.ps1 b/desktop/scripts/build-pt-snowflake.ps1
index 0c30133c..3f22f871 100644
--- a/desktop/scripts/build-pt-snowflake.ps1
+++ b/desktop/scripts/build-pt-snowflake.ps1
@@ -1,4 +1,4 @@
-$env:SNOWFLAKE_TAG = 'v2.3.1'
+$env:SNOWFLAKE_TAG = 'v2.6.0'
New-Item -ItemType Directory -Force -Path .\build\snowflake
cd .\build\snowflake
diff --git a/desktop/scripts/build-pt-snowflake.sh b/desktop/scripts/build-pt-snowflake.sh
index 96a62565..4d4e858d 100755
--- a/desktop/scripts/build-pt-snowflake.sh
+++ b/desktop/scripts/build-pt-snowflake.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-SNOWFLAKE_TAG=v2.3.1
+SNOWFLAKE_TAG=v2.6.0
OS=$(uname -s)
diff --git a/desktop/scripts/build-windows.py b/desktop/scripts/build-windows.py
index ca4d8ede..9579b81d 100644
--- a/desktop/scripts/build-windows.py
+++ b/desktop/scripts/build-windows.py
@@ -40,17 +40,17 @@ def sign(filename):
click.echo(f"> Signing {filename}")
run(
[
- shutil.which("signtool"),
+ shutil.which("signtool.exe"),
"sign",
"/v",
"/d",
"OnionShare",
- "/sha1",
- "1a0345732140749bdaa03efe8591b2c2a036884c",
+ "/n",
+ "Science and Design Inc.",
"/fd",
- "SHA256",
+ "sha256",
"/td",
- "SHA256",
+ "sha256",
"/tr",
"http://timestamp.digicert.com",
filename,
@@ -117,6 +117,7 @@ def wix_build_dir_xml(root, data):
"Component",
Id="ApplicationShortcuts",
Guid="539e7de8-a124-4c09-aa55-0dd516aad7bc",
+ Win64="yes",
)
ET.SubElement(
component_el,
@@ -152,6 +153,7 @@ def wix_build_components_xml(root, data):
"Component",
Id=subdata["component_id"],
Guid=subdata["component_guid"],
+ Win64="yes",
)
for filename in subdata["files"]:
file_el = ET.SubElement(
@@ -180,7 +182,7 @@ def msi_package(build_path, msi_path, product_update_code):
"name": "SourceDir",
"dirs": [
{
- "id": "ProgramFilesFolder",
+ "id": "ProgramFiles64Folder",
"dirs": [],
},
{
@@ -218,10 +220,11 @@ def msi_package(build_path, msi_path, product_update_code):
Keywords="Installer",
Description="OnionShare $(var.ProductVersion) Installer",
Manufacturer="Micah Lee, et al.",
- InstallerVersion="100",
+ InstallerVersion="200",
Languages="1033",
Compressed="yes",
SummaryCodepage="1252",
+ Platform="x64",
)
ET.SubElement(product_el, "Media", Id="1", Cabinet="product.cab", EmbedCab="yes")
ET.SubElement(
@@ -321,7 +324,7 @@ def main():
@main.command()
def cleanup_build():
"""Delete unused PySide6 stuff to save space"""
- build_path = os.path.join(desktop_dir, "build", "exe.win-amd64-3.10")
+ build_path = os.path.join(desktop_dir, "build", "exe.win-amd64-3.11")
before_size = get_size(build_path)
for dirname in ["qml"]:
diff --git a/desktop/scripts/common.py b/desktop/scripts/common.py
new file mode 100644
index 00000000..acdeaa6b
--- /dev/null
+++ b/desktop/scripts/common.py
@@ -0,0 +1,32 @@
+import os
+import subprocess
+
+
+def get_binary_arches(app_dir):
+ universal = []
+ silicon = []
+ intel = []
+ for dirpath, dirnames, filenames in os.walk(app_dir):
+ for basename in filenames:
+ filename = os.path.join(dirpath, basename)
+ if os.path.isfile(filename):
+ out = subprocess.check_output(["file", filename]).decode("utf-8")
+ if (
+ "Mach-O 64-bit executable" in out
+ or "Mach-O 64-bit bundle" in out
+ or "Mach-O 64-bit dynamically linked shared library" in out
+ ):
+ arm64, x86 = False, False
+ if "arm64" in out:
+ arm64 = True
+ if "x86_64" in out:
+ x86 = True
+
+ if arm64 and x86:
+ universal.append(filename)
+ elif arm64:
+ silicon.append(filename)
+ elif x86:
+ intel.append(filename)
+
+ return universal, silicon, intel
diff --git a/desktop/scripts/get-tor.py b/desktop/scripts/get-tor.py
index 37f8d4c0..48236124 100644
--- a/desktop/scripts/get-tor.py
+++ b/desktop/scripts/get-tor.py
@@ -233,16 +233,16 @@ def get_tor_linux64(gpg, torkey, linux64_url, linux64_filename, expected_linux64
)
os.chmod(os.path.join(dist_path, "tor"), 0o755)
shutil.copyfile(
- os.path.join(tarball_tor_path, "Tor", "libcrypto.so.1.1"),
- os.path.join(dist_path, "libcrypto.so.1.1"),
+ os.path.join(tarball_tor_path, "Tor", "libcrypto.so.3"),
+ os.path.join(dist_path, "libcrypto.so.3"),
)
shutil.copyfile(
os.path.join(tarball_tor_path, "Tor", "libevent-2.1.so.7"),
os.path.join(dist_path, "libevent-2.1.so.7"),
)
shutil.copyfile(
- os.path.join(tarball_tor_path, "Tor", "libssl.so.1.1"),
- os.path.join(dist_path, "libssl.so.1.1"),
+ os.path.join(tarball_tor_path, "Tor", "libssl.so.3"),
+ os.path.join(dist_path, "libssl.so.3"),
)
shutil.copyfile(
os.path.join(tarball_tor_path, "Tor", "libstdc++", "libstdc++.so.6"),
@@ -310,7 +310,7 @@ def main(platform):
"""
Download Tor Browser and extract tor binaries
"""
- valid_platforms = ["win32", "win64", "macos", "linux64"]
+ valid_platforms = ["win64", "macos", "linux-x86_64"]
if platform not in valid_platforms:
click.echo(f"platform must be one of: {valid_platforms}")
return
@@ -322,17 +322,23 @@ def main(platform):
) = get_latest_tor_version_urls(platform)
tmpdir = tempfile.TemporaryDirectory()
gpg = gnupg.GPG(gnupghome=tmpdir.name)
- torkey = gpg.import_keys_file(os.path.join(root_path, "scripts", "kounek7zrdx745qydx6p59t9mqjpuhdf"))
+ torkey = gpg.import_keys_file(
+ os.path.join(root_path, "scripts", "tor-browser-devs.gpg")
+ )
print(f"Imported Tor GPG key: {torkey.fingerprints}")
- if platform == "win32":
- get_tor_windows(gpg, torkey, platform_url, platform_filename, expected_platform_sig)
- elif platform == "win64":
- get_tor_windows(gpg, torkey, platform_url, platform_filename, expected_platform_sig)
+ if platform == "win64":
+ get_tor_windows(
+ gpg, torkey, platform_url, platform_filename, expected_platform_sig
+ )
elif platform == "macos":
- get_tor_macos(gpg, torkey, platform_url, platform_filename, expected_platform_sig)
- elif platform == "linux64":
- get_tor_linux64(gpg, torkey, platform_url, platform_filename, expected_platform_sig)
+ get_tor_macos(
+ gpg, torkey, platform_url, platform_filename, expected_platform_sig
+ )
+ elif platform == "linux-x86_64":
+ get_tor_linux64(
+ gpg, torkey, platform_url, platform_filename, expected_platform_sig
+ )
else:
click.echo("invalid platform")
diff --git a/desktop/scripts/kounek7zrdx745qydx6p59t9mqjpuhdf b/desktop/scripts/kounek7zrdx745qydx6p59t9mqjpuhdf
deleted file mode 100644
index 8f4e9750..00000000
--- a/desktop/scripts/kounek7zrdx745qydx6p59t9mqjpuhdf
+++ /dev/null
Binary files differ
diff --git a/desktop/scripts/macos-merge-universal.py b/desktop/scripts/macos-merge-universal.py
new file mode 100755
index 00000000..d67bf957
--- /dev/null
+++ b/desktop/scripts/macos-merge-universal.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python3
+import os
+import shutil
+import click
+import subprocess
+
+
+from common import get_binary_arches
+
+
+@click.command()
+@click.argument("intel_app", type=click.Path(exists=True))
+@click.argument("silicon_app", type=click.Path(exists=True))
+@click.argument("output_app", type=click.Path(exists=False))
+def main(intel_app, silicon_app, output_app):
+ # Get the list of binaries in each app
+ print("Looking up binaries from Intel app:", intel_app)
+ intel_universal, intel_silicon, intel_intel = get_binary_arches(intel_app)
+ print("Looking up binaries from Silicon app:", silicon_app)
+ silicon_universal, silicon_silicon, silicon_intel = get_binary_arches(silicon_app)
+
+ # Find which binaries should be merged
+ intel_intel_filenames = [i[len(intel_app) + 1 :] for i in intel_intel]
+ silicon_silicon_filenames = [i[len(silicon_app) + 1 :] for i in silicon_silicon]
+ intersection = set(intel_intel_filenames).intersection(
+ set(silicon_silicon_filenames)
+ )
+
+ # Copy the Silicon app to the output app
+ print("Copying the app bundle for the output app")
+ shutil.copytree(silicon_app, output_app, symlinks=True)
+
+ # Merge them
+ for filename in intersection:
+ print(f"Merging {filename}")
+ intel_binary = os.path.join(intel_app, filename)
+ silicon_binary = os.path.join(silicon_app, filename)
+ output_binary = os.path.join(output_app, filename)
+ subprocess.run(
+ ["lipo", "-create", intel_binary, silicon_binary, "-output", output_binary]
+ )
+
+ print(f"Merge complete: {output_app}")
+
+
+if __name__ == "__main__":
+ main()
diff --git a/desktop/scripts/tor-browser-devs.gpg b/desktop/scripts/tor-browser-devs.gpg
new file mode 100644
index 00000000..96e75b85
--- /dev/null
+++ b/desktop/scripts/tor-browser-devs.gpg
Binary files differ
diff --git a/desktop/setup-freeze.py b/desktop/setup-freeze.py
index 9fea8925..fe58be9d 100644
--- a/desktop/setup-freeze.py
+++ b/desktop/setup-freeze.py
@@ -35,7 +35,7 @@ with open(os.path.join("..", "cli", "onionshare_cli", "resources", "version.txt"
version = version[0:-5]
# Build
-include_files = [(os.path.join("..", "LICENSE"), "LICENSE")]
+include_files = [(os.path.join("..", "LICENSE.txt"), "LICENSE.txt")]
if platform.system() == "Windows":
include_msvcr = True
@@ -44,22 +44,9 @@ if platform.system() == "Windows":
exec_icon = os.path.join("onionshare", "resources", "onionshare.ico")
elif platform.system() == "Darwin":
- import PySide6
- import shiboken6
-
include_msvcr = False
gui_base = None
exec_icon = None
- include_files += [
- (
- os.path.join(PySide6.__path__[0], "libpyside6.abi3.6.5.dylib"),
- "libpyside6.abi3.6.5.dylib",
- ),
- (
- os.path.join(shiboken6.__path__[0], "libshiboken6.abi3.6.5.dylib"),
- "libshiboken6.abi3.6.5.dylib",
- ),
- ]
elif platform.system() == "Linux":
include_msvcr = False
diff --git a/desktop/setup.py b/desktop/setup.py
index 7e947f51..275b6b3a 100644
--- a/desktop/setup.py
+++ b/desktop/setup.py
@@ -3,7 +3,7 @@
import setuptools
# The version must be hard-coded because Snapcraft won't have access to ../cli
-version = "2.6.1"
+version = "2.6.1-dev1"
setuptools.setup(
name="onionshare",
diff --git a/docs/build.sh b/docs/build.sh
index 2bf8eb5a..be86480c 100755
--- a/docs/build.sh
+++ b/docs/build.sh
@@ -3,7 +3,7 @@
VERSION=$(cat ../cli/onionshare_cli/resources/version.txt)
# Supported locales
-LOCALES="en el ja km es sv tr uk"
+LOCALES="en fr el pl es tr uk vi"
# Generate English .po files
make gettext
diff --git a/docs/check-weblate.py b/docs/check-weblate.py
index 76cc6942..3eb1c052 100755
--- a/docs/check-weblate.py
+++ b/docs/check-weblate.py
@@ -50,7 +50,8 @@ async def app_percent_output(percent_min, percent_max=101):
out = []
for lang_code in languages:
if (
- app_translations[lang_code] >= percent_min
+ lang_code in app_translations
+ and app_translations[lang_code] >= percent_min
and app_translations[lang_code] < percent_max
):
out.append(
@@ -110,7 +111,7 @@ async def main():
# Get the list of languages in the OnionShare project
res = await api("/api/projects/onionshare/languages/")
for obj in res:
- languages[obj["code"]] = obj["language"]
+ languages[obj["code"]] = obj["name"]
# Get the app translations for each language
for lang_code in languages:
diff --git a/docs/gettext/.doctrees/advanced.doctree b/docs/gettext/.doctrees/advanced.doctree
index f41c95dc..756cbcc1 100644
--- a/docs/gettext/.doctrees/advanced.doctree
+++ b/docs/gettext/.doctrees/advanced.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/develop.doctree b/docs/gettext/.doctrees/develop.doctree
index cee84cce..80315377 100644
--- a/docs/gettext/.doctrees/develop.doctree
+++ b/docs/gettext/.doctrees/develop.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/environment.pickle b/docs/gettext/.doctrees/environment.pickle
index 1e2199cd..c378ddc3 100644
--- a/docs/gettext/.doctrees/environment.pickle
+++ b/docs/gettext/.doctrees/environment.pickle
Binary files differ
diff --git a/docs/gettext/.doctrees/features.doctree b/docs/gettext/.doctrees/features.doctree
index 6a6a1335..78985ed5 100644
--- a/docs/gettext/.doctrees/features.doctree
+++ b/docs/gettext/.doctrees/features.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/help.doctree b/docs/gettext/.doctrees/help.doctree
index 5acfe056..5f36ea5f 100644
--- a/docs/gettext/.doctrees/help.doctree
+++ b/docs/gettext/.doctrees/help.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/index.doctree b/docs/gettext/.doctrees/index.doctree
index 033635df..7e724006 100644
--- a/docs/gettext/.doctrees/index.doctree
+++ b/docs/gettext/.doctrees/index.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/install.doctree b/docs/gettext/.doctrees/install.doctree
index a873aaca..4c5e4ccf 100644
--- a/docs/gettext/.doctrees/install.doctree
+++ b/docs/gettext/.doctrees/install.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/security.doctree b/docs/gettext/.doctrees/security.doctree
index aebf517b..e8aaa8e2 100644
--- a/docs/gettext/.doctrees/security.doctree
+++ b/docs/gettext/.doctrees/security.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/tor.doctree b/docs/gettext/.doctrees/tor.doctree
index 6baf8a43..b5d6f1c1 100644
--- a/docs/gettext/.doctrees/tor.doctree
+++ b/docs/gettext/.doctrees/tor.doctree
Binary files differ
diff --git a/docs/gettext/_static/_sphinx_javascript_frameworks_compat.js b/docs/gettext/_static/_sphinx_javascript_frameworks_compat.js
new file mode 100644
index 00000000..81415803
--- /dev/null
+++ b/docs/gettext/_static/_sphinx_javascript_frameworks_compat.js
@@ -0,0 +1,123 @@
+/* Compatability shim for jQuery and underscores.js.
+ *
+ * Copyright Sphinx contributors
+ * Released under the two clause BSD licence
+ */
+
+/**
+ * small helper function to urldecode strings
+ *
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
+ */
+jQuery.urldecode = function(x) {
+ if (!x) {
+ return x
+ }
+ return decodeURIComponent(x.replace(/\+/g, ' '));
+};
+
+/**
+ * small helper function to urlencode strings
+ */
+jQuery.urlencode = encodeURIComponent;
+
+/**
+ * This function returns the parsed url parameters of the
+ * current request. Multiple values per key are supported,
+ * it will always return arrays of strings for the value parts.
+ */
+jQuery.getQueryParameters = function(s) {
+ if (typeof s === 'undefined')
+ s = document.location.search;
+ var parts = s.substr(s.indexOf('?') + 1).split('&');
+ var result = {};
+ for (var i = 0; i < parts.length; i++) {
+ var tmp = parts[i].split('=', 2);
+ var key = jQuery.urldecode(tmp[0]);
+ var value = jQuery.urldecode(tmp[1]);
+ if (key in result)
+ result[key].push(value);
+ else
+ result[key] = [value];
+ }
+ return result;
+};
+
+/**
+ * highlight a given string on a jquery object by wrapping it in
+ * span elements with the given class name.
+ */
+jQuery.fn.highlightText = function(text, className) {
+ function highlight(node, addItems) {
+ if (node.nodeType === 3) {
+ var val = node.nodeValue;
+ var pos = val.toLowerCase().indexOf(text);
+ if (pos >= 0 &&
+ !jQuery(node.parentNode).hasClass(className) &&
+ !jQuery(node.parentNode).hasClass("nohighlight")) {
+ var span;
+ var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
+ if (isInSVG) {
+ span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+ } else {
+ span = document.createElement("span");
+ span.className = className;
+ }
+ span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+ node.parentNode.insertBefore(span, node.parentNode.insertBefore(
+ document.createTextNode(val.substr(pos + text.length)),
+ node.nextSibling));
+ node.nodeValue = val.substr(0, pos);
+ if (isInSVG) {
+ var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+ var bbox = node.parentElement.getBBox();
+ rect.x.baseVal.value = bbox.x;
+ rect.y.baseVal.value = bbox.y;
+ rect.width.baseVal.value = bbox.width;
+ rect.height.baseVal.value = bbox.height;
+ rect.setAttribute('class', className);
+ addItems.push({
+ "parent": node.parentNode,
+ "target": rect});
+ }
+ }
+ }
+ else if (!jQuery(node).is("button, select, textarea")) {
+ jQuery.each(node.childNodes, function() {
+ highlight(this, addItems);
+ });
+ }
+ }
+ var addItems = [];
+ var result = this.each(function() {
+ highlight(this, addItems);
+ });
+ for (var i = 0; i < addItems.length; ++i) {
+ jQuery(addItems[i].parent).before(addItems[i].target);
+ }
+ return result;
+};
+
+/*
+ * backward compatibility for jQuery.browser
+ * This will be supported until firefox bug is fixed.
+ */
+if (!jQuery.browser) {
+ jQuery.uaMatch = function(ua) {
+ ua = ua.toLowerCase();
+
+ var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
+ /(webkit)[ \/]([\w.]+)/.exec(ua) ||
+ /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
+ /(msie) ([\w.]+)/.exec(ua) ||
+ ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
+ [];
+
+ return {
+ browser: match[ 1 ] || "",
+ version: match[ 2 ] || "0"
+ };
+ };
+ jQuery.browser = {};
+ jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
+}
diff --git a/docs/gettext/_static/jquery.js b/docs/gettext/_static/jquery.js
new file mode 100644
index 00000000..c4c6022f
--- /dev/null
+++ b/docs/gettext/_static/jquery.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
diff --git a/docs/gettext/advanced.pot b/docs/gettext/advanced.pot
index 933a54a6..379f2c99 100644
--- a/docs/gettext/advanced.pot
+++ b/docs/gettext/advanced.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.6\n"
+"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-09 15:01-0700\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/develop.pot b/docs/gettext/develop.pot
index db0c44e7..932ea4f3 100644
--- a/docs/gettext/develop.pot
+++ b/docs/gettext/develop.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.6\n"
+"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-09 15:01-0700\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/features.pot b/docs/gettext/features.pot
index 94c9f033..5edf903f 100644
--- a/docs/gettext/features.pot
+++ b/docs/gettext/features.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.6\n"
+"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-09 15:01-0700\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/help.pot b/docs/gettext/help.pot
index 5f30a802..50c5a1ab 100644
--- a/docs/gettext/help.pot
+++ b/docs/gettext/help.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.6\n"
+"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-09 15:01-0700\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/index.pot b/docs/gettext/index.pot
index 82f9c55e..e638a268 100644
--- a/docs/gettext/index.pot
+++ b/docs/gettext/index.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.6\n"
+"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-09 15:01-0700\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/install.pot b/docs/gettext/install.pot
index c42aa378..b6dc422f 100644
--- a/docs/gettext/install.pot
+++ b/docs/gettext/install.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -145,7 +145,7 @@ msgid "Signatures"
msgstr ""
#: ../../source/install.rst:76
-msgid "You can find the signatures (as ``.asc`` files), as well as Windows, macOS, Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the folders named for each version of OnionShare. You can also find them on the `GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+msgid "You can find the signatures (as ``.asc`` files), as well as Windows, macOS, Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the folders named for each version of OnionShare. You can also find them on the `GitHub Releases page <https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
#: ../../source/install.rst:80
@@ -153,21 +153,37 @@ msgid "Verifying"
msgstr ""
#: ../../source/install.rst:82
-msgid "Once you have imported Micah's public key into your GnuPG keychain, downloaded the binary and ``.asc`` signature, you can verify the binary for macOS in a terminal like this::"
+msgid "Once you have imported Micah's public key into your GnuPG keychain, downloaded the binary and ``.asc`` signature, you can verify the binary in a terminal like this:"
msgstr ""
-#: ../../source/install.rst:86
-msgid "Or for Windows, in a command-prompt like this::"
+#: ../../source/install.rst:84
+msgid "For Windows::"
msgstr ""
-#: ../../source/install.rst:90
-msgid "The expected output looks like this::"
+#: ../../source/install.rst:88
+msgid "For macOS::"
+msgstr ""
+
+#: ../../source/install.rst:92
+msgid "For Linux::"
+msgstr ""
+
+#: ../../source/install.rst:98
+msgid "and for the source file::"
msgstr ""
#: ../../source/install.rst:102
-msgid "If you don't see ``Good signature from``, there might be a problem with the integrity of the file (malicious or otherwise), and you should not install the package. (The ``WARNING:`` shown above, is not a problem with the package, it only means you haven't defined a level of \"trust\" of Micah's (the core developer) PGP key.)"
+msgid "The expected output looks like this::"
+msgstr ""
+
+#: ../../source/install.rst:112
+msgid "If you don't see ``Good signature from``, there might be a problem with the integrity of the file (malicious or otherwise), and you should not install the package."
+msgstr ""
+
+#: ../../source/install.rst:114
+msgid "The ``WARNING:`` shown above, is not a problem with the package, it only means you haven't defined a level of \"trust\" of Micah's (the core developer) PGP key."
msgstr ""
-#: ../../source/install.rst:104
+#: ../../source/install.rst:116
msgid "If you want to learn more about verifying PGP signatures, the guides for `Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/>`_ may be useful."
msgstr ""
diff --git a/docs/gettext/security.pot b/docs/gettext/security.pot
index 99b33c4e..5951ed97 100644
--- a/docs/gettext/security.pot
+++ b/docs/gettext/security.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.6\n"
+"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-09 15:01-0700\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/sphinx.pot b/docs/gettext/sphinx.pot
index 9da63881..aa2ce5db 100644
--- a/docs/gettext/sphinx.pot
+++ b/docs/gettext/sphinx.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.6\n"
+"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-09 15:01-0700\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/tor.pot b/docs/gettext/tor.pot
index efbed9b1..f1ced161 100644
--- a/docs/gettext/tor.pot
+++ b/docs/gettext/tor.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/poetry.lock b/docs/poetry.lock
index 08173fd5..c1819e38 100644
--- a/docs/poetry.lock
+++ b/docs/poetry.lock
@@ -1,10 +1,9 @@
-# This file is automatically @generated by Poetry and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand.
[[package]]
name = "alabaster"
version = "0.7.13"
description = "A configurable sidebar-enabled Sphinx theme"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -14,144 +13,158 @@ files = [
[[package]]
name = "anyio"
-version = "3.6.2"
+version = "4.0.0"
description = "High level compatibility layer for multiple asynchronous event loop implementations"
-category = "main"
optional = false
-python-versions = ">=3.6.2"
+python-versions = ">=3.8"
files = [
- {file = "anyio-3.6.2-py3-none-any.whl", hash = "sha256:fbbe32bd270d2a2ef3ed1c5d45041250284e31fc0a4df4a5a6071842051a51e3"},
- {file = "anyio-3.6.2.tar.gz", hash = "sha256:25ea0d673ae30af41a0c442f81cf3b38c7e79fdc7b60335a4c14e05eb0947421"},
+ {file = "anyio-4.0.0-py3-none-any.whl", hash = "sha256:cfdb2b588b9fc25ede96d8db56ed50848b0b649dca3dd1df0b11f683bb9e0b5f"},
+ {file = "anyio-4.0.0.tar.gz", hash = "sha256:f7ed51751b2c2add651e5747c891b47e26d2a21be5d32d9311dfe9692f3e5d7a"},
]
[package.dependencies]
+exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""}
idna = ">=2.8"
sniffio = ">=1.1"
[package.extras]
-doc = ["packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"]
-test = ["contextlib2", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (<0.15)", "uvloop (>=0.15)"]
-trio = ["trio (>=0.16,<0.22)"]
+doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)"]
+test = ["anyio[trio]", "coverage[toml] (>=7)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"]
+trio = ["trio (>=0.22)"]
[[package]]
name = "babel"
-version = "2.12.1"
+version = "2.13.0"
description = "Internationalization utilities"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "Babel-2.12.1-py3-none-any.whl", hash = "sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610"},
- {file = "Babel-2.12.1.tar.gz", hash = "sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455"},
+ {file = "Babel-2.13.0-py3-none-any.whl", hash = "sha256:fbfcae1575ff78e26c7449136f1abbefc3c13ce542eeb13d43d50d8b047216ec"},
+ {file = "Babel-2.13.0.tar.gz", hash = "sha256:04c3e2d28d2b7681644508f836be388ae49e0cfe91465095340395b60d00f210"},
]
+[package.extras]
+dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"]
+
[[package]]
name = "certifi"
-version = "2023.5.7"
+version = "2023.7.22"
description = "Python package for providing Mozilla's CA Bundle."
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
- {file = "certifi-2023.5.7-py3-none-any.whl", hash = "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"},
- {file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"},
+ {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"},
+ {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"},
]
[[package]]
name = "charset-normalizer"
-version = "3.1.0"
+version = "3.3.0"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
-category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
- {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"},
- {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"},
+ {file = "charset-normalizer-3.3.0.tar.gz", hash = "sha256:63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:effe5406c9bd748a871dbcaf3ac69167c38d72db8c9baf3ff954c344f31c4cbe"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4162918ef3098851fcd8a628bf9b6a98d10c380725df9e04caf5ca6dd48c847a"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0570d21da019941634a531444364f2482e8db0b3425fcd5ac0c36565a64142c8"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5707a746c6083a3a74b46b3a631d78d129edab06195a92a8ece755aac25a3f3d"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:278c296c6f96fa686d74eb449ea1697f3c03dc28b75f873b65b5201806346a69"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a4b71f4d1765639372a3b32d2638197f5cd5221b19531f9245fcc9ee62d38f56"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5969baeaea61c97efa706b9b107dcba02784b1601c74ac84f2a532ea079403e"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3f93dab657839dfa61025056606600a11d0b696d79386f974e459a3fbc568ec"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:db756e48f9c5c607b5e33dd36b1d5872d0422e960145b08ab0ec7fd420e9d649"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:232ac332403e37e4a03d209a3f92ed9071f7d3dbda70e2a5e9cff1c4ba9f0678"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e5c1502d4ace69a179305abb3f0bb6141cbe4714bc9b31d427329a95acfc8bdd"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:2502dd2a736c879c0f0d3e2161e74d9907231e25d35794584b1ca5284e43f596"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23e8565ab7ff33218530bc817922fae827420f143479b753104ab801145b1d5b"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-win32.whl", hash = "sha256:1872d01ac8c618a8da634e232f24793883d6e456a66593135aeafe3784b0848d"},
+ {file = "charset_normalizer-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:557b21a44ceac6c6b9773bc65aa1b4cc3e248a5ad2f5b914b91579a32e22204d"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d7eff0f27edc5afa9e405f7165f85a6d782d308f3b6b9d96016c010597958e63"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a685067d05e46641d5d1623d7c7fdf15a357546cbb2f71b0ebde91b175ffc3e"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0d3d5b7db9ed8a2b11a774db2bbea7ba1884430a205dbd54a32d61d7c2a190fa"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2935ffc78db9645cb2086c2f8f4cfd23d9b73cc0dc80334bc30aac6f03f68f8c"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fe359b2e3a7729010060fbca442ca225280c16e923b37db0e955ac2a2b72a05"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:380c4bde80bce25c6e4f77b19386f5ec9db230df9f2f2ac1e5ad7af2caa70459"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0d1e3732768fecb052d90d62b220af62ead5748ac51ef61e7b32c266cac9293"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b2919306936ac6efb3aed1fbf81039f7087ddadb3160882a57ee2ff74fd2382"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f8888e31e3a85943743f8fc15e71536bda1c81d5aa36d014a3c0c44481d7db6e"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:82eb849f085624f6a607538ee7b83a6d8126df6d2f7d3b319cb837b289123078"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7b8b8bf1189b3ba9b8de5c8db4d541b406611a71a955bbbd7385bbc45fcb786c"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5adf257bd58c1b8632046bbe43ee38c04e1038e9d37de9c57a94d6bd6ce5da34"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c350354efb159b8767a6244c166f66e67506e06c8924ed74669b2c70bc8735b1"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-win32.whl", hash = "sha256:02af06682e3590ab952599fbadac535ede5d60d78848e555aa58d0c0abbde786"},
+ {file = "charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86d1f65ac145e2c9ed71d8ffb1905e9bba3a91ae29ba55b4c46ae6fc31d7c0d4"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3b447982ad46348c02cb90d230b75ac34e9886273df3a93eec0539308a6296d7"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:abf0d9f45ea5fb95051c8bfe43cb40cda383772f7e5023a83cc481ca2604d74e"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b09719a17a2301178fac4470d54b1680b18a5048b481cb8890e1ef820cb80455"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3d9b48ee6e3967b7901c052b670c7dda6deb812c309439adaffdec55c6d7b78"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:edfe077ab09442d4ef3c52cb1f9dab89bff02f4524afc0acf2d46be17dc479f5"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3debd1150027933210c2fc321527c2299118aa929c2f5a0a80ab6953e3bd1908"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86f63face3a527284f7bb8a9d4f78988e3c06823f7bea2bd6f0e0e9298ca0403"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:24817cb02cbef7cd499f7c9a2735286b4782bd47a5b3516a0e84c50eab44b98e"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c71f16da1ed8949774ef79f4a0260d28b83b3a50c6576f8f4f0288d109777989"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9cf3126b85822c4e53aa28c7ec9869b924d6fcfb76e77a45c44b83d91afd74f9"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:b3b2316b25644b23b54a6f6401074cebcecd1244c0b8e80111c9a3f1c8e83d65"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:03680bb39035fbcffe828eae9c3f8afc0428c91d38e7d61aa992ef7a59fb120e"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4cc152c5dd831641e995764f9f0b6589519f6f5123258ccaca8c6d34572fefa8"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-win32.whl", hash = "sha256:b8f3307af845803fb0b060ab76cf6dd3a13adc15b6b451f54281d25911eb92df"},
+ {file = "charset_normalizer-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8eaf82f0eccd1505cf39a45a6bd0a8cf1c70dcfc30dba338207a969d91b965c0"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dc45229747b67ffc441b3de2f3ae5e62877a282ea828a5bdb67883c4ee4a8810"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4a0033ce9a76e391542c182f0d48d084855b5fcba5010f707c8e8c34663d77"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ada214c6fa40f8d800e575de6b91a40d0548139e5dc457d2ebb61470abf50186"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1121de0e9d6e6ca08289583d7491e7fcb18a439305b34a30b20d8215922d43c"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1063da2c85b95f2d1a430f1c33b55c9c17ffaf5e612e10aeaad641c55a9e2b9d"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70f1d09c0d7748b73290b29219e854b3207aea922f839437870d8cc2168e31cc"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:250c9eb0f4600361dd80d46112213dff2286231d92d3e52af1e5a6083d10cad9"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:750b446b2ffce1739e8578576092179160f6d26bd5e23eb1789c4d64d5af7dc7"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:fc52b79d83a3fe3a360902d3f5d79073a993597d48114c29485e9431092905d8"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:588245972aca710b5b68802c8cad9edaa98589b1b42ad2b53accd6910dad3545"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e39c7eb31e3f5b1f88caff88bcff1b7f8334975b46f6ac6e9fc725d829bc35d4"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-win32.whl", hash = "sha256:abecce40dfebbfa6abf8e324e1860092eeca6f7375c8c4e655a8afb61af58f2c"},
+ {file = "charset_normalizer-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:24a91a981f185721542a0b7c92e9054b7ab4fea0508a795846bc5b0abf8118d4"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:67b8cc9574bb518ec76dc8e705d4c39ae78bb96237cb533edac149352c1f39fe"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac71b2977fb90c35d41c9453116e283fac47bb9096ad917b8819ca8b943abecd"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3ae38d325b512f63f8da31f826e6cb6c367336f95e418137286ba362925c877e"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:542da1178c1c6af8873e143910e2269add130a299c9106eef2594e15dae5e482"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30a85aed0b864ac88309b7d94be09f6046c834ef60762a8833b660139cfbad13"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aae32c93e0f64469f74ccc730a7cb21c7610af3a775157e50bbd38f816536b38"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b26ddf78d57f1d143bdf32e820fd8935d36abe8a25eb9ec0b5a71c82eb3895"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f5d10bae5d78e4551b7be7a9b29643a95aded9d0f602aa2ba584f0388e7a557"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:249c6470a2b60935bafd1d1d13cd613f8cd8388d53461c67397ee6a0f5dce741"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c5a74c359b2d47d26cdbbc7845e9662d6b08a1e915eb015d044729e92e7050b7"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:b5bcf60a228acae568e9911f410f9d9e0d43197d030ae5799e20dca8df588287"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:187d18082694a29005ba2944c882344b6748d5be69e3a89bf3cc9d878e548d5a"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:81bf654678e575403736b85ba3a7867e31c2c30a69bc57fe88e3ace52fb17b89"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-win32.whl", hash = "sha256:85a32721ddde63c9df9ebb0d2045b9691d9750cb139c161c80e500d210f5e26e"},
+ {file = "charset_normalizer-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:468d2a840567b13a590e67dd276c570f8de00ed767ecc611994c301d0f8c014f"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e0fc42822278451bc13a2e8626cf2218ba570f27856b536e00cfa53099724828"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:09c77f964f351a7369cc343911e0df63e762e42bac24cd7d18525961c81754f4"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12ebea541c44fdc88ccb794a13fe861cc5e35d64ed689513a5c03d05b53b7c82"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:805dfea4ca10411a5296bcc75638017215a93ffb584c9e344731eef0dcfb026a"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:96c2b49eb6a72c0e4991d62406e365d87067ca14c1a729a870d22354e6f68115"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aaf7b34c5bc56b38c931a54f7952f1ff0ae77a2e82496583b247f7c969eb1479"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:619d1c96099be5823db34fe89e2582b336b5b074a7f47f819d6b3a57ff7bdb86"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0ac5e7015a5920cfce654c06618ec40c33e12801711da6b4258af59a8eff00a"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:93aa7eef6ee71c629b51ef873991d6911b906d7312c6e8e99790c0f33c576f89"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7966951325782121e67c81299a031f4c115615e68046f79b85856b86ebffc4cd"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:02673e456dc5ab13659f85196c534dc596d4ef260e4d86e856c3b2773ce09843"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:c2af80fb58f0f24b3f3adcb9148e6203fa67dd3f61c4af146ecad033024dde43"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:153e7b6e724761741e0974fc4dcd406d35ba70b92bfe3fedcb497226c93b9da7"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-win32.whl", hash = "sha256:d47ecf253780c90ee181d4d871cd655a789da937454045b17b5798da9393901a"},
+ {file = "charset_normalizer-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:d97d85fa63f315a8bdaba2af9a6a686e0eceab77b3089af45133252618e70884"},
+ {file = "charset_normalizer-3.3.0-py3-none-any.whl", hash = "sha256:e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2"},
]
[[package]]
name = "click"
-version = "8.1.3"
+version = "8.1.7"
description = "Composable command line interface toolkit"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"},
- {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"},
+ {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"},
+ {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"},
]
[package.dependencies]
@@ -161,7 +174,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""}
name = "colorama"
version = "0.4.6"
description = "Cross-platform colored terminal text."
-category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
files = [
@@ -173,7 +185,6 @@ files = [
name = "docutils"
version = "0.18.1"
description = "Docutils -- Python Documentation Utilities"
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
files = [
@@ -182,10 +193,23 @@ files = [
]
[[package]]
+name = "exceptiongroup"
+version = "1.1.3"
+description = "Backport of PEP 654 (exception groups)"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"},
+ {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"},
+]
+
+[package.extras]
+test = ["pytest (>=6)"]
+
+[[package]]
name = "h11"
version = "0.14.0"
description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -195,55 +219,52 @@ files = [
[[package]]
name = "httpcore"
-version = "0.17.1"
+version = "0.18.0"
description = "A minimal low-level HTTP client."
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "httpcore-0.17.1-py3-none-any.whl", hash = "sha256:628e768aaeec1f7effdc6408ba1c3cdbd7487c1fc570f7d66844ec4f003e1ca4"},
- {file = "httpcore-0.17.1.tar.gz", hash = "sha256:caf508597c525f9b8bfff187e270666309f63115af30f7d68b16143a403c8356"},
+ {file = "httpcore-0.18.0-py3-none-any.whl", hash = "sha256:adc5398ee0a476567bf87467063ee63584a8bce86078bf748e48754f60202ced"},
+ {file = "httpcore-0.18.0.tar.gz", hash = "sha256:13b5e5cd1dca1a6636a6aaea212b19f4f85cd88c366a2b82304181b769aab3c9"},
]
[package.dependencies]
anyio = ">=3.0,<5.0"
certifi = "*"
h11 = ">=0.13,<0.15"
-sniffio = ">=1.0.0,<2.0.0"
+sniffio = "==1.*"
[package.extras]
http2 = ["h2 (>=3,<5)"]
-socks = ["socksio (>=1.0.0,<2.0.0)"]
+socks = ["socksio (==1.*)"]
[[package]]
name = "httpx"
-version = "0.24.1"
+version = "0.25.0"
description = "The next generation HTTP client."
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "httpx-0.24.1-py3-none-any.whl", hash = "sha256:06781eb9ac53cde990577af654bd990a4949de37a28bdb4a230d434f3a30b9bd"},
- {file = "httpx-0.24.1.tar.gz", hash = "sha256:5853a43053df830c20f8110c5e69fe44d035d850b2dfe795e196f00fdb774bdd"},
+ {file = "httpx-0.25.0-py3-none-any.whl", hash = "sha256:181ea7f8ba3a82578be86ef4171554dd45fec26a02556a744db029a0a27b7100"},
+ {file = "httpx-0.25.0.tar.gz", hash = "sha256:47ecda285389cb32bb2691cc6e069e3ab0205956f681c5b2ad2325719751d875"},
]
[package.dependencies]
certifi = "*"
-httpcore = ">=0.15.0,<0.18.0"
+httpcore = ">=0.18.0,<0.19.0"
idna = "*"
sniffio = "*"
[package.extras]
brotli = ["brotli", "brotlicffi"]
-cli = ["click (>=8.0.0,<9.0.0)", "pygments (>=2.0.0,<3.0.0)", "rich (>=10,<14)"]
+cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"]
http2 = ["h2 (>=3,<5)"]
-socks = ["socksio (>=1.0.0,<2.0.0)"]
+socks = ["socksio (==1.*)"]
[[package]]
name = "idna"
version = "3.4"
description = "Internationalized Domain Names in Applications (IDNA)"
-category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -255,7 +276,6 @@ files = [
name = "imagesize"
version = "1.4.1"
description = "Getting image size from png/jpeg/jpeg2000/gif file"
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -265,14 +285,13 @@ files = [
[[package]]
name = "importlib-metadata"
-version = "6.6.0"
+version = "6.8.0"
description = "Read metadata from Python packages"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "importlib_metadata-6.6.0-py3-none-any.whl", hash = "sha256:43dd286a2cd8995d5eaef7fee2066340423b818ed3fd70adf0bad5f1fac53fed"},
- {file = "importlib_metadata-6.6.0.tar.gz", hash = "sha256:92501cdf9cc66ebd3e612f1b4f0c0765dfa42f0fa38ffb319b6bd84dd675d705"},
+ {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"},
+ {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"},
]
[package.dependencies]
@@ -281,13 +300,12 @@ zipp = ">=0.5"
[package.extras]
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
perf = ["ipython"]
-testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"]
+testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
[[package]]
name = "jinja2"
version = "3.1.2"
description = "A very fast and expressive template engine."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -303,86 +321,93 @@ i18n = ["Babel (>=2.7)"]
[[package]]
name = "markupsafe"
-version = "2.1.2"
+version = "2.1.3"
description = "Safely add untrusted strings to HTML/XML markup."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"},
- {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"},
+ {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"},
]
[[package]]
name = "packaging"
-version = "23.1"
+version = "23.2"
description = "Core utilities for Python packages"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"},
- {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"},
+ {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"},
+ {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"},
]
[[package]]
name = "pygments"
-version = "2.15.1"
+version = "2.16.1"
description = "Pygments is a syntax highlighting package written in Python."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "Pygments-2.15.1-py3-none-any.whl", hash = "sha256:db2db3deb4b4179f399a09054b023b6a586b76499d36965813c71aa8ed7b5fd1"},
- {file = "Pygments-2.15.1.tar.gz", hash = "sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c"},
+ {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"},
+ {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"},
]
[package.extras]
@@ -392,7 +417,6 @@ plugins = ["importlib-metadata"]
name = "requests"
version = "2.31.0"
description = "Python HTTP for Humans."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -412,26 +436,24 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
[[package]]
name = "setuptools"
-version = "67.8.0"
+version = "68.2.2"
description = "Easily download, build, install, upgrade, and uninstall Python packages"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "setuptools-67.8.0-py3-none-any.whl", hash = "sha256:5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f"},
- {file = "setuptools-67.8.0.tar.gz", hash = "sha256:62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102"},
+ {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"},
+ {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"},
]
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
-testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
-testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
+testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
+testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
[[package]]
name = "sniffio"
version = "1.3.0"
description = "Sniff out which async library your code is running under"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -443,7 +465,6 @@ files = [
name = "snowballstemmer"
version = "2.2.0"
description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms."
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -453,26 +474,25 @@ files = [
[[package]]
name = "sphinx"
-version = "6.2.1"
+version = "7.2.6"
description = "Python documentation generator"
-category = "main"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "Sphinx-6.2.1.tar.gz", hash = "sha256:6d56a34697bb749ffa0152feafc4b19836c755d90a7c59b72bc7dfd371b9cc6b"},
- {file = "sphinx-6.2.1-py3-none-any.whl", hash = "sha256:97787ff1fa3256a3eef9eda523a63dbf299f7b47e053cfcf684a1c2a8380c912"},
+ {file = "sphinx-7.2.6-py3-none-any.whl", hash = "sha256:1e09160a40b956dc623c910118fa636da93bd3ca0b9876a7b3df90f07d691560"},
+ {file = "sphinx-7.2.6.tar.gz", hash = "sha256:9a5160e1ea90688d5963ba09a2dcd8bdd526620edbb65c328728f1b2228d5ab5"},
]
[package.dependencies]
alabaster = ">=0.7,<0.8"
babel = ">=2.9"
colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""}
-docutils = ">=0.18.1,<0.20"
+docutils = ">=0.18.1,<0.21"
imagesize = ">=1.3"
importlib-metadata = {version = ">=4.8", markers = "python_version < \"3.10\""}
Jinja2 = ">=3.0"
packaging = ">=21.0"
-Pygments = ">=2.13"
+Pygments = ">=2.14"
requests = ">=2.25.0"
snowballstemmer = ">=2.0"
sphinxcontrib-applehelp = "*"
@@ -480,18 +500,17 @@ sphinxcontrib-devhelp = "*"
sphinxcontrib-htmlhelp = ">=2.0.0"
sphinxcontrib-jsmath = "*"
sphinxcontrib-qthelp = "*"
-sphinxcontrib-serializinghtml = ">=1.1.5"
+sphinxcontrib-serializinghtml = ">=1.1.9"
[package.extras]
docs = ["sphinxcontrib-websupport"]
lint = ["docutils-stubs", "flake8 (>=3.5.0)", "flake8-simplify", "isort", "mypy (>=0.990)", "ruff", "sphinx-lint", "types-requests"]
-test = ["cython", "filelock", "html5lib", "pytest (>=4.6)"]
+test = ["cython (>=3.0)", "filelock", "html5lib", "pytest (>=4.6)", "setuptools (>=67.0)"]
[[package]]
name = "sphinx-intl"
version = "2.1.0"
description = "Sphinx utility that make it easy to translate and to apply translation."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -510,68 +529,73 @@ test = ["mock", "pytest", "six"]
[[package]]
name = "sphinx-rtd-theme"
-version = "1.2.0"
+version = "1.3.0"
description = "Read the Docs theme for Sphinx"
-category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
files = [
- {file = "sphinx_rtd_theme-1.2.0-py2.py3-none-any.whl", hash = "sha256:f823f7e71890abe0ac6aaa6013361ea2696fc8d3e1fa798f463e82bdb77eeff2"},
- {file = "sphinx_rtd_theme-1.2.0.tar.gz", hash = "sha256:a0d8bd1a2ed52e0b338cbe19c4b2eef3c5e7a048769753dac6a9f059c7b641b8"},
+ {file = "sphinx_rtd_theme-1.3.0-py2.py3-none-any.whl", hash = "sha256:46ddef89cc2416a81ecfbeaceab1881948c014b1b6e4450b815311a89fb977b0"},
+ {file = "sphinx_rtd_theme-1.3.0.tar.gz", hash = "sha256:590b030c7abb9cf038ec053b95e5380b5c70d61591eb0b552063fbe7c41f0931"},
]
[package.dependencies]
docutils = "<0.19"
-sphinx = ">=1.6,<7"
-sphinxcontrib-jquery = {version = ">=2.0.0,<3.0.0 || >3.0.0", markers = "python_version > \"3\""}
+sphinx = ">=1.6,<8"
+sphinxcontrib-jquery = ">=4,<5"
[package.extras]
dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client", "wheel"]
[[package]]
name = "sphinxcontrib-applehelp"
-version = "1.0.4"
+version = "1.0.7"
description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books"
-category = "main"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "sphinxcontrib-applehelp-1.0.4.tar.gz", hash = "sha256:828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e"},
- {file = "sphinxcontrib_applehelp-1.0.4-py3-none-any.whl", hash = "sha256:29d341f67fb0f6f586b23ad80e072c8e6ad0b48417db2bde114a4c9746feb228"},
+ {file = "sphinxcontrib_applehelp-1.0.7-py3-none-any.whl", hash = "sha256:094c4d56209d1734e7d252f6e0b3ccc090bd52ee56807a5d9315b19c122ab15d"},
+ {file = "sphinxcontrib_applehelp-1.0.7.tar.gz", hash = "sha256:39fdc8d762d33b01a7d8f026a3b7d71563ea3b72787d5f00ad8465bd9d6dfbfa"},
]
+[package.dependencies]
+Sphinx = ">=5"
+
[package.extras]
lint = ["docutils-stubs", "flake8", "mypy"]
test = ["pytest"]
[[package]]
name = "sphinxcontrib-devhelp"
-version = "1.0.2"
-description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document."
-category = "main"
+version = "1.0.5"
+description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents"
optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.9"
files = [
- {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"},
- {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"},
+ {file = "sphinxcontrib_devhelp-1.0.5-py3-none-any.whl", hash = "sha256:fe8009aed765188f08fcaadbb3ea0d90ce8ae2d76710b7e29ea7d047177dae2f"},
+ {file = "sphinxcontrib_devhelp-1.0.5.tar.gz", hash = "sha256:63b41e0d38207ca40ebbeabcf4d8e51f76c03e78cd61abe118cf4435c73d4212"},
]
+[package.dependencies]
+Sphinx = ">=5"
+
[package.extras]
lint = ["docutils-stubs", "flake8", "mypy"]
test = ["pytest"]
[[package]]
name = "sphinxcontrib-htmlhelp"
-version = "2.0.1"
+version = "2.0.4"
description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files"
-category = "main"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "sphinxcontrib-htmlhelp-2.0.1.tar.gz", hash = "sha256:0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff"},
- {file = "sphinxcontrib_htmlhelp-2.0.1-py3-none-any.whl", hash = "sha256:c38cb46dccf316c79de6e5515e1770414b797162b23cd3d06e67020e1d2a6903"},
+ {file = "sphinxcontrib_htmlhelp-2.0.4-py3-none-any.whl", hash = "sha256:8001661c077a73c29beaf4a79968d0726103c5605e27db92b9ebed8bab1359e9"},
+ {file = "sphinxcontrib_htmlhelp-2.0.4.tar.gz", hash = "sha256:6c26a118a05b76000738429b724a0568dbde5b72391a688577da08f11891092a"},
]
+[package.dependencies]
+Sphinx = ">=5"
+
[package.extras]
lint = ["docutils-stubs", "flake8", "mypy"]
test = ["html5lib", "pytest"]
@@ -580,7 +604,6 @@ test = ["html5lib", "pytest"]
name = "sphinxcontrib-jquery"
version = "4.1"
description = "Extension to include jQuery on newer Sphinx releases"
-category = "main"
optional = false
python-versions = ">=2.7"
files = [
@@ -595,7 +618,6 @@ Sphinx = ">=1.8"
name = "sphinxcontrib-jsmath"
version = "1.0.1"
description = "A sphinx extension which renders display math in HTML via JavaScript"
-category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -608,46 +630,49 @@ test = ["flake8", "mypy", "pytest"]
[[package]]
name = "sphinxcontrib-qthelp"
-version = "1.0.3"
-description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document."
-category = "main"
+version = "1.0.6"
+description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents"
optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.9"
files = [
- {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"},
- {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"},
+ {file = "sphinxcontrib_qthelp-1.0.6-py3-none-any.whl", hash = "sha256:bf76886ee7470b934e363da7a954ea2825650013d367728588732c7350f49ea4"},
+ {file = "sphinxcontrib_qthelp-1.0.6.tar.gz", hash = "sha256:62b9d1a186ab7f5ee3356d906f648cacb7a6bdb94d201ee7adf26db55092982d"},
]
+[package.dependencies]
+Sphinx = ">=5"
+
[package.extras]
lint = ["docutils-stubs", "flake8", "mypy"]
test = ["pytest"]
[[package]]
name = "sphinxcontrib-serializinghtml"
-version = "1.1.5"
-description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)."
-category = "main"
+version = "1.1.9"
+description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)"
optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.9"
files = [
- {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"},
- {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"},
+ {file = "sphinxcontrib_serializinghtml-1.1.9-py3-none-any.whl", hash = "sha256:9b36e503703ff04f20e9675771df105e58aa029cfcbc23b8ed716019b7416ae1"},
+ {file = "sphinxcontrib_serializinghtml-1.1.9.tar.gz", hash = "sha256:0c64ff898339e1fac29abd2bf5f11078f3ec413cfe9c046d3120d7ca65530b54"},
]
+[package.dependencies]
+Sphinx = ">=5"
+
[package.extras]
lint = ["docutils-stubs", "flake8", "mypy"]
test = ["pytest"]
[[package]]
name = "urllib3"
-version = "2.0.2"
+version = "2.0.7"
description = "HTTP library with thread-safe connection pooling, file post, and more."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "urllib3-2.0.2-py3-none-any.whl", hash = "sha256:d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"},
- {file = "urllib3-2.0.2.tar.gz", hash = "sha256:61717a1095d7e155cdb737ac7bb2f4324a858a1e2e6466f6d03ff630ca68d3cc"},
+ {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"},
+ {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"},
]
[package.extras]
@@ -658,19 +683,18 @@ zstd = ["zstandard (>=0.18.0)"]
[[package]]
name = "zipp"
-version = "3.15.0"
+version = "3.17.0"
description = "Backport of pathlib-compatible object wrapper for zip files"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"},
- {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"},
+ {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"},
+ {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"},
]
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
+testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"]
[metadata]
lock-version = "2.0"
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 5b1cd57a..165e3e7b 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -8,20 +8,21 @@ exclude_patterns = []
languages = [
("English", "en"), # English
- # ("Français", "fr"), # French
+ ("Français", "fr"), # French
# ("Deutsch", "de"), # German
("Ελληνικά", "el"), # Greek
# ("Italiano", "it"), # Italian
- ("日本語", "ja"), # Japanese
- ("ភាសាខ្មែរ", "km"), # Khmer (Central)
+ # ("日本語", "ja"), # Japanese
+ # ("ភាសាខ្មែរ", "km"), # Khmer (Central)
# ("Norsk Bokmål", "nb_NO"), # Norwegian Bokmål
- # ("Polish", "pl"), # Polish
+ ("Polish", "pl"), # Polish
# ("Portuguese (Brazil)", "pt_BR"), # Portuguese (Brazil))
# ("Русский", "ru"), # Russian
("Español", "es"), # Spanish
- ("Svenska", "sv"), # Swedish
+ # ("Svenska", "sv"), # Swedish
("Türkçe", "tr"), # Turkish
("Українська", "uk"), # Ukrainian
+ ("Tiếng Việt", "vi"), # Vietnamese
]
versions = ["2.3", "2.3.1", "2.3.2", "2.3.3", "2.4", "2.5", "2.6", "2.6.1"]
diff --git a/docs/source/install.rst b/docs/source/install.rst
index 7243680d..0ba3c0db 100644
--- a/docs/source/install.rst
+++ b/docs/source/install.rst
@@ -8,6 +8,21 @@ You can download OnionShare for Windows and macOS from the `OnionShare website <
.. _linux:
+Mobile
+----------------
+
+You can download OnionShare for Mobile from the follow links
+
+* Android
+ * Google Play: https://play.google.com/store/apps/details?id=org.onionshare.android
+ * F-Droid: https://github.com/onionshare/onionshare-android-nightly
+
+* iOS
+ * Apple App Store: https://apps.apple.com/app/onionshare/id1601890129
+ * Direct IPA download: https://github.com/onionshare/onionshare-ios/releases
+ * Testflight: https://testflight.apple.com/join/ZCJeY65W
+
+
Linux
-----
@@ -54,6 +69,40 @@ Command-line only
You can install just the command-line version of OnionShare on any operating system using the Python package manager ``pip``. :ref:`cli` has more info.
+.. _freebsd:
+
+FreeBSD
+-------
+
+Althought not being officially developed for this platform, OnionShare can also be installed on `FreeBSD <https://freebsd.org/>`_. It's available via its ports collection or as pre-built package. Should you opt to install and use OnionShare on a FreeBSD operating system, please be aware that it's **NOT** officially supported by the OnionShare project.
+
+Though not being offered and officially maintained by the OnionShare developers, the FreeBSD packages and ports do fetch and verifies the source codes from the official OnionShare repository (or its official release packages from `PyPI <https://pypi.org/project/onionshare-cli/>`_). Should you wish to check changes related to this platform, please refer to the following resources:
+
+- https://cgit.freebsd.org/ports/log/www/onionshare
+- https://www.freshports.org/www/onionshare
+
+Manual pkg Installation
+^^^^^^^^^^^^^^^^^^^^^^^
+
+To install the binary package, use ``pkg install pyXY-onionshare``, with ``pyXY`` specifying the version of Python the package was built for. So, in order to install OnionShare for Python 3.9, use::
+
+ pkg install py39-onionshare
+
+There's also a **Command-line only** version of OnionShare available as pre-built package. Replace ``py39-onionshare`` by ``py39-onionshare-cli`` if you want to install that version.
+
+For additional information and details about the FreeBSD pre-built packages, please refer to its `official Handbook section about pkg <https://docs.freebsd.org/en/books/handbook/ports/#pkgng-intro>`_.
+
+Manual port Installation
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+To install the FreeBSD port, change directory to the `ports collection <https://freebsd.org/ports/>`_ you must have checked out before and run the following::
+
+ make -s -C www/onionshare all install clean
+
+The ports collection also offers a dedicated port for the **Command-line only** version of OnionShare. Replace ``www/onionshare`` by ``www/onionshare-cli`` if you want to install that version.
+
+For additional information and details about the FreeBSD ports collection, please refer to its `official Handbook section about ports <https://docs.freebsd.org/en/books/handbook/ports/#ports-using>`_.
+
.. _verifying_sigs:
Verifying PGP signatures
diff --git a/docs/source/locale/be/LC_MESSAGES/install.po b/docs/source/locale/be/LC_MESSAGES/install.po
index 060f6797..829f24e3 100644
--- a/docs/source/locale/be/LC_MESSAGES/install.po
+++ b/docs/source/locale/be/LC_MESSAGES/install.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.6.1\n"
-"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
"PO-Revision-Date: 2023-11-20 16:03+0000\n"
"Last-Translator: kopatych <maxklezovich@gmail.com>\n"
@@ -35,7 +35,7 @@ msgstr ""
#: ../../source/install.rst:12
msgid "Linux"
-msgstr "Linux"
+msgstr ""
#: ../../source/install.rst:14
msgid "There are various ways to install OnionShare for Linux, but the recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snapcraft ensure that you'll always use the newest version and run OnionShare inside of a sandbox."
diff --git a/docs/source/locale/bg/LC_MESSAGES/index.po b/docs/source/locale/bg/LC_MESSAGES/index.po
index ad397d20..73419975 100644
--- a/docs/source/locale/bg/LC_MESSAGES/index.po
+++ b/docs/source/locale/bg/LC_MESSAGES/index.po
@@ -8,15 +8,15 @@ msgstr ""
"Project-Id-Version: OnionShare 2.5\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2022-01-17 10:28-0800\n"
-"PO-Revision-Date: 2023-09-17 21:00+0000\n"
-"Last-Translator: 109247019824 <stoyan@gmx.com>\n"
+"PO-Revision-Date: 2023-08-05 22:50+0000\n"
+"Last-Translator: Salif Mehmed <mail@salif.eu>\n"
"Language-Team: none\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.0.2\n"
+"X-Generator: Weblate 5.0-dev\n"
#: ../../source/index.rst:2
msgid "OnionShare's documentation"
diff --git a/docs/source/locale/bg/LC_MESSAGES/install.po b/docs/source/locale/bg/LC_MESSAGES/install.po
index b15a3c2f..4c1a17c3 100644
--- a/docs/source/locale/bg/LC_MESSAGES/install.po
+++ b/docs/source/locale/bg/LC_MESSAGES/install.po
@@ -6,10 +6,10 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.5\n"
-"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
-"PO-Revision-Date: 2023-10-17 14:10+0000\n"
-"Last-Translator: 109247019824 <stoyan@gmx.com>\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
@@ -130,7 +130,7 @@ msgstr ""
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
-msgstr "Ръчна инсталация от Snapcraft"
+msgstr ""
#: ../../source/install.rst:41
msgid ""
diff --git a/docs/source/locale/bg/LC_MESSAGES/sphinx.po b/docs/source/locale/bg/LC_MESSAGES/sphinx.po
index da5a6c64..e4ebde1b 100644
--- a/docs/source/locale/bg/LC_MESSAGES/sphinx.po
+++ b/docs/source/locale/bg/LC_MESSAGES/sphinx.po
@@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: OnionShare 2.5\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2022-10-09 15:01-0700\n"
-"PO-Revision-Date: 2023-10-17 14:10+0000\n"
-"Last-Translator: 109247019824 <stoyan@gmx.com>\n"
+"PO-Revision-Date: 2023-08-05 22:50+0000\n"
+"Last-Translator: Salif Mehmed <mail@salif.eu>\n"
"Language-Team: none\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.1\n"
+"X-Generator: Weblate 5.0-dev\n"
#: ../../source/_templates/versions.html:10
msgid "Versions"
-msgstr "Издания"
+msgstr "Версии"
#: ../../source/_templates/versions.html:18
msgid "Languages"
diff --git a/docs/source/locale/bg/LC_MESSAGES/tor.po b/docs/source/locale/bg/LC_MESSAGES/tor.po
index ef8cef5c..53fa9425 100644
--- a/docs/source/locale/bg/LC_MESSAGES/tor.po
+++ b/docs/source/locale/bg/LC_MESSAGES/tor.po
@@ -6,10 +6,10 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.5\n"
-"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
-"PO-Revision-Date: 2023-09-10 18:33+0000\n"
-"Last-Translator: 109247019824 <stoyan@gmx.com>\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/docs/source/locale/ca/LC_MESSAGES/install.po b/docs/source/locale/ca/LC_MESSAGES/install.po
index a68587b4..535743be 100644
--- a/docs/source/locale/ca/LC_MESSAGES/install.po
+++ b/docs/source/locale/ca/LC_MESSAGES/install.po
@@ -6,17 +6,16 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
-"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
-"PO-Revision-Date: 2023-09-07 08:51+0000\n"
-"Last-Translator: Ecron <ecron_89@hotmail.com>\n"
+"PO-Revision-Date: 2020-11-25 18:28+0000\n"
+"Last-Translator: fadelkon <fadelkon@posteo.net>\n"
"Language-Team: ca <LL@li.org>\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.0.1-dev\n"
+"Plural-Forms: nplurals=2; plural=n != 1\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/install.rst:2
@@ -35,7 +34,7 @@ msgstr ""
#: ../../source/install.rst:12
msgid "Linux"
-msgstr "Linux"
+msgstr ""
#: ../../source/install.rst:14
msgid ""
diff --git a/docs/source/locale/el/LC_MESSAGES/install.po b/docs/source/locale/el/LC_MESSAGES/install.po
index ca1854c8..f9842714 100644
--- a/docs/source/locale/el/LC_MESSAGES/install.po
+++ b/docs/source/locale/el/LC_MESSAGES/install.po
@@ -7,17 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: 2023-06-14 17:22+0000\n"
"Last-Translator: george kitsoukakis <norhorn@gmail.com>\n"
-"Language-Team: el <LL@li.org>\n"
"Language: el\n"
+"Language-Team: el <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.18-dev\n"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/install.rst:2
msgid "Installation"
@@ -41,16 +40,18 @@ msgstr "Linux"
#: ../../source/install.rst:14
msgid ""
-"There are various ways to install OnionShare for Linux, but the recommended "
-"way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap "
-"<https://snapcraft.io/>`_ package. Flatpak and Snapcraft ensure that you'll "
-"always use the newest version and run OnionShare inside of a sandbox."
+"There are various ways to install OnionShare for Linux, but the "
+"recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or"
+" the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snapcraft "
+"ensure that you'll always use the newest version and run OnionShare "
+"inside of a sandbox."
msgstr ""
-"Υπάρχουν αρκετοί τρόποι εγκατάστασης του OnionShare σε Linux. Ο προτιμότερος "
-"τρόπος είναι η εγκατάσταση μέσω του `Flatpak <https://flatpak.org/>`_ ή του "
-"πακέτου `Snap <https://snapcraft.io/>`_. Οι τεχνολογίες Flatpak και "
-"Snapcraft διασφαλίζουν ότι χρησιμοποιείται πάντα η νεότερη έκδοση και ότι το "
-"OnionShare θα εκτελείται μέσα σε sandbox."
+"Υπάρχουν αρκετοί τρόποι εγκατάστασης του OnionShare σε Linux. Ο "
+"προτιμότερος τρόπος είναι η εγκατάσταση μέσω του `Flatpak "
+"<https://flatpak.org/>`_ ή του πακέτου `Snap <https://snapcraft.io/>`_. "
+"Οι τεχνολογίες Flatpak και Snapcraft διασφαλίζουν ότι χρησιμοποιείται "
+"πάντα η νεότερη έκδοση και ότι το OnionShare θα εκτελείται μέσα σε "
+"sandbox."
#: ../../source/install.rst:17
msgid ""
@@ -64,25 +65,25 @@ msgstr ""
#: ../../source/install.rst:19
msgid ""
-"**Install OnionShare using Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Install OnionShare using Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
msgstr ""
-"**Εγκατάσταση του OnionShare με χρήση του Flatpak**: https://flathub.org/"
-"apps/details/org.onionshare.OnionShare"
+"**Εγκατάσταση του OnionShare με χρήση του Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
#: ../../source/install.rst:21
msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
msgstr ""
-"**Εγκατάσταση του OnionShare με χρήση του Snapcraft**: https://snapcraft.io/"
-"onionshare"
+"**Εγκατάσταση του OnionShare με χρήση του Snapcraft**: "
+"https://snapcraft.io/onionshare"
#: ../../source/install.rst:23
msgid ""
"You can also download and install PGP-signed ``.flatpak`` or ``.snap`` "
"packages from https://onionshare.org/dist/ if you prefer."
msgstr ""
-"Μπορείτε να κάνετε λήψη και εγκατάσταση ενός πακέτου PGP-signed ``.flatpak`` "
-"ή ``.snap`` από https://onionshare.org/dist/ εάν επιθυμείτε."
+"Μπορείτε να κάνετε λήψη και εγκατάσταση ενός πακέτου PGP-signed "
+"``.flatpak`` ή ``.snap`` από https://onionshare.org/dist/ εάν επιθυμείτε."
#: ../../source/install.rst:26
msgid "Manual Flatpak Installation"
@@ -91,44 +92,48 @@ msgstr "Μη αυτόματη εγκατάσταση Flatpak"
#: ../../source/install.rst:28
msgid ""
"If you'd like to install OnionShare manually with Flatpak using the PGP-"
-"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
-"bundles.html>`_, you can do so like this:"
+"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-"
+"file-bundles.html>`_, you can do so like this:"
msgstr ""
"Αν θέλετε να εγκαταστήσετε το OnionShare χειροκίνητα με το Flatpak "
-"χρησιμοποιώντας το υπογεγραμμένο πακέτο αρχείου PGP `<https://docs.flatpak."
-"org/en/latest/single-file-bundles.html>`_, μπορείτε να το κάνετε ως εξής:"
+"χρησιμοποιώντας το υπογεγραμμένο πακέτο αρχείου PGP "
+"`<https://docs.flatpak.org/en/latest/single-file-bundles.html>`_, "
+"μπορείτε να το κάνετε ως εξής:"
-#: ../../source/install.rst:30
+#: ../../source/install.rst:55
msgid ""
-"Install Flatpak by following the instructions at https://flatpak.org/setup/."
+"Install Flatpak by following the instructions at "
+"https://flatpak.org/setup/."
msgstr ""
"Εγκαταστήστε το Flatpak ακολουθώντας τις οδηγίες στη διεύθυνση "
"https://flatpak.org/setup/."
#: ../../source/install.rst:31
msgid ""
-"Add the Flathub repository by running ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Even though you "
-"won't be downloading OnionShare from Flathub, OnionShare depends on some "
-"packages that are only available there."
+"Add the Flathub repository by running ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Even "
+"though you won't be downloading OnionShare from Flathub, OnionShare "
+"depends on some packages that are only available there."
msgstr ""
-"Προσθέστε το αποθετήριο Flathub εκτελώντας την εντολή ``flatpak remote-add "
-"--if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo``. "
-"Παρόλο που δε θα κατεβάσετε το OnionShare από το Flathub, το OnionShare "
-"εξαρτάται από κάποια πακέτα που είναι διαθέσιμα μόνο εκεί."
+"Προσθέστε το αποθετήριο Flathub εκτελώντας την εντολή ``flatpak remote-"
+"add --if-not-exists flathub "
+"https://flathub.org/repo/flathub.flatpakrepo``. Παρόλο που δε θα "
+"κατεβάσετε το OnionShare από το Flathub, το OnionShare εξαρτάται από "
+"κάποια πακέτα που είναι διαθέσιμα μόνο εκεί."
#: ../../source/install.rst:32
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.flatpak`` and ``.flatpak.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.flatpak`` and ``.flatpak.asc`` files."
msgstr ""
-"Μεταβείτε στο https://onionshare.org/dist/, επιλέξτε την τελευταία έκδοση "
-"του OnionShare και κατεβάστε τα αρχεία ``.flatpak`` και ``.flatpak.asc``."
+"Μεταβείτε στο https://onionshare.org/dist/, επιλέξτε την τελευταία έκδοση"
+" του OnionShare και κατεβάστε τα αρχεία ``.flatpak`` και "
+"``.flatpak.asc``."
#: ../../source/install.rst:33
msgid ""
-"Verify the PGP signature of the ``.flatpak`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.flatpak`` file. See "
+":ref:`verifying_sigs` for more info."
msgstr ""
"Επαληθεύστε την υπογραφή PGP του αρχείου ``.flatpak``. Ανατρέξτε στην "
"ενότητα :ref:`verifying_sigs` για περισσότερες πληροφορίες."
@@ -136,18 +141,18 @@ msgstr ""
#: ../../source/install.rst:34
msgid ""
"Install the ``.flatpak`` file by running ``flatpak install OnionShare-"
-"VERSION.flatpak``. Replace ``VERSION`` with the version number of the file "
-"you downloaded."
+"VERSION.flatpak``. Replace ``VERSION`` with the version number of the "
+"file you downloaded."
msgstr ""
"Εγκαταστήστε το ``.flatpak`` εκτελώντας την εντολή ``flatpak install "
-"OnionShare-VERSION.flatpak``. Αντικαταστήστε το ``VERSION`` με τον αριθμό "
-"έκδοσης του αρχείου που κατεβάσατε."
+"OnionShare-VERSION.flatpak``. Αντικαταστήστε το ``VERSION`` με τον αριθμό"
+" έκδοσης του αρχείου που κατεβάσατε."
#: ../../source/install.rst:36
msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
msgstr ""
-"Μπορείτε να τρέξετε το OnionShare με: `flatpak run org.onionshare."
-"OnionShare`."
+"Μπορείτε να τρέξετε το OnionShare με: `flatpak run "
+"org.onionshare.OnionShare`."
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
@@ -155,51 +160,52 @@ msgstr "Μη αυτόματη εγκατάσταση Snapcraft"
#: ../../source/install.rst:41
msgid ""
-"If you'd like to install OnionShare manually with Snapcraft using the PGP-"
-"signed Snapcraft package, you can do so like this:"
+"If you'd like to install OnionShare manually with Snapcraft using the "
+"PGP-signed Snapcraft package, you can do so like this:"
msgstr ""
"Αν θέλετε να εγκαταστήσετε το OnionShare χειροκίνητα με το Snapcraft "
-"χρησιμοποιώντας το υπογεγραμμένο PGP πακέτο Snapcraft, μπορείτε να το κάνετε "
-"ως εξής:"
+"χρησιμοποιώντας το υπογεγραμμένο PGP πακέτο Snapcraft, μπορείτε να το "
+"κάνετε ως εξής:"
#: ../../source/install.rst:43
msgid ""
-"Install Snapcraft by following the instructions at https://snapcraft.io/docs/"
-"installing-snapd."
+"Install Snapcraft by following the instructions at "
+"https://snapcraft.io/docs/installing-snapd."
msgstr ""
"Εγκαταστήστε το Snapcraft ακολουθώντας τις οδηγίες στη διεύθυνση "
"https://snapcraft.io/docs/installing-snapd."
#: ../../source/install.rst:44
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.snap`` and ``.snap.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.snap`` and ``.snap.asc`` files."
msgstr ""
-"Μεταβείτε στη διεύθυνση https://onionshare.org/dist/, επιλέξτε την τελευταία "
-"έκδοση του OnionShare και κατεβάστε τα αρχεία ``.snap`` και ``.snap.asc``."
+"Μεταβείτε στη διεύθυνση https://onionshare.org/dist/, επιλέξτε την "
+"τελευταία έκδοση του OnionShare και κατεβάστε τα αρχεία ``.snap`` και "
+"``.snap.asc``."
#: ../../source/install.rst:45
msgid ""
-"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs`"
+" for more info."
msgstr ""
-"Επαληθεύστε την υπογραφή PGP του αρχείου ``.snap``. Ανατρέξτε στην ενότητα "
-":ref:`verifying_sigs` για περισσότερες πληροφορίες."
+"Επαληθεύστε την υπογραφή PGP του αρχείου ``.snap``. Ανατρέξτε στην "
+"ενότητα :ref:`verifying_sigs` για περισσότερες πληροφορίες."
#: ../../source/install.rst:46
msgid ""
"Install the ``.snap`` file by running ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version number "
-"of the file you downloaded. Note that you must use `--dangerous` because the "
-"package is not signed by the Snapcraft store, however you did verify its PGP "
-"signature, so you know it's legitimate."
+"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version "
+"number of the file you downloaded. Note that you must use `--dangerous` "
+"because the package is not signed by the Snapcraft store, however you did"
+" verify its PGP signature, so you know it's legitimate."
msgstr ""
-"Εγκαταστήστε το αρχείο ``.snap`` εκτελώντας την εντολή ``snap install --"
-"dangerous onionshare_VERSION_amd64.snap``. Αντικαταστήστε το ``VERSION`` με "
-"τον αριθμό έκδοσης του αρχείου που κατεβάσατε. Σημειώστε ότι πρέπει να "
-"χρησιμοποιήσετε το `--dangerous` επειδή το πακέτο δεν είναι υπογεγραμμένο "
-"από το Snapcraft, ωστόσο επαληθεύσατε την υπογραφή PGP, οπότε γνωρίζετε ότι "
-"είναι νόμιμο."
+"Εγκαταστήστε το αρχείο ``.snap`` εκτελώντας την εντολή ``snap install "
+"--dangerous onionshare_VERSION_amd64.snap``. Αντικαταστήστε το "
+"``VERSION`` με τον αριθμό έκδοσης του αρχείου που κατεβάσατε. Σημειώστε "
+"ότι πρέπει να χρησιμοποιήσετε το `--dangerous` επειδή το πακέτο δεν είναι"
+" υπογεγραμμένο από το Snapcraft, ωστόσο επαληθεύσατε την υπογραφή PGP, "
+"οπότε γνωρίζετε ότι είναι νόμιμο."
#: ../../source/install.rst:48
msgid "You can run OnionShare with: `snap run onionshare`."
@@ -211,8 +217,9 @@ msgstr "Μόνο γραμμή εντολών"
#: ../../source/install.rst:55
msgid ""
-"You can install just the command-line version of OnionShare on any operating "
-"system using the Python package manager ``pip``. :ref:`cli` has more info."
+"You can install just the command-line version of OnionShare on any "
+"operating system using the Python package manager ``pip``. :ref:`cli` has"
+" more info."
msgstr ""
"Μπορείτε να εγκαταστήσετε μόνο την έκδοση με τη γραμμή εντολών του "
"OnionShare σε οποιοδήποτε λειτουργικό σύστημα χρησιμοποιώντας τον "
@@ -225,17 +232,18 @@ msgstr "Επιβεβαίωση υπογραφών PGP"
#: ../../source/install.rst:62
msgid ""
-"You can verify that the package you download is legitimate and hasn't been "
-"tampered with by verifying its PGP signature. For Windows and macOS, this "
-"step is optional and provides defense in depth: the OnionShare binaries "
-"include operating system-specific signatures, and you can just rely on those "
-"alone if you'd like."
+"You can verify that the package you download is legitimate and hasn't "
+"been tampered with by verifying its PGP signature. For Windows and macOS,"
+" this step is optional and provides defense in depth: the OnionShare "
+"binaries include operating system-specific signatures, and you can just "
+"rely on those alone if you'd like."
msgstr ""
-"Μπορείτε να επαληθεύσετε ότι το πακέτο που κατεβάσετε είναι νόμιμο και δεν "
-"έχει παραβιαστεί, επαληθεύοντας την υπογραφή του PGP. Για Windows και macOS, "
-"αυτό το βήμα είναι προαιρετικό και παρέχει άμυνα σε βάθος: τα δυαδικά αρχεία "
-"OnionShare περιλαμβάνουν συγκεκριμένες υπογραφές λειτουργικού συστήματος και "
-"μπορείτε απλώς να βασιστείτε σε αυτά και μόνο αν θέλετε."
+"Μπορείτε να επαληθεύσετε ότι το πακέτο που κατεβάσετε είναι νόμιμο και "
+"δεν έχει παραβιαστεί, επαληθεύοντας την υπογραφή του PGP. Για Windows και"
+" macOS, αυτό το βήμα είναι προαιρετικό και παρέχει άμυνα σε βάθος: τα "
+"δυαδικά αρχεία OnionShare περιλαμβάνουν συγκεκριμένες υπογραφές "
+"λειτουργικού συστήματος και μπορείτε απλώς να βασιστείτε σε αυτά και μόνο"
+" αν θέλετε."
#: ../../source/install.rst:66
msgid "Signing key"
@@ -243,93 +251,126 @@ msgstr "Κλειδί υπογραφής"
#: ../../source/install.rst:68
msgid ""
-"Packages are signed by Micah Lee, the core developer, using his PGP public "
-"key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
-"download Micah's key `from the keys.openpgp.org keyserver <https://keys."
-"openpgp.org/vks/v1/by-"
+"Packages are signed by Micah Lee, the core developer, using his PGP "
+"public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
+" You can download Micah's key `from the keys.openpgp.org keyserver "
+"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
"Τα πακέτα υπογράφονται από τον Micah Lee, τον βασικό προγραμματιστή, "
"χρησιμοποιώντας το δημόσιο κλειδί του PGP με το αποτύπωμα "
"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Μπορείτε να κατεβάσετε το "
-"κλειδί του Micah από το διακομιστή κλειδιών keys.openpgp.org <https://keys."
-"openpgp.org/vks/v1/by-fingerprint/"
-"927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+"κλειδί του Micah από το διακομιστή κλειδιών keys.openpgp.org "
+"<https://keys.openpgp.org/vks/v1/by-"
+"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#: ../../source/install.rst:71
msgid ""
-"You must have GnuPG installed to verify signatures. For macOS you probably "
-"want `GPGTools <https://gpgtools.org/>`_, and for Windows you probably want "
-"`Gpg4win <https://www.gpg4win.org/>`_."
+"You must have GnuPG installed to verify signatures. For macOS you "
+"probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you "
+"probably want `Gpg4win <https://www.gpg4win.org/>`_."
msgstr ""
-"Για την επιβεβαίωση υπογραφών θα πρέπει να έχετε εγκατεστημένο το GnuPG. Για "
-"macOS χρειάζεστε το `GPGTools <https://gpgtools.org/>`_ και για Windows το "
-"`Gpg4win <https://www.gpg4win.org/>`_."
+"Για την επιβεβαίωση υπογραφών θα πρέπει να έχετε εγκατεστημένο το GnuPG. "
+"Για macOS χρειάζεστε το `GPGTools <https://gpgtools.org/>`_ και για "
+"Windows το `Gpg4win <https://www.gpg4win.org/>`_."
#: ../../source/install.rst:74
msgid "Signatures"
msgstr "Υπογραφές"
#: ../../source/install.rst:76
+#, fuzzy
msgid ""
-"You can find the signatures (as ``.asc`` files), as well as Windows, macOS, "
-"Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the "
-"folders named for each version of OnionShare. You can also find them on the "
-"`GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+"You can find the signatures (as ``.asc`` files), as well as Windows, "
+"macOS, Flatpak, Snap, and source packages, at "
+"https://onionshare.org/dist/ in the folders named for each version of "
+"OnionShare. You can also find them on the `GitHub Releases page "
+"<https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
-"Θα βρείτε τις υπογραφές (αρχεία ``.asc``), για Windows, macOS, Flatpak, Snap "
-"και αρχεία εγκατάστασης στο https://onionshare.org/dist/ στο φάκελο με όνομα "
-"ανάλογο της έκδοσης του OnionShare. Μπορείτε επίσης να τα βρείτε και στη "
-"`σελίδα εκδόσεων του GitHub <https://github.com/micahflee/onionshare/"
-"releases>`_."
+"Θα βρείτε τις υπογραφές (αρχεία ``.asc``), για Windows, macOS, Flatpak, "
+"Snap και αρχεία εγκατάστασης στο https://onionshare.org/dist/ στο φάκελο "
+"με όνομα ανάλογο της έκδοσης του OnionShare. Μπορείτε επίσης να τα βρείτε"
+" και στη `σελίδα εκδόσεων του GitHub "
+"<https://github.com/micahflee/onionshare/releases>`_."
#: ../../source/install.rst:80
msgid "Verifying"
msgstr "Επιβεβαίωση"
#: ../../source/install.rst:82
+#, fuzzy
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
-"downloaded the binary and ``.asc`` signature, you can verify the binary for "
-"macOS in a terminal like this::"
+"downloaded the binary and ``.asc`` signature, you can verify the binary "
+"in a terminal like this:"
+msgstr ""
+"Με την εισαγωγή του δημόσιου κλειδιού του Micah στο GnuPG keychain, με τη"
+" λήψη του δυαδικού και της υπογραφής ``.asc``, μπορείτε να επιβεβαιώσετε "
+"το δυαδικό σύστημα για macOS σε ένα τερματικό όπως::"
+
+#: ../../source/install.rst:84
+msgid "For Windows::"
msgstr ""
-"Με την εισαγωγή του δημόσιου κλειδιού του Micah στο GnuPG keychain, με τη "
-"λήψη του δυαδικού και της υπογραφής ``.asc``, μπορείτε να επιβεβαιώσετε το "
-"δυαδικό σύστημα για macOS σε ένα τερματικό όπως::"
-#: ../../source/install.rst:86
-msgid "Or for Windows, in a command-prompt like this::"
-msgstr "Ή για Windows, σε μια γραμμή εντολών όπως::"
+#: ../../source/install.rst:88
+msgid "For macOS::"
+msgstr ""
+
+#: ../../source/install.rst:92
+#, fuzzy
+msgid "For Linux::"
+msgstr "Linux"
-#: ../../source/install.rst:90
+#: ../../source/install.rst:98
+msgid "and for the source file::"
+msgstr ""
+
+#: ../../source/install.rst:102
msgid "The expected output looks like this::"
msgstr "Θα πρέπει να δείτε κάτι όπως::"
-#: ../../source/install.rst:102
+#: ../../source/install.rst:112
+#, fuzzy
+msgid ""
+"If you don't see ``Good signature from``, there might be a problem with "
+"the integrity of the file (malicious or otherwise), and you should not "
+"install the package."
+msgstr ""
+"Εάν δεν εμφανιστεί το ``Σωστή υπογραφή από``, ενδέχεται να υπάρχει "
+"πρόβλημα με την ακεραιότητα του αρχείου (κακόβουλο ή άλλο) και δεν πρέπει"
+" να το εγκαταστήσετε. (Η ``ΠΡΟΕΙΔΟΠΟΙΗΣΗ:`` που φαίνεται παραπάνω, δεν "
+"αποτελεί πρόβλημα με το πακέτο, σημαίνει μόνο ότι δεν έχετε ορίσει το "
+"επίπεδο \"εμπιστοσύνης\" του κλειδιού PGP του Micah.)"
+
+#: ../../source/install.rst:114
+#, fuzzy
msgid ""
-"If you don't see ``Good signature from``, there might be a problem with the "
-"integrity of the file (malicious or otherwise), and you should not install "
-"the package. (The ``WARNING:`` shown above, is not a problem with the "
-"package, it only means you haven't defined a level of \"trust\" of Micah's "
-"(the core developer) PGP key.)"
+"The ``WARNING:`` shown above, is not a problem with the package, it only "
+"means you haven't defined a level of \"trust\" of Micah's (the core "
+"developer) PGP key."
msgstr ""
-"Εάν δεν εμφανιστεί το ``Σωστή υπογραφή από``, ενδέχεται να υπάρχει πρόβλημα "
-"με την ακεραιότητα του αρχείου (κακόβουλο ή άλλο) και δεν πρέπει να το "
-"εγκαταστήσετε. (Η ``ΠΡΟΕΙΔΟΠΟΙΗΣΗ:`` που φαίνεται παραπάνω, δεν αποτελεί "
-"πρόβλημα με το πακέτο, σημαίνει μόνο ότι δεν έχετε ορίσει το επίπεδο "
-"\"εμπιστοσύνης\" του κλειδιού PGP του Micah.)"
+"Εάν δεν εμφανιστεί το ``Σωστή υπογραφή από``, ενδέχεται να υπάρχει "
+"πρόβλημα με την ακεραιότητα του αρχείου (κακόβουλο ή άλλο) και δεν πρέπει"
+" να το εγκαταστήσετε. (Η ``ΠΡΟΕΙΔΟΠΟΙΗΣΗ:`` που φαίνεται παραπάνω, δεν "
+"αποτελεί πρόβλημα με το πακέτο, σημαίνει μόνο ότι δεν έχετε ορίσει το "
+"επίπεδο \"εμπιστοσύνης\" του κλειδιού PGP του Micah.)"
-#: ../../source/install.rst:104
+#: ../../source/install.rst:116
msgid ""
"If you want to learn more about verifying PGP signatures, the guides for "
-"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and "
-"the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/"
-">`_ may be useful."
+"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and"
+" the `Tor Project <https://support.torproject.org/tbb/how-to-verify-"
+"signature/>`_ may be useful."
msgstr ""
"Εάν θέλετε να μάθετε περισσότερα σχετικά με την επαλήθευση των υπογραφών "
-"PGP, οι οδηγοί για `Qubes OS <https://www.qubes-os.org/security/verifying-"
-"signatures/>`_ και το `Tor Project <https://support.torproject.org/tbb/how-"
-"to-verify-signature/>`_ θα σας φανούν χρήσιμα."
+"PGP, οι οδηγοί για `Qubes OS <https://www.qubes-os.org/security"
+"/verifying-signatures/>`_ και το `Tor Project "
+"<https://support.torproject.org/tbb/how-to-verify-signature/>`_ θα σας "
+"φανούν χρήσιμα."
#~ msgid "Install in Linux"
#~ msgstr "Εγκατάσταση σε Linux"
+
+#~ msgid "Or for Windows, in a command-prompt like this::"
+#~ msgstr "Ή για Windows, σε μια γραμμή εντολών όπως::"
+
diff --git a/docs/source/locale/en/LC_MESSAGES/install.po b/docs/source/locale/en/LC_MESSAGES/install.po
index 83ad0a7f..03d05a98 100644
--- a/docs/source/locale/en/LC_MESSAGES/install.po
+++ b/docs/source/locale/en/LC_MESSAGES/install.po
@@ -8,14 +8,14 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-03-31 16:26+1100\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/install.rst:2
msgid "Installation"
@@ -67,22 +67,111 @@ msgid ""
"packages from https://onionshare.org/dist/ if you prefer."
msgstr ""
+#: ../../source/install.rst:26
+msgid "Manual Flatpak Installation"
+msgstr ""
+
#: ../../source/install.rst:28
-msgid "Command-line only"
+msgid ""
+"If you'd like to install OnionShare manually with Flatpak using the PGP-"
+"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-"
+"file-bundles.html>`_, you can do so like this:"
msgstr ""
#: ../../source/install.rst:30
msgid ""
+"Install Flatpak by following the instructions at "
+"https://flatpak.org/setup/."
+msgstr ""
+
+#: ../../source/install.rst:31
+msgid ""
+"Add the Flathub repository by running ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Even "
+"though you won't be downloading OnionShare from Flathub, OnionShare "
+"depends on some packages that are only available there."
+msgstr ""
+
+#: ../../source/install.rst:32
+msgid ""
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.flatpak`` and ``.flatpak.asc`` files."
+msgstr ""
+
+#: ../../source/install.rst:33
+msgid ""
+"Verify the PGP signature of the ``.flatpak`` file. See "
+":ref:`verifying_sigs` for more info."
+msgstr ""
+
+#: ../../source/install.rst:34
+msgid ""
+"Install the ``.flatpak`` file by running ``flatpak install OnionShare-"
+"VERSION.flatpak``. Replace ``VERSION`` with the version number of the "
+"file you downloaded."
+msgstr ""
+
+#: ../../source/install.rst:36
+msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
+msgstr ""
+
+#: ../../source/install.rst:39
+msgid "Manual Snapcraft Installation"
+msgstr ""
+
+#: ../../source/install.rst:41
+msgid ""
+"If you'd like to install OnionShare manually with Snapcraft using the "
+"PGP-signed Snapcraft package, you can do so like this:"
+msgstr ""
+
+#: ../../source/install.rst:43
+msgid ""
+"Install Snapcraft by following the instructions at "
+"https://snapcraft.io/docs/installing-snapd."
+msgstr ""
+
+#: ../../source/install.rst:44
+msgid ""
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.snap`` and ``.snap.asc`` files."
+msgstr ""
+
+#: ../../source/install.rst:45
+msgid ""
+"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs`"
+" for more info."
+msgstr ""
+
+#: ../../source/install.rst:46
+msgid ""
+"Install the ``.snap`` file by running ``snap install --dangerous "
+"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version "
+"number of the file you downloaded. Note that you must use `--dangerous` "
+"because the package is not signed by the Snapcraft store, however you did"
+" verify its PGP signature, so you know it's legitimate."
+msgstr ""
+
+#: ../../source/install.rst:48
+msgid "You can run OnionShare with: `snap run onionshare`."
+msgstr ""
+
+#: ../../source/install.rst:53
+msgid "Command-line only"
+msgstr ""
+
+#: ../../source/install.rst:55
+msgid ""
"You can install just the command-line version of OnionShare on any "
"operating system using the Python package manager ``pip``. :ref:`cli` has"
" more info."
msgstr ""
-#: ../../source/install.rst:35
+#: ../../source/install.rst:60
msgid "Verifying PGP signatures"
msgstr ""
-#: ../../source/install.rst:37
+#: ../../source/install.rst:62
msgid ""
"You can verify that the package you download is legitimate and hasn't "
"been tampered with by verifying its PGP signature. For Windows and macOS,"
@@ -91,11 +180,11 @@ msgid ""
"rely on those alone if you'd like."
msgstr ""
-#: ../../source/install.rst:41
+#: ../../source/install.rst:66
msgid "Signing key"
msgstr ""
-#: ../../source/install.rst:43
+#: ../../source/install.rst:68
msgid ""
"Packages are signed by Micah Lee, the core developer, using his PGP "
"public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
@@ -104,55 +193,72 @@ msgid ""
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
-#: ../../source/install.rst:46
+#: ../../source/install.rst:71
msgid ""
"You must have GnuPG installed to verify signatures. For macOS you "
"probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you "
"probably want `Gpg4win <https://www.gpg4win.org/>`_."
msgstr ""
-#: ../../source/install.rst:49
+#: ../../source/install.rst:74
msgid "Signatures"
msgstr ""
-#: ../../source/install.rst:51
+#: ../../source/install.rst:76
msgid ""
"You can find the signatures (as ``.asc`` files), as well as Windows, "
"macOS, Flatpak, Snap, and source packages, at "
"https://onionshare.org/dist/ in the folders named for each version of "
"OnionShare. You can also find them on the `GitHub Releases page "
-"<https://github.com/micahflee/onionshare/releases>`_."
+"<https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
-#: ../../source/install.rst:55
+#: ../../source/install.rst:80
msgid "Verifying"
msgstr ""
-#: ../../source/install.rst:57
+#: ../../source/install.rst:82
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
-"downloaded the binary and and ``.asc`` signature, you can verify the "
-"binary for macOS in a terminal like this::"
+"downloaded the binary and ``.asc`` signature, you can verify the binary "
+"in a terminal like this:"
+msgstr ""
+
+#: ../../source/install.rst:84
+msgid "For Windows::"
msgstr ""
-#: ../../source/install.rst:61
-msgid "Or for Windows, in a command-prompt like this::"
+#: ../../source/install.rst:88
+msgid "For macOS::"
msgstr ""
-#: ../../source/install.rst:65
+#: ../../source/install.rst:92
+msgid "For Linux::"
+msgstr ""
+
+#: ../../source/install.rst:98
+msgid "and for the source file::"
+msgstr ""
+
+#: ../../source/install.rst:102
msgid "The expected output looks like this::"
msgstr ""
-#: ../../source/install.rst:77
+#: ../../source/install.rst:112
msgid ""
"If you don't see ``Good signature from``, there might be a problem with "
"the integrity of the file (malicious or otherwise), and you should not "
-"install the package. (The ``WARNING:`` shown above, is not a problem with"
-" the package, it only means you haven't defined a level of \"trust\" of "
-"Micah's (the core developer) PGP key.)"
+"install the package."
+msgstr ""
+
+#: ../../source/install.rst:114
+msgid ""
+"The ``WARNING:`` shown above, is not a problem with the package, it only "
+"means you haven't defined a level of \"trust\" of Micah's (the core "
+"developer) PGP key."
msgstr ""
-#: ../../source/install.rst:79
+#: ../../source/install.rst:116
msgid ""
"If you want to learn more about verifying PGP signatures, the guides for "
"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and"
@@ -160,250 +266,4 @@ msgid ""
"signature/>`_ may be useful."
msgstr ""
-#~ msgid "Install on Windows or macOS"
-#~ msgstr ""
-
-#~ msgid "For added security, see :ref:`verifying_sigs`."
-#~ msgstr ""
-
-#~ msgid "Install in Linux with Flatpak"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "There are various ways to install "
-#~ "OnionShare for Linux, but the "
-#~ "recommended way is to use the "
-#~ "Flatpak package. Flatpak ensures that "
-#~ "you'll always use the most latest "
-#~ "dependencies and run OnionShare inside "
-#~ "of a sandbox."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Make sure you have ``flatpak`` installed"
-#~ " and the Flathub repository added by"
-#~ " following `these instructions "
-#~ "<https://flatpak.org/setup/>`_ for your Linux "
-#~ "distribution."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Then install OnionShare from Flathub by"
-#~ " following `the instructions here "
-#~ "<https://flathub.org/apps/details/org.onionshare.OnionShare>`_."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "You can verify that the Windows, "
-#~ "macOS, or source package you download"
-#~ " is legitimate and hasn't been "
-#~ "tampered with by verifying its PGP "
-#~ "signature. For Windows and macOS, this"
-#~ " step is optional and provides "
-#~ "defense in depth: the installers also"
-#~ " include their operating system-specific"
-#~ " signatures, and you can just rely"
-#~ " on those alone if you'd like."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Windows, macOS, and source packaged are"
-#~ " signed by Micah Lee, the core "
-#~ "developer, using his PGP public key "
-#~ "with fingerprint "
-#~ "``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
-#~ "download Micah's key `from the "
-#~ "keys.openpgp.org keyserver "
-#~ "<https://keys.openpgp.org/vks/v1/by-"
-#~ "fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "In order to verify signatures, you "
-#~ "must have GnuPG installed. For macOS "
-#~ "you probably want `GPGTools "
-#~ "<https://gpgtools.org/>`_, and for Windows you"
-#~ " probably want `Gpg4win "
-#~ "<https://www.gpg4win.org/>`_."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "You can find the signatures (``.asc``"
-#~ " files), as well as Windows, macOS,"
-#~ " and source packages, at "
-#~ "https://onionshare.org/dist/ in the folders "
-#~ "named for each version of OnionShare."
-#~ " You can also find them on the"
-#~ " `GitHub Releases page "
-#~ "<https://github.com/micahflee/onionshare/releases>`_."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Once you have imported Micah's public"
-#~ " key into your GnuPG keychain, "
-#~ "downloaded the binary, and downloaded "
-#~ "the ``.asc`` signature, you can verify"
-#~ " the binary for macOS in terminal "
-#~ "like this::"
-#~ msgstr ""
-
-#~ msgid "Or for Windows in a command prompt like this::"
-#~ msgstr ""
-
-#~ msgid "An expected output might look like this::"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "If you don't see 'Good signature "
-#~ "from', then there might be a "
-#~ "problem with the integrity of the "
-#~ "file (malicious or otherwise), and you"
-#~ " perhaps should not install the "
-#~ "package. (The WARNING shown above, is"
-#~ " not a problem with the package: "
-#~ "it only means you have not defined"
-#~ " any level of 'trust' regarding "
-#~ "Micah's PGP key itself.)"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "If you want to learn more about"
-#~ " verifying PGP signatures, guides for "
-#~ "`Qubes OS <https://www.qubes-os.org/security"
-#~ "/verifying-signatures/>`_ and the `Tor "
-#~ "Project <https://2019.www.torproject.org/docs/verifying-"
-#~ "signatures.html.en>`_ may be helpful."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "There are various ways to install "
-#~ "OnionShare for Linux, but the "
-#~ "recommended way is to use either "
-#~ "the `Flatpak <https://flatpak.org/>`_ or the"
-#~ " `Snapcraft <https://snapcraft.io/>`_ package. "
-#~ "Flatpak and Snapcraft ensure that you'll"
-#~ " always use the newest version and"
-#~ " run OnionShare inside of a sandbox."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Snapcraft is built-in to Ubuntu "
-#~ "and Flatpak is built-in to Fedora,"
-#~ " but which you use is up to "
-#~ "you. Both work in all Linux "
-#~ "distributions."
-#~ msgstr ""
-
-#~ msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "You can also download and install "
-#~ "a PGP-signed ``.flatpak`` or ``.snap``"
-#~ " packages from https://onionshare.org/dist/ if"
-#~ " you prefer."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "You can find the signatures (``.asc``"
-#~ " files), as well as Windows, macOS,"
-#~ " Flatpak, Snapcraft, and source packages,"
-#~ " at https://onionshare.org/dist/ in the "
-#~ "folders named for each version of "
-#~ "OnionShare. You can also find them "
-#~ "on the `GitHub Releases page "
-#~ "<https://github.com/micahflee/onionshare/releases>`_."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Once you have imported Micah's public"
-#~ " key into your GnuPG keychain, "
-#~ "downloaded the binary, and downloaded "
-#~ "the ``.asc`` signature, you can verify"
-#~ " the binary for macOS in a "
-#~ "terminal like this::"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "If you don't see 'Good signature "
-#~ "from', there might be a problem "
-#~ "with the integrity of the file "
-#~ "(malicious or otherwise), and you should"
-#~ " not install the package. (The "
-#~ "WARNING shown above, is not a "
-#~ "problem with the package: it only "
-#~ "means you haven't already defined any"
-#~ " level of 'trust' of Micah's PGP "
-#~ "key.)"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "If you want to learn more about"
-#~ " verifying PGP signatures, guides for "
-#~ "`Qubes OS <https://www.qubes-os.org/security"
-#~ "/verifying-signatures/>`_ and the `Tor "
-#~ "Project <https://support.torproject.org/tbb/how-to-"
-#~ "verify-signature/>`_ may be helpful."
-#~ msgstr ""
-
-#~ msgid "Install in Linux"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "If you don't see 'Good signature "
-#~ "from', there might be a problem "
-#~ "with the integrity of the file "
-#~ "(malicious or otherwise), and you should"
-#~ " not install the package. (The "
-#~ "\"WARNING:\" shown above, is not a "
-#~ "problem with the package, it only "
-#~ "means you haven't already defined any"
-#~ " level of 'trust' of Micah's PGP "
-#~ "key.)"
-#~ msgstr ""
-
-#~ msgid "Command Line Only"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "There are various ways to install "
-#~ "OnionShare for Linux, but the "
-#~ "recommended way is to use either "
-#~ "the `Flatpak <https://flatpak.org/>`_ or the"
-#~ " `Snap <https://snapcraft.io/>`_ package. Flatpak"
-#~ " and Snap ensure that you'll always"
-#~ " use the newest version and run "
-#~ "OnionShare inside of a sandbox."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Snap support is built-in to Ubuntu"
-#~ " and Fedora comes with Flatpak "
-#~ "support, but which you use is up"
-#~ " to you. Both work in all Linux"
-#~ " distributions."
-#~ msgstr ""
-
-#~ msgid "**Install OnionShare using Snap**: https://snapcraft.io/onionshare"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "You can install just the command "
-#~ "line version of OnionShare on any "
-#~ "operating system using the Python "
-#~ "package manager ``pip``. See :ref:`cli` "
-#~ "for more information."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "If you don't see ``Good signature "
-#~ "from``, there might be a problem "
-#~ "with the integrity of the file "
-#~ "(malicious or otherwise), and you should"
-#~ " not install the package. (The "
-#~ "``WARNING:`` shown above, is not a "
-#~ "problem with the package, it only "
-#~ "means you haven't defined a level "
-#~ "of \"trust\" of Micah's PGP key.)"
-#~ msgstr ""
diff --git a/docs/source/locale/en/LC_MESSAGES/tor.po b/docs/source/locale/en/LC_MESSAGES/tor.po
index a73d800a..1535d01a 100644
--- a/docs/source/locale/en/LC_MESSAGES/tor.po
+++ b/docs/source/locale/en/LC_MESSAGES/tor.po
@@ -8,14 +8,14 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-07-04 17:16-0400\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.10.3\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/tor.rst:2
msgid "Connecting to Tor"
@@ -23,31 +23,32 @@ msgstr ""
#: ../../source/tor.rst:4
msgid ""
-"When OnionShare starts, it will show you a screen asking you to connect to "
-"the Tor network."
+"When OnionShare starts, it will show you a screen asking you to connect "
+"to the Tor network."
msgstr ""
#: ../../source/tor.rst:8
msgid ""
"You can toggle on the switch \"Connect to Tor automatically\" before "
-"clicking \"Connect to Tor\". This means that next time OnionShare starts, it "
-"will automatically connect with its Tor connection settings from the last "
-"session, instead of presenting you with the connection options. If the "
-"connection fails, you can still try bridges or reconfigure Tor via the "
-"\"Network Settings\" button."
+"clicking \"Connect to Tor\". This means that next time OnionShare starts,"
+" it will automatically connect with its Tor connection settings from the "
+"last session, instead of presenting you with the connection options. If "
+"the connection fails, you can still try bridges or reconfigure Tor via "
+"the \"Network Settings\" button."
msgstr ""
#: ../../source/tor.rst:11
msgid ""
-"You can click \"Connect to Tor\" to begin the connection process. If there "
-"are no problems with your network, including any attempts to block your "
-"access to the Tor network, this should hopefully work the first time."
+"You can click \"Connect to Tor\" to begin the connection process. If "
+"there are no problems with your network, including any attempts to block "
+"your access to the Tor network, this should hopefully work the first "
+"time."
msgstr ""
#: ../../source/tor.rst:13
msgid ""
-"Or, if you want to manually configure Bridges or other Tor settings before "
-"you connect, you can click \"Network Settings\"."
+"Or, if you want to manually configure Bridges or other Tor settings "
+"before you connect, you can click \"Network Settings\"."
msgstr ""
#: ../../source/tor.rst:16
@@ -56,8 +57,9 @@ msgstr ""
#: ../../source/tor.rst:18
msgid ""
-"When you click \"Connect to Tor\", if OnionShare fails to connect, it might "
-"be because Tor is censored in your country or on your local network."
+"When you click \"Connect to Tor\", if OnionShare fails to connect, it "
+"might be because Tor is censored in your country or on your local "
+"network."
msgstr ""
#: ../../source/tor.rst:20
@@ -69,8 +71,7 @@ msgid "Try again without a bridge"
msgstr ""
#: ../../source/tor.rst:23
-msgid ""
-"Automatically determine my country from my IP address for bridge settings"
+msgid "Automatically determine my country from my IP address for bridge settings"
msgstr ""
#: ../../source/tor.rst:24
@@ -80,17 +81,19 @@ msgstr ""
#: ../../source/tor.rst:28
msgid ""
"If you choose the \"Try again without a bridge\" option, OnionShare will "
-"retry connecting to Tor like normal, without attempting to bypass censorship."
+"retry connecting to Tor like normal, without attempting to bypass "
+"censorship."
msgstr ""
#: ../../source/tor.rst:30
msgid ""
-"The other two options will attempt to automatically bypass censorship using "
-"Tor bridges. If your network provider is blocking access to the Tor network, "
-"you can hopefully still connect to a Tor bridge, which will then connect you "
-"to the Tor network, circumventing the censorship. Both of these options use "
-"the Tor Project's Censorship Circumvention API to provide you with bridge "
-"settings that should work for you. OnionShare will temporarily use the `Meek "
+"The other two options will attempt to automatically bypass censorship "
+"using Tor bridges. If your network provider is blocking access to the Tor"
+" network, you can hopefully still connect to a Tor bridge, which will "
+"then connect you to the Tor network, circumventing the censorship. Both "
+"of these options use the Tor Project's Censorship Circumvention API to "
+"provide you with bridge settings that should work for you. OnionShare "
+"will temporarily use the `Meek "
"<https://gitlab.torproject.org/legacy/trac/-/wikis/doc/meek/>`_ domain-"
"fronting proxy to make a non-Tor connection from your computer to Tor's "
"Censorship Circumvention API. The Meek proxy hides the fact that you are "
@@ -99,10 +102,10 @@ msgstr ""
#: ../../source/tor.rst:36
msgid ""
-"If you choose \"Automatically determine my country from my IP address for "
-"bridge settings\", the Censorship Circumvention API will consider your IP "
-"address (yes, your real IP address) to determine what country you might "
-"reside in. Based on the country information, the API will try to "
+"If you choose \"Automatically determine my country from my IP address for"
+" bridge settings\", the Censorship Circumvention API will consider your "
+"IP address (yes, your real IP address) to determine what country you "
+"might reside in. Based on the country information, the API will try to "
"automatically find bridges that suit your location."
msgstr ""
@@ -119,41 +122,42 @@ msgstr ""
#: ../../source/tor.rst:48
msgid ""
-"If the Censorship Circumvention API finds bridges that it believes will suit "
-"you, OnionShare will try to reconnect to Tor using those bridges. If the API "
-"does not find any bridges for your location, OnionShare will ask the API for "
-"\"fallback\" options, and then try to reconnect using those."
+"If the Censorship Circumvention API finds bridges that it believes will "
+"suit you, OnionShare will try to reconnect to Tor using those bridges. If"
+" the API does not find any bridges for your location, OnionShare will ask"
+" the API for \"fallback\" options, and then try to reconnect using those."
msgstr ""
#: ../../source/tor.rst:50
msgid ""
-"If for some reason OnionShare fails to connect to the Censorship API itself, "
-"or if the API returns an error message, OnionShare will attempt to use the "
-"obfs4 built-in bridges."
+"If for some reason OnionShare fails to connect to the Censorship API "
+"itself, or if the API returns an error message, OnionShare will attempt "
+"to use the obfs4 built-in bridges."
msgstr ""
#: ../../source/tor.rst:52
msgid ""
-"It's important to note that the requests to the Censorship Circumvention API "
-"do not go over the Tor network (because if you could connect to Tor already, "
-"you wouldn't need to connect to the API)."
+"It's important to note that the requests to the Censorship Circumvention "
+"API do not go over the Tor network (because if you could connect to Tor "
+"already, you wouldn't need to connect to the API)."
msgstr ""
#: ../../source/tor.rst:54
msgid ""
-"Even though it's hard for an adversary to discover where the Meek request is "
-"going, this may still be risky for some users. Therefore, it is an opt-in "
-"feature. The use of Meek and non-torified network requests are limited only "
-"to making one or two requests to the Censorship Circumvention API. Then Meek "
-"is stopped, and all further network requests happen over the Tor network."
+"Even though it's hard for an adversary to discover where the Meek request"
+" is going, this may still be risky for some users. Therefore, it is an "
+"opt-in feature. The use of Meek and non-torified network requests are "
+"limited only to making one or two requests to the Censorship "
+"Circumvention API. Then Meek is stopped, and all further network requests"
+" happen over the Tor network."
msgstr ""
#: ../../source/tor.rst:56
msgid ""
-"If you are uncomfortable with making a request that doesn't go over the Tor "
-"network, you can click \"Network Settings\" (or the Settings icon in the "
-"bottom right corner, followed by the Tor Settings tab in the screen that "
-"appears), and manually configure bridges. After you save any bridge "
+"If you are uncomfortable with making a request that doesn't go over the "
+"Tor network, you can click \"Network Settings\" (or the Settings icon in "
+"the bottom right corner, followed by the Tor Settings tab in the screen "
+"that appears), and manually configure bridges. After you save any bridge "
"settings, OnionShare will try to reconnect using those bridges."
msgstr ""
@@ -164,14 +168,15 @@ msgstr ""
#: ../../source/tor.rst:61
msgid ""
"You can get to the Tor settings by clicking \"Network Settings\" on the "
-"welcome screen, or by clicking the \"⚙\" icon in the bottom-right corner of "
-"the application, and then switch to the Tor Settings tab in the screen that "
-"appears."
+"welcome screen, or by clicking the \"⚙\" icon in the bottom-right corner "
+"of the application, and then switch to the Tor Settings tab in the screen"
+" that appears."
msgstr ""
#: ../../source/tor.rst:65
msgid ""
-"Here are the different ways you can configure OnionShare to connect to Tor:"
+"Here are the different ways you can configure OnionShare to connect to "
+"Tor:"
msgstr ""
#: ../../source/tor.rst:68
@@ -180,16 +185,16 @@ msgstr ""
#: ../../source/tor.rst:70
msgid ""
-"This is the default, simplest and most reliable way that OnionShare connects "
-"to Tor. For this reason, it's recommended for most users."
+"This is the default, simplest and most reliable way that OnionShare "
+"connects to Tor. For this reason, it's recommended for most users."
msgstr ""
#: ../../source/tor.rst:73
msgid ""
-"When you open OnionShare, it launches an already configured ``tor`` process "
-"in the background for OnionShare to use. It doesn't interfere with other "
-"``tor`` processes on your computer, so you can use the Tor Browser or the "
-"system ``tor`` on their own."
+"When you open OnionShare, it launches an already configured ``tor`` "
+"process in the background for OnionShare to use. It doesn't interfere "
+"with other ``tor`` processes on your computer, so you can use the Tor "
+"Browser or the system ``tor`` on their own."
msgstr ""
#: ../../source/tor.rst:76
@@ -198,14 +203,14 @@ msgstr ""
#: ../../source/tor.rst:78
msgid ""
-"To use a bridge, you must select \"Use the Tor version built into OnionShare"
-"\" and check the \"Use a bridge\" checkbox."
+"To use a bridge, you must select \"Use the Tor version built into "
+"OnionShare\" and check the \"Use a bridge\" checkbox."
msgstr ""
#: ../../source/tor.rst:80
msgid ""
-"Try using a built-in bridge first. Using `obfs4` or `snowflake` bridges is "
-"recommended over using `meek-azure`."
+"Try using a built-in bridge first. Using `obfs4` or `snowflake` bridges "
+"is recommended over using `meek-azure`."
msgstr ""
#: ../../source/tor.rst:84
@@ -228,10 +233,10 @@ msgstr ""
#: ../../source/tor.rst:93
msgid ""
-"If you have `downloaded the Tor Browser <https://www.torproject.org>`_ and "
-"don't want two ``tor`` processes running, you can use the ``tor`` process "
-"from the Tor Browser. Keep in mind you need to keep Tor Browser open in the "
-"background while you're using OnionShare for this to work."
+"If you have `downloaded the Tor Browser <https://www.torproject.org>`_ "
+"and don't want two ``tor`` processes running, you can use the ``tor`` "
+"process from the Tor Browser. Keep in mind you need to keep Tor Browser "
+"open in the background while you're using OnionShare for this to work."
msgstr ""
#: ../../source/tor.rst:97
@@ -240,16 +245,16 @@ msgstr ""
#: ../../source/tor.rst:99
msgid ""
-"This is fairly advanced. You'll need to know how edit plaintext files and do "
-"stuff as an administrator."
+"This is fairly advanced. You'll need to know how edit plaintext files and"
+" do stuff as an administrator."
msgstr ""
#: ../../source/tor.rst:101
msgid ""
-"Download the Tor Windows Expert Bundle `from <https://www.torproject.org/"
-"download/tor/>`_. Extract the compressed file and copy the extracted folder "
-"to ``C:\\Program Files (x86)\\`` Rename the extracted folder with ``Data`` "
-"and ``Tor`` in it to ``tor-win32``."
+"Download the Tor Windows Expert Bundle `from the Tor website "
+"<https://www.torproject.org/download/tor/>`_. Extract the compressed file"
+" and copy the extracted folder to ``C:\\Program Files (x86)\\`` Rename "
+"the extracted folder with ``Data`` and ``Tor`` in it to ``tor-win32``."
msgstr ""
#: ../../source/tor.rst:105
@@ -263,23 +268,24 @@ msgstr ""
#: ../../source/tor.rst:112
msgid ""
-"The hashed password output is displayed after some warnings (which you can "
-"ignore). In the case of the above example, it is "
+"The hashed password output is displayed after some warnings (which you "
+"can ignore). In the case of the above example, it is "
"``16:00322E903D96DE986058BB9ABDA91E010D7A863768635AC38E213FDBEF``."
msgstr ""
#: ../../source/tor.rst:114
msgid ""
-"Now create a new text file at ``C:\\Program Files (x86)\\tor-win32\\torrc`` "
-"and put your hashed password output in it, replacing the "
+"Now create a new text file at ``C:\\Program Files (x86)\\tor-"
+"win32\\torrc`` and put your hashed password output in it, replacing the "
"``HashedControlPassword`` with the one you just generated::"
msgstr ""
#: ../../source/tor.rst:119
msgid ""
-"In your administrator command prompt, install ``tor`` as a service using the "
-"appropriate ``torrc`` file you just created (as described in `<https://2019."
-"www.torproject.org/docs/faq.html.en#NTService>`_). Like this::"
+"In your administrator command prompt, install ``tor`` as a service using "
+"the appropriate ``torrc`` file you just created (as described in "
+"`<https://2019.www.torproject.org/docs/faq.html.en#NTService>`_). Like "
+"this::"
msgstr ""
#: ../../source/tor.rst:123
@@ -288,13 +294,13 @@ msgstr ""
#: ../../source/tor.rst:125
msgid ""
-"Open OnionShare, click the \"⚙\" icon in it, and switch to the Tor Settings "
-"tab. Under \"How should OnionShare connect to Tor?\" choose \"Connect using "
-"control port\", and set \"Control port\" to ``127.0.0.1`` and \"Port\" to "
-"``9051``. Under \"Tor authentication settings\" choose \"Password\" and set "
-"the password to the control port password you picked above. Click the \"Test "
-"Connection to Tor\" button. If all goes well, you should see \"Connected to "
-"the Tor controller\"."
+"Open OnionShare, click the \"⚙\" icon in it, and switch to the Tor "
+"Settings tab. Under \"How should OnionShare connect to Tor?\" choose "
+"\"Connect using control port\", and set \"Control port\" to ``127.0.0.1``"
+" and \"Port\" to ``9051``. Under \"Tor authentication settings\" choose "
+"\"Password\" and set the password to the control port password you picked"
+" above. Click the \"Test Connection to Tor\" button. If all goes well, "
+"you should see \"Connected to the Tor controller\"."
msgstr ""
#: ../../source/tor.rst:134
@@ -303,8 +309,8 @@ msgstr ""
#: ../../source/tor.rst:136
msgid ""
-"First, install `Homebrew <https://brew.sh/>`_ if you don't already have it, "
-"and then install Tor::"
+"First, install `Homebrew <https://brew.sh/>`_ if you don't already have "
+"it, and then install Tor::"
msgstr ""
#: ../../source/tor.rst:140
@@ -317,12 +323,12 @@ msgstr ""
#: ../../source/tor.rst:151
msgid ""
-"Open OnionShare, click the \"⚙\" icon in it, and switch to the Tor Settings "
-"tab. Under \"How should OnionShare connect to Tor?\" choose \"Connect using "
-"socket file\", and set the socket file to be ``/usr/local/var/run/tor/"
-"control.socket``. Under \"Tor authentication settings\" choose \"No "
-"authentication, or cookie authentication\". Click the \"Test Connection to "
-"Tor\" button."
+"Open OnionShare, click the \"⚙\" icon in it, and switch to the Tor "
+"Settings tab. Under \"How should OnionShare connect to Tor?\" choose "
+"\"Connect using socket file\", and set the socket file to be "
+"``/usr/local/var/run/tor/control.socket``. Under \"Tor authentication "
+"settings\" choose \"No authentication, or cookie authentication\". Click "
+"the \"Test Connection to Tor\" button."
msgstr ""
#: ../../source/tor.rst:157 ../../source/tor.rst:177
@@ -336,29 +342,41 @@ msgstr ""
#: ../../source/tor.rst:162
msgid ""
"First, install the ``tor`` package. If you're using Debian, Ubuntu, or a "
-"similar Linux distro, It is recommended to use the Tor Project's `official "
-"repository <https://support.torproject.org/apt/tor-deb-repo/>`_."
+"similar Linux distro, It is recommended to use the Tor Project's "
+"`official repository <https://support.torproject.org/apt/tor-deb-"
+"repo/>`_."
msgstr ""
#: ../../source/tor.rst:164
msgid ""
-"Next, add your user to the group that runs the ``tor`` process (in the case "
-"of Debian and Ubuntu, ``debian-tor``) and configure OnionShare to connect to "
-"your system ``tor``'s control socket file."
+"Next, add your user to the group that runs the ``tor`` process (in the "
+"case of Debian and Ubuntu, ``debian-tor``) and configure OnionShare to "
+"connect to your system ``tor``'s control socket file."
msgstr ""
#: ../../source/tor.rst:166
msgid ""
-"Add your user to the ``debian-tor`` group by running this command (replace "
-"``username`` with your actual username)::"
+"Add your user to the ``debian-tor`` group by running this command "
+"(replace ``username`` with your actual username)::"
msgstr ""
#: ../../source/tor.rst:170
msgid ""
-"Reboot your computer. After it boots up again, open OnionShare, click the \"⚙"
-"\" icon in it, and switch to the Tor Settings tab. Under \"How should "
-"OnionShare connect to Tor?\" choose \"Connect using socket file\". Set the "
-"socket file to be ``/var/run/tor/control``. Under \"Tor authentication "
-"settings\" choose \"No authentication, or cookie authentication\". Click the "
-"\"Test Connection to Tor\" button."
+"Reboot your computer. After it boots up again, open OnionShare, click the"
+" \"⚙\" icon in it, and switch to the Tor Settings tab. Under \"How should"
+" OnionShare connect to Tor?\" choose \"Connect using socket file\". Set "
+"the socket file to be ``/var/run/tor/control``. Under \"Tor "
+"authentication settings\" choose \"No authentication, or cookie "
+"authentication\". Click the \"Test Connection to Tor\" button."
msgstr ""
+
+#~ msgid ""
+#~ "Download the Tor Windows Expert Bundle"
+#~ " `from <https://www.torproject.org/download/tor/>`_. "
+#~ "Extract the compressed file and copy "
+#~ "the extracted folder to ``C:\\Program "
+#~ "Files (x86)\\`` Rename the extracted "
+#~ "folder with ``Data`` and ``Tor`` in "
+#~ "it to ``tor-win32``."
+#~ msgstr ""
+
diff --git a/docs/source/locale/es/LC_MESSAGES/install.po b/docs/source/locale/es/LC_MESSAGES/install.po
index 1273455a..707219ad 100644
--- a/docs/source/locale/es/LC_MESSAGES/install.po
+++ b/docs/source/locale/es/LC_MESSAGES/install.po
@@ -7,17 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: 2023-06-07 16:33+0000\n"
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
-"Language-Team: none\n"
"Language: es\n"
+"Language-Team: none\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.18-dev\n"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/install.rst:2
msgid "Installation"
@@ -41,15 +40,16 @@ msgstr "Linux"
#: ../../source/install.rst:14
msgid ""
-"There are various ways to install OnionShare for Linux, but the recommended "
-"way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap "
-"<https://snapcraft.io/>`_ package. Flatpak and Snapcraft ensure that you'll "
-"always use the newest version and run OnionShare inside of a sandbox."
+"There are various ways to install OnionShare for Linux, but the "
+"recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or"
+" the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snapcraft "
+"ensure that you'll always use the newest version and run OnionShare "
+"inside of a sandbox."
msgstr ""
-"Hay varias maneras de instalar OnionShare para Linux, pero la recomendada es "
-"usar el paquete `Flatpak <https://flatpak.org/>`_ o bien `Snapcraft <https://"
-"snapcraft.io/>`_. Flatpak y Snap aseguran que siempre usará la versión más "
-"nueva, y ejecutará OnionShare dentro en un sandbox."
+"Hay varias maneras de instalar OnionShare para Linux, pero la recomendada"
+" es usar el paquete `Flatpak <https://flatpak.org/>`_ o bien `Snapcraft "
+"<https://snapcraft.io/>`_. Flatpak y Snap aseguran que siempre usará la "
+"versión más nueva, y ejecutará OnionShare dentro en un sandbox."
#: ../../source/install.rst:17
msgid ""
@@ -57,21 +57,20 @@ msgid ""
"support, but which you use is up to you. Both work in all Linux "
"distributions."
msgstr ""
-"Snap está incorporado en Ubuntu, y Flatpak en Fedora, pero es tu elección "
-"cuál usar. Ambos funcionan en todas las distribuciones Linux."
+"Snap está incorporado en Ubuntu, y Flatpak en Fedora, pero es tu elección"
+" cuál usar. Ambos funcionan en todas las distribuciones Linux."
#: ../../source/install.rst:19
msgid ""
-"**Install OnionShare using Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Install OnionShare using Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
msgstr ""
-"**Instala OnionShare usando Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Instala OnionShare usando Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
#: ../../source/install.rst:21
msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
-msgstr ""
-"**Instala OnionShare usando Snapcraft**: https://snapcraft.io/onionshare"
+msgstr "**Instala OnionShare usando Snapcraft**: https://snapcraft.io/onionshare"
#: ../../source/install.rst:23
msgid ""
@@ -88,43 +87,43 @@ msgstr "Instalación manual con Flatpak"
#: ../../source/install.rst:28
msgid ""
"If you'd like to install OnionShare manually with Flatpak using the PGP-"
-"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
-"bundles.html>`_, you can do so like this:"
+"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-"
+"file-bundles.html>`_, you can do so like this:"
msgstr ""
-"Si deseas instalar OnionShare manualmente con Flatpak usando el `paquete de "
-"un solo archivo firmado por PGP <https://docs.flatpak.org/en/latest/single-"
-"file-bundles.html>`_, puedes hacerlo así como este:"
+"Si deseas instalar OnionShare manualmente con Flatpak usando el `paquete "
+"de un solo archivo firmado por PGP <https://docs.flatpak.org/en/latest"
+"/single-file-bundles.html>`_, puedes hacerlo así como este:"
-#: ../../source/install.rst:30
+#: ../../source/install.rst:55
msgid ""
-"Install Flatpak by following the instructions at https://flatpak.org/setup/."
-msgstr ""
-"Instala Flatpak siguiendo las instrucciones en https://flatpak.org/setup/."
+"Install Flatpak by following the instructions at "
+"https://flatpak.org/setup/."
+msgstr "Instala Flatpak siguiendo las instrucciones en https://flatpak.org/setup/."
#: ../../source/install.rst:31
msgid ""
-"Add the Flathub repository by running ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Even though you "
-"won't be downloading OnionShare from Flathub, OnionShare depends on some "
-"packages that are only available there."
+"Add the Flathub repository by running ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Even "
+"though you won't be downloading OnionShare from Flathub, OnionShare "
+"depends on some packages that are only available there."
msgstr ""
-"Agrega el repositorio de Flathub ejecutando ``flatpak remote-add --if-not-"
-"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Aunque no "
-"descargará OnionShare desde Flathub, OnionShare depende de algunos paquetes "
-"que solo están disponibles allí."
+"Agrega el repositorio de Flathub ejecutando ``flatpak remote-add --if-"
+"not-exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Aunque"
+" no descargará OnionShare desde Flathub, OnionShare depende de algunos "
+"paquetes que solo están disponibles allí."
#: ../../source/install.rst:32
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.flatpak`` and ``.flatpak.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.flatpak`` and ``.flatpak.asc`` files."
msgstr ""
-"Ve a https://onionshare.org/dist/, elige la última versión de OnionShare y "
-"descarga los archivos ``.flatpak`` y ``.flatpak.asc``."
+"Ve a https://onionshare.org/dist/, elige la última versión de OnionShare "
+"y descarga los archivos ``.flatpak`` y ``.flatpak.asc``."
#: ../../source/install.rst:33
msgid ""
-"Verify the PGP signature of the ``.flatpak`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.flatpak`` file. See "
+":ref:`verifying_sigs` for more info."
msgstr ""
"Verifica la firma PGP del archivo ``.flatpak``. Consulta "
":ref:`verifying_sigs` para obtener más información."
@@ -132,8 +131,8 @@ msgstr ""
#: ../../source/install.rst:34
msgid ""
"Install the ``.flatpak`` file by running ``flatpak install OnionShare-"
-"VERSION.flatpak``. Replace ``VERSION`` with the version number of the file "
-"you downloaded."
+"VERSION.flatpak``. Replace ``VERSION`` with the version number of the "
+"file you downloaded."
msgstr ""
"Instala el archivo ``.flatpak`` ejecutando ``flatpak install OnionShare-"
"VERSION.flatpak``. Reemplaza ``VERSION`` con el número de la versión del "
@@ -141,8 +140,7 @@ msgstr ""
#: ../../source/install.rst:36
msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
-msgstr ""
-"Puedes ejecutar OnionShare con: `flatpak run org.onionshare.OnionShare`."
+msgstr "Puedes ejecutar OnionShare con: `flatpak run org.onionshare.OnionShare`."
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
@@ -150,49 +148,50 @@ msgstr "Instalación manual de Snapcraft"
#: ../../source/install.rst:41
msgid ""
-"If you'd like to install OnionShare manually with Snapcraft using the PGP-"
-"signed Snapcraft package, you can do so like this:"
+"If you'd like to install OnionShare manually with Snapcraft using the "
+"PGP-signed Snapcraft package, you can do so like this:"
msgstr ""
-"Si quieres instalar OnionShare manualmente con Snapcraft usando el paquete "
-"Snapcraft firmado con PGP, puedes hacerlo así:"
+"Si quieres instalar OnionShare manualmente con Snapcraft usando el "
+"paquete Snapcraft firmado con PGP, puedes hacerlo así:"
#: ../../source/install.rst:43
msgid ""
-"Install Snapcraft by following the instructions at https://snapcraft.io/docs/"
-"installing-snapd."
+"Install Snapcraft by following the instructions at "
+"https://snapcraft.io/docs/installing-snapd."
msgstr ""
-"Instala Snapcraft siguiendo las instrucciones de https://snapcraft.io/docs/"
-"installing-snapd."
+"Instala Snapcraft siguiendo las instrucciones de "
+"https://snapcraft.io/docs/installing-snapd."
#: ../../source/install.rst:44
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.snap`` and ``.snap.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.snap`` and ``.snap.asc`` files."
msgstr ""
-"Vete a https://onionshare.org/dist/, elije la última versión de OnionShare y "
-"descarga los archivos ``.snap`` y ``.snap.asc``."
+"Vete a https://onionshare.org/dist/, elije la última versión de "
+"OnionShare y descarga los archivos ``.snap`` y ``.snap.asc``."
#: ../../source/install.rst:45
msgid ""
-"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs`"
+" for more info."
msgstr ""
-"Verifica la firma PGP del archivo ``.snap``. Consulta :ref:`verifying_sigs` "
-"para obtener más información."
+"Verifica la firma PGP del archivo ``.snap``. Consulta "
+":ref:`verifying_sigs` para obtener más información."
#: ../../source/install.rst:46
msgid ""
"Install the ``.snap`` file by running ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version number "
-"of the file you downloaded. Note that you must use `--dangerous` because the "
-"package is not signed by the Snapcraft store, however you did verify its PGP "
-"signature, so you know it's legitimate."
+"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version "
+"number of the file you downloaded. Note that you must use `--dangerous` "
+"because the package is not signed by the Snapcraft store, however you did"
+" verify its PGP signature, so you know it's legitimate."
msgstr ""
"Instala el archivo ``.snap`` ejecutando ``snap install "
-"--dangerousionsonshare_VERSION_amd64.snap``. Reemplaza ``VERSION`` con el "
-"número de versión del archivo que descargaste. Ten en cuenta que debes usar "
-"`--dangerous` porque el paquete no está firmado por la tienda de Snapcraft, "
-"sin embargo, verificó tu firma PGP, por lo que sabe que es legítimo."
+"--dangerousionsonshare_VERSION_amd64.snap``. Reemplaza ``VERSION`` con el"
+" número de versión del archivo que descargaste. Ten en cuenta que debes "
+"usar `--dangerous` porque el paquete no está firmado por la tienda de "
+"Snapcraft, sin embargo, verificó tu firma PGP, por lo que sabe que es "
+"legítimo."
#: ../../source/install.rst:48
msgid "You can run OnionShare with: `snap run onionshare`."
@@ -204,8 +203,9 @@ msgstr "Sólo línea de comandos"
#: ../../source/install.rst:55
msgid ""
-"You can install just the command-line version of OnionShare on any operating "
-"system using the Python package manager ``pip``. :ref:`cli` has more info."
+"You can install just the command-line version of OnionShare on any "
+"operating system using the Python package manager ``pip``. :ref:`cli` has"
+" more info."
msgstr ""
"Puedes instalar sólo la versión de línea de comandos de OnionShare en "
"cualquier sistema operativo utilizando el gestor de paquetes de Python "
@@ -217,17 +217,17 @@ msgstr "Verificar firmas PGP"
#: ../../source/install.rst:62
msgid ""
-"You can verify that the package you download is legitimate and hasn't been "
-"tampered with by verifying its PGP signature. For Windows and macOS, this "
-"step is optional and provides defense in depth: the OnionShare binaries "
-"include operating system-specific signatures, and you can just rely on those "
-"alone if you'd like."
+"You can verify that the package you download is legitimate and hasn't "
+"been tampered with by verifying its PGP signature. For Windows and macOS,"
+" this step is optional and provides defense in depth: the OnionShare "
+"binaries include operating system-specific signatures, and you can just "
+"rely on those alone if you'd like."
msgstr ""
-"Puedes verificar que el paquete que descargaste sea legítimo y no haya sido "
-"manipulado al verificar su firma PGP. Para Windows y macOS, este paso es "
-"opcional, y provee defensa en profundidad: los ejecutables OnionShare "
-"incluyen firmas específicas del sistema operativo, y puedes confiar solo en "
-"ellas si así lo prefieres."
+"Puedes verificar que el paquete que descargaste sea legítimo y no haya "
+"sido manipulado al verificar su firma PGP. Para Windows y macOS, este "
+"paso es opcional, y provee defensa en profundidad: los ejecutables "
+"OnionShare incluyen firmas específicas del sistema operativo, y puedes "
+"confiar solo en ellas si así lo prefieres."
#: ../../source/install.rst:66
msgid "Signing key"
@@ -235,142 +235,202 @@ msgstr "Clave de firma"
#: ../../source/install.rst:68
msgid ""
-"Packages are signed by Micah Lee, the core developer, using his PGP public "
-"key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
-"download Micah's key `from the keys.openpgp.org keyserver <https://keys."
-"openpgp.org/vks/v1/by-"
+"Packages are signed by Micah Lee, the core developer, using his PGP "
+"public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
+" You can download Micah's key `from the keys.openpgp.org keyserver "
+"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
"Los paquetes están firmados por Micah Lee, el desarrollador principal, "
"usando su clave pública PGP con huella digital "
-"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Puedes descargar la clave de "
-"Micah `desde el servidor de llaves keys.openpgp.org <https://keys.openpgp."
-"org/vks/v1/by-fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Puedes descargar la clave "
+"de Micah `desde el servidor de llaves keys.openpgp.org "
+"<https://keys.openpgp.org/vks/v1/by-"
+"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#: ../../source/install.rst:71
msgid ""
-"You must have GnuPG installed to verify signatures. For macOS you probably "
-"want `GPGTools <https://gpgtools.org/>`_, and for Windows you probably want "
-"`Gpg4win <https://www.gpg4win.org/>`_."
+"You must have GnuPG installed to verify signatures. For macOS you "
+"probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you "
+"probably want `Gpg4win <https://www.gpg4win.org/>`_."
msgstr ""
-"Para verificar firmas, debes tener GnuPG instalado. Para macOS probablemente "
-"quieras `GPGTools <https://gpgtools.org/>`_, y para Windows, `Gpg4win "
-"<https://www.gpg4win.org/>`_."
+"Para verificar firmas, debes tener GnuPG instalado. Para macOS "
+"probablemente quieras `GPGTools <https://gpgtools.org/>`_, y para "
+"Windows, `Gpg4win <https://www.gpg4win.org/>`_."
#: ../../source/install.rst:74
msgid "Signatures"
msgstr "Firmas"
#: ../../source/install.rst:76
+#, fuzzy
msgid ""
-"You can find the signatures (as ``.asc`` files), as well as Windows, macOS, "
-"Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the "
-"folders named for each version of OnionShare. You can also find them on the "
-"`GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+"You can find the signatures (as ``.asc`` files), as well as Windows, "
+"macOS, Flatpak, Snap, and source packages, at "
+"https://onionshare.org/dist/ in the folders named for each version of "
+"OnionShare. You can also find them on the `GitHub Releases page "
+"<https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
"Puedes encontrar las firmas (archivos ``.asc``), como así también los "
-"paquetes para Windows, macOS, Flatpak, Snap y el código fuente, en https://"
-"onionshare.org/dist/ en las carpetas nombradas por cada versión de "
-"OnionShare. También puedes encontrarlas en la `página de Lanzamientos de "
-"GitHub <https://github.com/micahflee/onionshare/releases>`_."
+"paquetes para Windows, macOS, Flatpak, Snap y el código fuente, en "
+"https://onionshare.org/dist/ en las carpetas nombradas por cada versión "
+"de OnionShare. También puedes encontrarlas en la `página de Lanzamientos "
+"de GitHub <https://github.com/micahflee/onionshare/releases>`_."
#: ../../source/install.rst:80
msgid "Verifying"
msgstr "Verificando"
#: ../../source/install.rst:82
+#, fuzzy
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
-"downloaded the binary and ``.asc`` signature, you can verify the binary for "
-"macOS in a terminal like this::"
+"downloaded the binary and ``.asc`` signature, you can verify the binary "
+"in a terminal like this:"
msgstr ""
-"Una vez que hayas importado la clave pública de Micah en tu llavero GnuPG, "
-"descargado el binario y la firma ``.asc``, puedes verificar el binario para "
-"macOS en un terminal de la siguiente manera::"
+"Una vez que hayas importado la clave pública de Micah en tu llavero "
+"GnuPG, descargado el binario y la firma ``.asc``, puedes verificar el "
+"binario para macOS en un terminal de la siguiente manera::"
-#: ../../source/install.rst:86
-msgid "Or for Windows, in a command-prompt like this::"
-msgstr "O para Windows en una línea de comando como sigue::"
+#: ../../source/install.rst:84
+msgid "For Windows::"
+msgstr ""
+
+#: ../../source/install.rst:88
+msgid "For macOS::"
+msgstr ""
-#: ../../source/install.rst:90
+#: ../../source/install.rst:92
+#, fuzzy
+msgid "For Linux::"
+msgstr "Linux"
+
+#: ../../source/install.rst:98
+msgid "and for the source file::"
+msgstr ""
+
+#: ../../source/install.rst:102
msgid "The expected output looks like this::"
msgstr "La salida esperada se parece a esta::"
-#: ../../source/install.rst:102
+#: ../../source/install.rst:112
+#, fuzzy
msgid ""
-"If you don't see ``Good signature from``, there might be a problem with the "
-"integrity of the file (malicious or otherwise), and you should not install "
-"the package. (The ``WARNING:`` shown above, is not a problem with the "
-"package, it only means you haven't defined a level of \"trust\" of Micah's "
-"(the core developer) PGP key.)"
+"If you don't see ``Good signature from``, there might be a problem with "
+"the integrity of the file (malicious or otherwise), and you should not "
+"install the package."
msgstr ""
-"Si no ves ``Good signature from``, puede haber un problema con la integridad "
-"del archivo (malicioso o no), y no deberías instalar el paquete. (El "
-"``WARNING:`` mostrado arriba, no es un problema con el paquete, sólo "
-"significa que no has definido un nivel de \"confianza\" de la clave PGP de "
-"Micah (el desarrollador del núcleo))"
+"Si no ves ``Good signature from``, puede haber un problema con la "
+"integridad del archivo (malicioso o no), y no deberías instalar el "
+"paquete. (El ``WARNING:`` mostrado arriba, no es un problema con el "
+"paquete, sólo significa que no has definido un nivel de \"confianza\" de "
+"la clave PGP de Micah (el desarrollador del núcleo))"
+
+#: ../../source/install.rst:114
+#, fuzzy
+msgid ""
+"The ``WARNING:`` shown above, is not a problem with the package, it only "
+"means you haven't defined a level of \"trust\" of Micah's (the core "
+"developer) PGP key."
+msgstr ""
+"Si no ves ``Good signature from``, puede haber un problema con la "
+"integridad del archivo (malicioso o no), y no deberías instalar el "
+"paquete. (El ``WARNING:`` mostrado arriba, no es un problema con el "
+"paquete, sólo significa que no has definido un nivel de \"confianza\" de "
+"la clave PGP de Micah (el desarrollador del núcleo))"
-#: ../../source/install.rst:104
+#: ../../source/install.rst:116
msgid ""
"If you want to learn more about verifying PGP signatures, the guides for "
-"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and "
-"the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/"
-">`_ may be useful."
+"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and"
+" the `Tor Project <https://support.torproject.org/tbb/how-to-verify-"
+"signature/>`_ may be useful."
msgstr ""
-"Si quieres aprender más acerca de la verificación de firmas PGP, las guías "
-"para `Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ y "
-"el `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/"
-">`_ podrían ser útiles."
+"Si quieres aprender más acerca de la verificación de firmas PGP, las "
+"guías para `Qubes OS <https://www.qubes-os.org/security/verifying-"
+"signatures/>`_ y el `Tor Project <https://support.torproject.org/tbb/how-"
+"to-verify-signature/>`_ podrían ser útiles."
#~ msgid "For added security, see :ref:`verifying_sigs`."
#~ msgstr "Para mayor seguridad, lee :ref:`verifying_sigs`."
#~ msgid ""
-#~ "There are various ways to install OnionShare for Linux, but the "
-#~ "recommended way is to use the Flatpak package. Flatpak ensures that "
-#~ "you'll always use the most latest dependencies and run OnionShare inside "
+#~ "There are various ways to install "
+#~ "OnionShare for Linux, but the "
+#~ "recommended way is to use the "
+#~ "Flatpak package. Flatpak ensures that "
+#~ "you'll always use the most latest "
+#~ "dependencies and run OnionShare inside "
#~ "of a sandbox."
#~ msgstr ""
-#~ "Hay varias formas de instalar OnionShare en Linux, pero recomendamos "
-#~ "utilizar el paquete Flatpak. Flatpak garantiza que las dependencias serán "
-#~ "siempre las más recientes y ejecutará OnionShare dentro de un contenedor "
-#~ "aislado."
+#~ "Hay varias formas de instalar OnionShare"
+#~ " en Linux, pero recomendamos utilizar "
+#~ "el paquete Flatpak. Flatpak garantiza "
+#~ "que las dependencias serán siempre las"
+#~ " más recientes y ejecutará OnionShare "
+#~ "dentro de un contenedor aislado."
#~ msgid ""
-#~ "Make sure you have ``flatpak`` installed and the Flathub repository added "
-#~ "by following `these instructions <https://flatpak.org/setup/>`_ for your "
-#~ "Linux distribution."
+#~ "Make sure you have ``flatpak`` installed"
+#~ " and the Flathub repository added by"
+#~ " following `these instructions "
+#~ "<https://flatpak.org/setup/>`_ for your Linux "
+#~ "distribution."
#~ msgstr ""
-#~ "Instala ``flatpak`` y añade el repositorio Flathub siguiendo `estas "
-#~ "instrucciones <https://flatpak.org/setup/>`_ para tu distribución Linux."
+#~ "Instala ``flatpak`` y añade el "
+#~ "repositorio Flathub siguiendo `estas "
+#~ "instrucciones <https://flatpak.org/setup/>`_ para tu"
+#~ " distribución Linux."
#~ msgid ""
-#~ "You can verify that the Windows, macOS, or source package you download is "
-#~ "legitimate and hasn't been tampered with by verifying its PGP signature. "
-#~ "For Windows and macOS, this step is optional and provides defense in "
-#~ "depth: the installers also include their operating system-specific "
-#~ "signatures, and you can just rely on those alone if you'd like."
+#~ "You can verify that the Windows, "
+#~ "macOS, or source package you download"
+#~ " is legitimate and hasn't been "
+#~ "tampered with by verifying its PGP "
+#~ "signature. For Windows and macOS, this"
+#~ " step is optional and provides "
+#~ "defense in depth: the installers also"
+#~ " include their operating system-specific"
+#~ " signatures, and you can just rely"
+#~ " on those alone if you'd like."
#~ msgstr ""
-#~ "Puedes asegurate de que el paquete con el código fuente, el de Windows o "
-#~ "el de macOS que descargaste es correcto y no ha sido manipulado "
-#~ "verificando su firma PGP. Para Windows y macOS este paso es opcional, y "
-#~ "provee defensa en profundidad: los instaladores también incluyen sus "
-#~ "firmas específicas del sistema operativo, y puedes confiar solo en ellas "
-#~ "si así lo deseas."
+#~ "Puedes asegurate de que el paquete "
+#~ "con el código fuente, el de "
+#~ "Windows o el de macOS que "
+#~ "descargaste es correcto y no ha "
+#~ "sido manipulado verificando su firma "
+#~ "PGP. Para Windows y macOS este "
+#~ "paso es opcional, y provee defensa "
+#~ "en profundidad: los instaladores también "
+#~ "incluyen sus firmas específicas del "
+#~ "sistema operativo, y puedes confiar solo"
+#~ " en ellas si así lo deseas."
#~ msgid ""
-#~ "Windows, macOS, and source packaged are signed by Micah Lee, the core "
-#~ "developer, using his PGP public key with fingerprint "
-#~ "``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can download Micah's "
-#~ "key `from the keys.openpgp.org keyserver <https://keys.openpgp.org/vks/v1/"
-#~ "by-fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+#~ "Windows, macOS, and source packaged are"
+#~ " signed by Micah Lee, the core "
+#~ "developer, using his PGP public key "
+#~ "with fingerprint "
+#~ "``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
+#~ "download Micah's key `from the "
+#~ "keys.openpgp.org keyserver "
+#~ "<https://keys.openpgp.org/vks/v1/by-"
+#~ "fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#~ msgstr ""
-#~ "Los paquetes para Windows, macOS, y el código fuente están firmados por "
-#~ "Micah Lee, el desarrollador principal, usando su clave PGP pública con "
-#~ "huella digital ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Puedes "
-#~ "descargar la clave de Micah `desde el servidor de claves keys.openpgp.org "
+#~ "Los paquetes para Windows, macOS, y "
+#~ "el código fuente están firmados por "
+#~ "Micah Lee, el desarrollador principal, "
+#~ "usando su clave PGP pública con "
+#~ "huella digital "
+#~ "``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Puedes "
+#~ "descargar la clave de Micah `desde "
+#~ "el servidor de claves keys.openpgp.org "
#~ "<https://keys.openpgp.org/vks/v1/by-"
#~ "fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#~ msgid "Install in Linux"
#~ msgstr "Instalar en Linux"
+
+#~ msgid "Or for Windows, in a command-prompt like this::"
+#~ msgstr "O para Windows en una línea de comando como sigue::"
+
diff --git a/docs/source/locale/fr/LC_MESSAGES/install.po b/docs/source/locale/fr/LC_MESSAGES/install.po
index 84a87638..b0c4c9f9 100644
--- a/docs/source/locale/fr/LC_MESSAGES/install.po
+++ b/docs/source/locale/fr/LC_MESSAGES/install.po
@@ -7,11 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
-"PO-Revision-Date: 2023-11-03 05:01+0000\n"
-"Last-Translator: emma peel <emma.peel@riseup.net>\n"
-"Language-Team: none\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
+"PO-Revision-Date: 2023-06-07 14:30+0000\n"
+"Last-Translator: tachyglossues <tachyglossues@gmail.com>\n"
"Language: fr\n"
+"Language-Team: none\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -32,8 +33,8 @@ msgid ""
"You can download OnionShare for Windows and macOS from the `OnionShare "
"website <https://onionshare.org/>`_."
msgstr ""
-"Vous pouvez télécharger OnionShare pour Windows et macOS depuis le `site web "
-"OnionShare <https://onionshare.org/>`_."
+"Vous pouvez télécharger OnionShare pour Windows et macOS depuis le `site "
+"web OnionShare <https://onionshare.org/>`_."
#: ../../source/install.rst:12
msgid "Linux"
@@ -41,16 +42,18 @@ msgstr "Linux"
#: ../../source/install.rst:14
msgid ""
-"There are various ways to install OnionShare for Linux, but the recommended "
-"way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap "
-"<https://snapcraft.io/>`_ package. Flatpak and Snapcraft ensure that you'll "
-"always use the newest version and run OnionShare inside of a sandbox."
+"There are various ways to install OnionShare for Linux, but the "
+"recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or"
+" the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snapcraft "
+"ensure that you'll always use the newest version and run OnionShare "
+"inside of a sandbox."
msgstr ""
"Il existe plusieurs façons d'installer OnionShare pour Linux, mais la "
-"méthode recommandée est d'utiliser soit le paquet `Flatpak <https://flatpak."
-"org/>`_ soit le paquet `Snap <https://snapcraft.io/>`_. Flatpak et Snapcraft "
-"garantissent que vous utiliserez toujours la version la plus récente et que "
-"vous exécuterez OnionShare à l'intérieur d'un bac à sable."
+"méthode recommandée est d'utiliser soit le paquet `Flatpak "
+"<https://flatpak.org/>`_ soit le paquet `Snap <https://snapcraft.io/>`_. "
+"Flatpak et Snapcraft garantissent que vous utiliserez toujours la version"
+" la plus récente et que vous exécuterez OnionShare à l'intérieur d'un bac"
+" à sable."
#: ../../source/install.rst:17
msgid ""
@@ -58,30 +61,32 @@ msgid ""
"support, but which you use is up to you. Both work in all Linux "
"distributions."
msgstr ""
-"La prise en charge de Snapcraft est intégrée à Ubuntu et Fedora est fournie "
-"avec la prise en charge de Flatpak, mais c'est à vous de choisir. Les deux "
-"fonctionnent dans toutes les distributions Linux."
+"La prise en charge de Snapcraft est intégrée à Ubuntu et Fedora est "
+"fournie avec la prise en charge de Flatpak, mais c'est à vous de choisir."
+" Les deux fonctionnent dans toutes les distributions Linux."
#: ../../source/install.rst:19
msgid ""
-"**Install OnionShare using Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Install OnionShare using Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
msgstr ""
-"**Installer OnionShare en utilisant Flatpak** : https://flathub.org/apps/"
-"details/org.onionshare.OnionShare"
+"**Installer OnionShare en utilisant Flatpak** : "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
#: ../../source/install.rst:21
msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
msgstr ""
-"**Installer OnionShare en utilisant Snap** : https://snapcraft.io/onionshare"
+"**Installer OnionShare en utilisant Snap** : "
+"https://snapcraft.io/onionshare"
#: ../../source/install.rst:23
msgid ""
"You can also download and install PGP-signed ``.flatpak`` or ``.snap`` "
"packages from https://onionshare.org/dist/ if you prefer."
msgstr ""
-"Vous pouvez aussi télécharger et installer des paquets ``.flatpak`` ou ``."
-"snap`` signé avec PGP depuis https://onionshare.org/dist/ si vous préférer."
+"Vous pouvez aussi télécharger et installer des paquets ``.flatpak`` ou "
+"``.snap`` signé avec PGP depuis https://onionshare.org/dist/ si vous "
+"préférer."
#: ../../source/install.rst:26
msgid "Manual Flatpak Installation"
@@ -90,26 +95,28 @@ msgstr "Installation manuelle de Flatpak"
#: ../../source/install.rst:28
msgid ""
"If you'd like to install OnionShare manually with Flatpak using the PGP-"
-"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
-"bundles.html>`_, you can do so like this:"
+"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-"
+"file-bundles.html>`_, you can do so like this:"
msgstr ""
"Si vous souhaitez installer OnionShare manuellement avec Flatpak en "
-"utilisant le `single-file bundle <https://docs.flatpak.org/en/latest/single-"
-"file-bundles.html>`_signé par PGP, vous pouvez le faire comme suit :"
+"utilisant le `single-file bundle <https://docs.flatpak.org/en/latest"
+"/single-file-bundles.html>`_signé par PGP, vous pouvez le faire comme "
+"suit :"
-#: ../../source/install.rst:30
+#: ../../source/install.rst:55
msgid ""
-"Install Flatpak by following the instructions at https://flatpak.org/setup/."
+"Install Flatpak by following the instructions at "
+"https://flatpak.org/setup/."
msgstr ""
-"Installez Flatpak en suivant les instructions à l'adresse https://flatpak."
-"org/setup/."
+"Installez Flatpak en suivant les instructions à l'adresse "
+"https://flatpak.org/setup/."
#: ../../source/install.rst:31
msgid ""
-"Add the Flathub repository by running ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Even though you "
-"won't be downloading OnionShare from Flathub, OnionShare depends on some "
-"packages that are only available there."
+"Add the Flathub repository by running ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Even "
+"though you won't be downloading OnionShare from Flathub, OnionShare "
+"depends on some packages that are only available there."
msgstr ""
"Ajoutez le dépôt Flathub en lançant ``flatpak remote-add --if-not-exists "
"flathub https://flathub.org/repo/flathub.flatpakrepo``. Même si vous ne "
@@ -118,34 +125,36 @@ msgstr ""
#: ../../source/install.rst:32
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.flatpak`` and ``.flatpak.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.flatpak`` and ``.flatpak.asc`` files."
msgstr ""
"Allez sur https://onionshare.org/dist/, choisissez la dernière version "
-"d'OnionShare, et téléchargez les fichiers ``.flatpak`` et ``.flatpak.asc``."
+"d'OnionShare, et téléchargez les fichiers ``.flatpak`` et "
+"``.flatpak.asc``."
#: ../../source/install.rst:33
msgid ""
-"Verify the PGP signature of the ``.flatpak`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.flatpak`` file. See "
+":ref:`verifying_sigs` for more info."
msgstr ""
-"Vérifie la signature PGP du fichier ``.flatpak``. Voir :ref:`verifying_sigs` "
-"pour plus d'informations."
+"Vérifie la signature PGP du fichier ``.flatpak``. Voir "
+":ref:`verifying_sigs` pour plus d'informations."
#: ../../source/install.rst:34
msgid ""
"Install the ``.flatpak`` file by running ``flatpak install OnionShare-"
-"VERSION.flatpak``. Replace ``VERSION`` with the version number of the file "
-"you downloaded."
+"VERSION.flatpak``. Replace ``VERSION`` with the version number of the "
+"file you downloaded."
msgstr ""
-"Installez le fichier ``.flatpak`` en exécutant ``flatpak install OnionShare-"
-"VERSION.flatpak``. Remplacez ``VERSION`` par le numéro de version du fichier "
-"que vous avez téléchargé."
+"Installez le fichier ``.flatpak`` en exécutant ``flatpak install "
+"OnionShare-VERSION.flatpak``. Remplacez ``VERSION`` par le numéro de "
+"version du fichier que vous avez téléchargé."
#: ../../source/install.rst:36
msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
msgstr ""
-"Vous pouvez lancer OnionShare avec : `flatpak run org.onionshare.OnionShare`."
+"Vous pouvez lancer OnionShare avec : `flatpak run "
+"org.onionshare.OnionShare`."
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
@@ -153,50 +162,51 @@ msgstr "Manuel d'installation de Snapcraft"
#: ../../source/install.rst:41
msgid ""
-"If you'd like to install OnionShare manually with Snapcraft using the PGP-"
-"signed Snapcraft package, you can do so like this:"
+"If you'd like to install OnionShare manually with Snapcraft using the "
+"PGP-signed Snapcraft package, you can do so like this:"
msgstr ""
"Si vous souhaitez installer OnionShare manuellement avec Snapcraft en "
-"utilisant le paquet Snapcraft signé PGP, vous pouvez le faire comme suit :"
+"utilisant le paquet Snapcraft signé PGP, vous pouvez le faire comme suit "
+":"
-#: ../../source/install.rst:43
+#: ../../source/install.rst:68
msgid ""
-"Install Snapcraft by following the instructions at https://snapcraft.io/docs/"
-"installing-snapd."
+"Install Snapcraft by following the instructions at "
+"https://snapcraft.io/docs/installing-snapd."
msgstr ""
-"Installez Snapcraft en suivant les instructions à l'adresse https://snapcraft"
-".io/docs/installing-snapd."
+"Installez Snapcraft en suivant les instructions à l'adresse "
+"https://snapcraft.io/docs/installing-snapd."
#: ../../source/install.rst:44
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.snap`` and ``.snap.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.snap`` and ``.snap.asc`` files."
msgstr ""
"Allez sur https://onionshare.org/dist/, choisissez la dernière version "
"d'OnionShare, et téléchargez les fichiers ``.snap`` et ``.snap.asc``."
#: ../../source/install.rst:45
msgid ""
-"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs`"
+" for more info."
msgstr ""
-"Vérifie la signature PGP du fichier ``.snap``. Voir :ref:`verifying_sigs` "
-"pour plus d'informations."
+"Vérifie la signature PGP du fichier ``.snap``. Voir :ref:`verifying_sigs`"
+" pour plus d'informations."
-#: ../../source/install.rst:46
+#: ../../source/install.rst:71
msgid ""
"Install the ``.snap`` file by running ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version number "
-"of the file you downloaded. Note that you must use `--dangerous` because the "
-"package is not signed by the Snapcraft store, however you did verify its PGP "
-"signature, so you know it's legitimate."
+"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version "
+"number of the file you downloaded. Note that you must use `--dangerous` "
+"because the package is not signed by the Snapcraft store, however you did"
+" verify its PGP signature, so you know it's legitimate."
msgstr ""
"Installez le fichier ``.snap`` en exécutant ``snap install --dangerous "
"onionshare_VERSION_amd64.snap``. Remplacez ``VERSION`` par le numéro de "
-"version du fichier que vous avez téléchargé. Notez que vous devez utiliser "
-"`--dangerous` parce que le paquet n'est pas signé par le magasin Snapcraft, "
-"cependant vous avez vérifié sa signature PGP, donc vous savez qu'il est "
-"légitime."
+"version du fichier que vous avez téléchargé. Notez que vous devez "
+"utiliser `--dangerous` parce que le paquet n'est pas signé par le magasin"
+" Snapcraft, cependant vous avez vérifié sa signature PGP, donc vous savez"
+" qu'il est légitime."
#: ../../source/install.rst:48
msgid "You can run OnionShare with: `snap run onionshare`."
@@ -208,12 +218,13 @@ msgstr "Uniquement en ligne de commande"
#: ../../source/install.rst:55
msgid ""
-"You can install just the command-line version of OnionShare on any operating "
-"system using the Python package manager ``pip``. :ref:`cli` has more info."
+"You can install just the command-line version of OnionShare on any "
+"operating system using the Python package manager ``pip``. :ref:`cli` has"
+" more info."
msgstr ""
"Vous pouvez installer uniquement la version en ligne de commande "
-"d'OnionShare sur n'importe quel OS en utilisant le gestionnaire de paquets "
-"``pip``. Voir :ref:`cli` pour plus de précisions."
+"d'OnionShare sur n'importe quel OS en utilisant le gestionnaire de "
+"paquets ``pip``. Voir :ref:`cli` pour plus de précisions."
#: ../../source/install.rst:60
msgid "Verifying PGP signatures"
@@ -221,17 +232,18 @@ msgstr "Vérifier les signatures PGP"
#: ../../source/install.rst:62
msgid ""
-"You can verify that the package you download is legitimate and hasn't been "
-"tampered with by verifying its PGP signature. For Windows and macOS, this "
-"step is optional and provides defense in depth: the OnionShare binaries "
-"include operating system-specific signatures, and you can just rely on those "
-"alone if you'd like."
+"You can verify that the package you download is legitimate and hasn't "
+"been tampered with by verifying its PGP signature. For Windows and macOS,"
+" this step is optional and provides defense in depth: the OnionShare "
+"binaries include operating system-specific signatures, and you can just "
+"rely on those alone if you'd like."
msgstr ""
"Vous pouvez vérifier que les paquets que vous téléchargés n'ont pas été "
-"falsifiés en vérifiant la signature PGP. Pour Windows et macOS, cette étape "
-"est optionnelle et procure une défense en profondeur : les exécutables "
-"OnionShare incluent des signatures spécifiques aux systèmes, et vous pouvez "
-"vous reposer uniquement sur celles-là si vous le souhaitez."
+"falsifiés en vérifiant la signature PGP. Pour Windows et macOS, cette "
+"étape est optionnelle et procure une défense en profondeur : les "
+"exécutables OnionShare incluent des signatures spécifiques aux systèmes, "
+"et vous pouvez vous reposer uniquement sur celles-là si vous le "
+"souhaitez."
#: ../../source/install.rst:66
msgid "Signing key"
@@ -239,89 +251,120 @@ msgstr "Clé de signature"
#: ../../source/install.rst:68
msgid ""
-"Packages are signed by Micah Lee, the core developer, using his PGP public "
-"key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
-"download Micah's key `from the keys.openpgp.org keyserver <https://keys."
-"openpgp.org/vks/v1/by-"
+"Packages are signed by Micah Lee, the core developer, using his PGP "
+"public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
+" You can download Micah's key `from the keys.openpgp.org keyserver "
+"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
-"Les paquets sont signés par Micah Lee, développeur principal, utilisant sa "
-"clé PGP publique ayant comme empreinte "
-"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Vous pouvez téléchargez sa clé "
-"`depuis le serveur de clé openpgp.org. <https://keys.openpgp.org/vks/v1/by-"
+"Les paquets sont signés par Micah Lee, développeur principal, utilisant "
+"sa clé PGP publique ayant comme empreinte "
+"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Vous pouvez téléchargez sa "
+"clé `depuis le serveur de clé openpgp.org. "
+"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#: ../../source/install.rst:71
msgid ""
-"You must have GnuPG installed to verify signatures. For macOS you probably "
-"want `GPGTools <https://gpgtools.org/>`_, and for Windows you probably want "
-"`Gpg4win <https://www.gpg4win.org/>`_."
+"You must have GnuPG installed to verify signatures. For macOS you "
+"probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you "
+"probably want `Gpg4win <https://www.gpg4win.org/>`_."
msgstr ""
-"Vous devez avoir installé GnuPG pour vérifier les signatures. Pour macOS, "
-"vous voudrez probablement utilisé `GPGTools <https://gpgtools.org/>`_, et "
-"pour Windows `Gpg4win <https://www.gpg4win.org/>`_."
+"Vous devez avoir installé GnuPG pour vérifier les signatures. Pour macOS,"
+" vous voudrez probablement utilisé `GPGTools <https://gpgtools.org/>`_, "
+"et pour Windows `Gpg4win <https://www.gpg4win.org/>`_."
#: ../../source/install.rst:74
msgid "Signatures"
msgstr "Signatures"
#: ../../source/install.rst:76
+#, fuzzy
msgid ""
-"You can find the signatures (as ``.asc`` files), as well as Windows, macOS, "
-"Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the "
-"folders named for each version of OnionShare. You can also find them on the "
-"`GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+"You can find the signatures (as ``.asc`` files), as well as Windows, "
+"macOS, Flatpak, Snap, and source packages, at "
+"https://onionshare.org/dist/ in the folders named for each version of "
+"OnionShare. You can also find them on the `GitHub Releases page "
+"<https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
-"Vous pouvez trouver les signatures (en tant fichiers ``.asc``), ainsi que "
-"les fichiers Windows, macOS, Flatpak, Snap et sources, à https://onionshare."
-"org/dist/ in les dossiers correspondants à chaque version d'OnionShare. Vous "
-"pouvez aussi les trouvez sur `la page des versions GitHub <https://github."
-"com/micahflee/onionshare/releases>`_."
+"Vous pouvez trouver les signatures (en tant fichiers ``.asc``), ainsi que"
+" les fichiers Windows, macOS, Flatpak, Snap et sources, à "
+"https://onionshare.org/dist/ in les dossiers correspondants à chaque "
+"version d'OnionShare. Vous pouvez aussi les trouvez sur `la page des "
+"versions GitHub <https://github.com/micahflee/onionshare/releases>`_."
#: ../../source/install.rst:80
msgid "Verifying"
msgstr "Vérifier"
#: ../../source/install.rst:82
+#, fuzzy
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
-"downloaded the binary and ``.asc`` signature, you can verify the binary for "
-"macOS in a terminal like this::"
+"downloaded the binary and ``.asc`` signature, you can verify the binary "
+"in a terminal like this:"
+msgstr ""
+"Une fois que vous avez importé la clé publique de Micah dans votre "
+"trousseau de clés GnuPG, téléchargé le binaire et la signature ``.asc``, "
+"vous pouvez vérifier le binaire pour macOS dans un terminal comme ceci::"
+
+#: ../../source/install.rst:84
+msgid "For Windows::"
+msgstr ""
+
+#: ../../source/install.rst:88
+msgid "For macOS::"
msgstr ""
-"Une fois que vous avez importé la clé publique de Micah dans votre trousseau "
-"de clés GnuPG, téléchargé le binaire et la signature ``.asc``, vous pouvez "
-"vérifier le binaire pour macOS dans un terminal comme ceci::"
-#: ../../source/install.rst:86
-msgid "Or for Windows, in a command-prompt like this::"
-msgstr "Ou pour Windows, dans l'invite de commande comme ceci ::"
+#: ../../source/install.rst:92
+#, fuzzy
+msgid "For Linux::"
+msgstr "Linux"
-#: ../../source/install.rst:90
+#: ../../source/install.rst:98
+msgid "and for the source file::"
+msgstr ""
+
+#: ../../source/install.rst:102
msgid "The expected output looks like this::"
msgstr "La sortie attendue ressemble à ::"
-#: ../../source/install.rst:102
+#: ../../source/install.rst:112
+#, fuzzy
+msgid ""
+"If you don't see ``Good signature from``, there might be a problem with "
+"the integrity of the file (malicious or otherwise), and you should not "
+"install the package."
+msgstr ""
+"Si vous ne voyez pas ``Good signature from``, il se peut qu'il y ait un "
+"problème avec l'intégrité du fichier (malveillant ou autre chose), et "
+"vous ne devriez pas installer le paquet. (Le ``WARNING:`` affiché au "
+"dessus, n'est pas un problème avec le paquet, cela veut seulement dire "
+"que vous n'avez pas défini le niveau de \"confiance\" de la clé PGP de "
+"Micah.)"
+
+#: ../../source/install.rst:114
+#, fuzzy
msgid ""
-"If you don't see ``Good signature from``, there might be a problem with the "
-"integrity of the file (malicious or otherwise), and you should not install "
-"the package. (The ``WARNING:`` shown above, is not a problem with the "
-"package, it only means you haven't defined a level of \"trust\" of Micah's "
-"(the core developer) PGP key.)"
+"The ``WARNING:`` shown above, is not a problem with the package, it only "
+"means you haven't defined a level of \"trust\" of Micah's (the core "
+"developer) PGP key."
msgstr ""
"Si vous ne voyez pas ``Good signature from``, il se peut qu'il y ait un "
-"problème avec l'intégrité du fichier (malveillant ou autre chose), et vous "
-"ne devriez pas installer le paquet. (Le ``WARNING:`` affiché au dessus, "
-"n'est pas un problème avec le paquet, cela veut seulement dire que vous "
-"n'avez pas défini le niveau de \"confiance\" de la clé PGP de Micah.)"
+"problème avec l'intégrité du fichier (malveillant ou autre chose), et "
+"vous ne devriez pas installer le paquet. (Le ``WARNING:`` affiché au "
+"dessus, n'est pas un problème avec le paquet, cela veut seulement dire "
+"que vous n'avez pas défini le niveau de \"confiance\" de la clé PGP de "
+"Micah.)"
-#: ../../source/install.rst:104
+#: ../../source/install.rst:116
msgid ""
"If you want to learn more about verifying PGP signatures, the guides for "
-"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and "
-"the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/"
-">`_ may be useful."
+"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and"
+" the `Tor Project <https://support.torproject.org/tbb/how-to-verify-"
+"signature/>`_ may be useful."
msgstr ""
-"Si vous voulez en apprendre plus sur la vérification des signatures PGP, le "
-"guide de `Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`"
-"_ et du `Projet Tor <https://support.torproject.org/fr/tbb/"
-"how-to-verify-signature/>`_ peuvent être utiles."
+"Si vous voulez en apprendre plus sur la vérification des signatures PGP, "
+"le guide de `Qubes OS <https://www.qubes-os.org/security/verifying-"
+"signatures/>`_ et du `Projet Tor <https://support.torproject.org/tbb/how-"
+"to-verify-signature/>`_ peuvent être utiles."
diff --git a/docs/source/locale/ja/LC_MESSAGES/install.po b/docs/source/locale/ja/LC_MESSAGES/install.po
index 2c094538..5e103584 100644
--- a/docs/source/locale/ja/LC_MESSAGES/install.po
+++ b/docs/source/locale/ja/LC_MESSAGES/install.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
-"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
"PO-Revision-Date: 2024-01-31 10:01+0000\n"
"Last-Translator: Himmel <anonymous.colt330@aleeas.com>\n"
diff --git a/docs/source/locale/ja/LC_MESSAGES/security.po b/docs/source/locale/ja/LC_MESSAGES/security.po
index 9febb43c..168d738e 100644
--- a/docs/source/locale/ja/LC_MESSAGES/security.po
+++ b/docs/source/locale/ja/LC_MESSAGES/security.po
@@ -133,11 +133,10 @@ msgid ""
"over Tor, can be used to share the address. This isn't necessary unless "
"anonymity is a goal."
msgstr ""
-"**OnionShareアドレスと秘密鍵の通信は匿名ではないかもしれません。** OnionShare"
-"アドレスが確実に匿名で通信されるように、特別な注意を払う必要があります。Tor経"
-"由でしかアクセスできない新しい電子メールやチャットのアカウントを、アドレスを"
-"共有するために使うことができます。匿名性が目的でなければ、これは必要ありませ"
-"ん。"
+"**OnionShareアドレスの共有は匿名ではないかもしれない。** OnionShareアドレスを"
+"匿名で共有したい場合、ことさら用心に注意する必要があります。Torのみでアクセス"
+"される新しいチャットまたはメールアカウントでアドレスを共有するのはおすすめし"
+"ます。匿名性を目的にしない場合はこういう予防策の必要がありません。"
#~ msgid ""
#~ "**Third parties don't have access to anything that happens in OnionShare."
diff --git a/docs/source/locale/pl/LC_MESSAGES/install.po b/docs/source/locale/pl/LC_MESSAGES/install.po
index 76c07b69..0824f861 100644
--- a/docs/source/locale/pl/LC_MESSAGES/install.po
+++ b/docs/source/locale/pl/LC_MESSAGES/install.po
@@ -7,18 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: 2023-06-07 14:30+0000\n"
"Last-Translator: Matthaiks <kitynska@gmail.com>\n"
-"Language-Team: pl <LL@li.org>\n"
"Language: pl\n"
+"Language-Team: pl <LL@li.org>\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && "
+"(n%100<10 || n%100>=20) ? 1 : 2;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
-"|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.18-dev\n"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/install.rst:2
msgid "Installation"
@@ -33,8 +32,8 @@ msgid ""
"You can download OnionShare for Windows and macOS from the `OnionShare "
"website <https://onionshare.org/>`_."
msgstr ""
-"Możesz pobrać OnionShare dla Windows i macOS ze `strony OnionShare <https://"
-"onionshare.org/>`_."
+"Możesz pobrać OnionShare dla Windows i macOS ze `strony OnionShare "
+"<https://onionshare.org/>`_."
#: ../../source/install.rst:12
msgid "Linux"
@@ -42,15 +41,17 @@ msgstr "Linux"
#: ../../source/install.rst:14
msgid ""
-"There are various ways to install OnionShare for Linux, but the recommended "
-"way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap "
-"<https://snapcraft.io/>`_ package. Flatpak and Snapcraft ensure that you'll "
-"always use the newest version and run OnionShare inside of a sandbox."
+"There are various ways to install OnionShare for Linux, but the "
+"recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or"
+" the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snapcraft "
+"ensure that you'll always use the newest version and run OnionShare "
+"inside of a sandbox."
msgstr ""
"Istnieją różne sposoby instalacji OnionShare dla systemu Linux, ale "
-"zalecanym sposobem jest użycie pakietu `Flatpak <https://flatpak.org/>`_ lub "
-"`Snap <https://snapcraft.io/>`_ . Flatpak i Snap zapewnią, że zawsze "
-"będziesz korzystać z najnowszej wersji i uruchamiać OnionShare w piaskownicy."
+"zalecanym sposobem jest użycie pakietu `Flatpak <https://flatpak.org/>`_ "
+"lub `Snap <https://snapcraft.io/>`_ . Flatpak i Snap zapewnią, że zawsze "
+"będziesz korzystać z najnowszej wersji i uruchamiać OnionShare w "
+"piaskownicy."
#: ../../source/install.rst:17
msgid ""
@@ -64,17 +65,17 @@ msgstr ""
#: ../../source/install.rst:19
msgid ""
-"**Install OnionShare using Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Install OnionShare using Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
msgstr ""
-"**Instalacja OnionShare przy użyciu Flatpak**: https://flathub.org/apps/"
-"details/org.onionshare.OnionShare"
+"**Instalacja OnionShare przy użyciu Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
#: ../../source/install.rst:21
msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
msgstr ""
-"**Instalacja OnionShare przy użyciu Snapcraft**: https://snapcraft.io/"
-"onionshare"
+"**Instalacja OnionShare przy użyciu Snapcraft**: "
+"https://snapcraft.io/onionshare"
#: ../../source/install.rst:23
msgid ""
@@ -91,44 +92,45 @@ msgstr "Ręczna instalacja Flatpak"
#: ../../source/install.rst:28
msgid ""
"If you'd like to install OnionShare manually with Flatpak using the PGP-"
-"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
-"bundles.html>`_, you can do so like this:"
+"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-"
+"file-bundles.html>`_, you can do so like this:"
msgstr ""
-"Jeśli chcesz ręcznie zainstalować OnionShare z Flatpak, używając podpisanego "
-"PGP `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
-"bundles.html>`_, możesz to zrobić w ten sposób:"
+"Jeśli chcesz ręcznie zainstalować OnionShare z Flatpak, używając "
+"podpisanego PGP `single-file bundle <https://docs.flatpak.org/en/latest"
+"/single-file-bundles.html>`_, możesz to zrobić w ten sposób:"
-#: ../../source/install.rst:30
+#: ../../source/install.rst:55
msgid ""
-"Install Flatpak by following the instructions at https://flatpak.org/setup/."
+"Install Flatpak by following the instructions at "
+"https://flatpak.org/setup/."
msgstr ""
"Zainstaluj Flatpak, postępując zgodnie z instrukcjami na stronie "
"https://flatpak.org/setup/."
#: ../../source/install.rst:31
msgid ""
-"Add the Flathub repository by running ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Even though you "
-"won't be downloading OnionShare from Flathub, OnionShare depends on some "
-"packages that are only available there."
+"Add the Flathub repository by running ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Even "
+"though you won't be downloading OnionShare from Flathub, OnionShare "
+"depends on some packages that are only available there."
msgstr ""
"Dodaj repozytorium Flathub, uruchamiając ``flatpak remote-add --if-not-"
-"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Nawet jeśli "
-"nie będziesz pobierać OnionShare z Flathub, OnionShare zależy od niektórych "
-"pakietów, które są dostępne tylko tam."
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Nawet "
+"jeśli nie będziesz pobierać OnionShare z Flathub, OnionShare zależy od "
+"niektórych pakietów, które są dostępne tylko tam."
#: ../../source/install.rst:32
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.flatpak`` and ``.flatpak.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.flatpak`` and ``.flatpak.asc`` files."
msgstr ""
-"Przejdź do https://onionshare.org/dist/, wybierz najnowszą wersję OnionShare "
-"i pobierz pliki ``.flatpak`` i ``.flatpak.asc``."
+"Przejdź do https://onionshare.org/dist/, wybierz najnowszą wersję "
+"OnionShare i pobierz pliki ``.flatpak`` i ``.flatpak.asc``."
#: ../../source/install.rst:33
msgid ""
-"Verify the PGP signature of the ``.flatpak`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.flatpak`` file. See "
+":ref:`verifying_sigs` for more info."
msgstr ""
"Sprawdź podpis PGP pliku ``.flatpak``. Zobacz :ref:`verifying_sigs`, aby "
"uzyskać więcej informacji."
@@ -136,8 +138,8 @@ msgstr ""
#: ../../source/install.rst:34
msgid ""
"Install the ``.flatpak`` file by running ``flatpak install OnionShare-"
-"VERSION.flatpak``. Replace ``VERSION`` with the version number of the file "
-"you downloaded."
+"VERSION.flatpak``. Replace ``VERSION`` with the version number of the "
+"file you downloaded."
msgstr ""
"Zainstaluj plik ``.flatpak``, uruchamiając ``flatpak install OnionShare-"
"VERSION.flatpak``. Zastąp ``VERSION`` numerem wersji pobranego pliku."
@@ -145,8 +147,8 @@ msgstr ""
#: ../../source/install.rst:36
msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
msgstr ""
-"Możesz uruchomić OnionShare za pomocą: `flatpak run org.onionshare."
-"OnionShare`."
+"Możesz uruchomić OnionShare za pomocą: `flatpak run "
+"org.onionshare.OnionShare`."
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
@@ -154,50 +156,50 @@ msgstr "Ręczna instalacja Snapcraft"
#: ../../source/install.rst:41
msgid ""
-"If you'd like to install OnionShare manually with Snapcraft using the PGP-"
-"signed Snapcraft package, you can do so like this:"
+"If you'd like to install OnionShare manually with Snapcraft using the "
+"PGP-signed Snapcraft package, you can do so like this:"
msgstr ""
-"Jeśli chcesz ręcznie zainstalować OnionShare za pomocą Snapcraft przy użyciu "
-"pakietu Snapcraft podpisanego przez PGP, możesz to zrobić w następujący "
-"sposób:"
+"Jeśli chcesz ręcznie zainstalować OnionShare za pomocą Snapcraft przy "
+"użyciu pakietu Snapcraft podpisanego przez PGP, możesz to zrobić w "
+"następujący sposób:"
-#: ../../source/install.rst:43
+#: ../../source/install.rst:68
msgid ""
-"Install Snapcraft by following the instructions at https://snapcraft.io/docs/"
-"installing-snapd."
+"Install Snapcraft by following the instructions at "
+"https://snapcraft.io/docs/installing-snapd."
msgstr ""
"Zainstaluj Snapcraft, postępując zgodnie z instrukcjami na stronie "
"https://snapcraft.io/docs/installing-snapd."
#: ../../source/install.rst:44
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.snap`` and ``.snap.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.snap`` and ``.snap.asc`` files."
msgstr ""
-"Przejdź do https://onionshare.org/dist/, wybierz najnowszą wersję OnionShare "
-"i pobierz pliki ``.snap`` i ``.snap.asc``."
+"Przejdź do https://onionshare.org/dist/, wybierz najnowszą wersję "
+"OnionShare i pobierz pliki ``.snap`` i ``.snap.asc``."
#: ../../source/install.rst:45
msgid ""
-"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs`"
+" for more info."
msgstr ""
"Sprawdź podpis PGP pliku ``.snap``. Zobacz :ref:`verifying_sigs`, aby "
"uzyskać więcej informacji."
-#: ../../source/install.rst:46
+#: ../../source/install.rst:71
msgid ""
"Install the ``.snap`` file by running ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version number "
-"of the file you downloaded. Note that you must use `--dangerous` because the "
-"package is not signed by the Snapcraft store, however you did verify its PGP "
-"signature, so you know it's legitimate."
+"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version "
+"number of the file you downloaded. Note that you must use `--dangerous` "
+"because the package is not signed by the Snapcraft store, however you did"
+" verify its PGP signature, so you know it's legitimate."
msgstr ""
"Zainstaluj plik ``.snap``, uruchamiając ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Zastąp ``VERSION`` numerem wersji pobranego "
-"pliku. Pamiętaj, że musisz użyć `--dangerous`, ponieważ pakiet nie jest "
-"podpisany przez sklep Snapcraft, jednak zweryfikowano jego podpis PGP, więc "
-"wiesz, że jest legalny."
+"onionshare_VERSION_amd64.snap``. Zastąp ``VERSION`` numerem wersji "
+"pobranego pliku. Pamiętaj, że musisz użyć `--dangerous`, ponieważ pakiet "
+"nie jest podpisany przez sklep Snapcraft, jednak zweryfikowano jego "
+"podpis PGP, więc wiesz, że jest legalny."
#: ../../source/install.rst:48
msgid "You can run OnionShare with: `snap run onionshare`."
@@ -209,12 +211,13 @@ msgstr "Wiersz poleceń"
#: ../../source/install.rst:55
msgid ""
-"You can install just the command-line version of OnionShare on any operating "
-"system using the Python package manager ``pip``. :ref:`cli` has more info."
+"You can install just the command-line version of OnionShare on any "
+"operating system using the Python package manager ``pip``. :ref:`cli` has"
+" more info."
msgstr ""
"Możesz zainstalować tylko wersję wiersza poleceń OnionShare na dowolnym "
-"systemie operacyjnym za pomocą menedżera pakietów Python ``pip``. Zobacz :"
-"ref:`cli`, aby uzyskać więcej informacji."
+"systemie operacyjnym za pomocą menedżera pakietów Python ``pip``. Zobacz "
+":ref:`cli`, aby uzyskać więcej informacji."
#: ../../source/install.rst:60
msgid "Verifying PGP signatures"
@@ -222,17 +225,17 @@ msgstr "Weryfikacja sygnatur PGP"
#: ../../source/install.rst:62
msgid ""
-"You can verify that the package you download is legitimate and hasn't been "
-"tampered with by verifying its PGP signature. For Windows and macOS, this "
-"step is optional and provides defense in depth: the OnionShare binaries "
-"include operating system-specific signatures, and you can just rely on those "
-"alone if you'd like."
+"You can verify that the package you download is legitimate and hasn't "
+"been tampered with by verifying its PGP signature. For Windows and macOS,"
+" this step is optional and provides defense in depth: the OnionShare "
+"binaries include operating system-specific signatures, and you can just "
+"rely on those alone if you'd like."
msgstr ""
-"Możesz sprawdzić, czy pobrany pakiet jest poprawny i nie został naruszony, "
-"weryfikując jego podpis PGP. W przypadku systemów Windows i macOS ten krok "
-"jest opcjonalny i zapewnia dogłębną ochronę: pliki binarne OnionShare "
-"zawierają podpisy specyficzne dla systemu operacyjnego i jeśli chcesz, "
-"możesz po prostu na nich polegać."
+"Możesz sprawdzić, czy pobrany pakiet jest poprawny i nie został "
+"naruszony, weryfikując jego podpis PGP. W przypadku systemów Windows i "
+"macOS ten krok jest opcjonalny i zapewnia dogłębną ochronę: pliki binarne"
+" OnionShare zawierają podpisy specyficzne dla systemu operacyjnego i "
+"jeśli chcesz, możesz po prostu na nich polegać."
#: ../../source/install.rst:66
msgid "Signing key"
@@ -240,23 +243,23 @@ msgstr "Klucz podpisujący"
#: ../../source/install.rst:68
msgid ""
-"Packages are signed by Micah Lee, the core developer, using his PGP public "
-"key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
-"download Micah's key `from the keys.openpgp.org keyserver <https://keys."
-"openpgp.org/vks/v1/by-"
+"Packages are signed by Micah Lee, the core developer, using his PGP "
+"public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
+" You can download Micah's key `from the keys.openpgp.org keyserver "
+"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
-"Pakiety są podpisywane przez Micah Lee, głównego programistę, przy użyciu "
-"jego publicznego klucza PGP z odciskiem palca "
-"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Możesz pobrać klucz Micah `z "
-"serwera kluczy keys.openpgp.org <https://keys.openpgp.org/vks/v1/by-"
+"Pakiety są podpisywane przez Micah Lee, głównego programistę, przy użyciu"
+" jego publicznego klucza PGP z odciskiem palca "
+"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Możesz pobrać klucz Micah "
+"`z serwera kluczy keys.openpgp.org <https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#: ../../source/install.rst:71
msgid ""
-"You must have GnuPG installed to verify signatures. For macOS you probably "
-"want `GPGTools <https://gpgtools.org/>`_, and for Windows you probably want "
-"`Gpg4win <https://www.gpg4win.org/>`_."
+"You must have GnuPG installed to verify signatures. For macOS you "
+"probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you "
+"probably want `Gpg4win <https://www.gpg4win.org/>`_."
msgstr ""
"Aby zweryfikować podpisy, musisz mieć zainstalowane GnuPG. Dla macOS "
"prawdopodobnie potrzebujesz `GPGTools <https://gpgtools.org/>`_, a dla "
@@ -267,60 +270,94 @@ msgid "Signatures"
msgstr "Sygnatury"
#: ../../source/install.rst:76
+#, fuzzy
msgid ""
-"You can find the signatures (as ``.asc`` files), as well as Windows, macOS, "
-"Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the "
-"folders named for each version of OnionShare. You can also find them on the "
-"`GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+"You can find the signatures (as ``.asc`` files), as well as Windows, "
+"macOS, Flatpak, Snap, and source packages, at "
+"https://onionshare.org/dist/ in the folders named for each version of "
+"OnionShare. You can also find them on the `GitHub Releases page "
+"<https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
-"Podpisy (jako pliki ``.asc``), a także pakiety Windows, macOS, Flatpak, Snap "
-"i źródła można znaleźć pod adresem https://onionshare.org/dist/ w folderach "
-"nazwanych od każdej wersji OnionShare. Możesz je również znaleźć na "
-"`GitHubie <https://github.com/micahflee/onionshare/releases>`_."
+"Podpisy (jako pliki ``.asc``), a także pakiety Windows, macOS, Flatpak, "
+"Snap i źródła można znaleźć pod adresem https://onionshare.org/dist/ w "
+"folderach nazwanych od każdej wersji OnionShare. Możesz je również "
+"znaleźć na `GitHubie "
+"<https://github.com/micahflee/onionshare/releases>`_."
#: ../../source/install.rst:80
msgid "Verifying"
msgstr "Weryfikacja"
#: ../../source/install.rst:82
+#, fuzzy
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
-"downloaded the binary and ``.asc`` signature, you can verify the binary for "
-"macOS in a terminal like this::"
+"downloaded the binary and ``.asc`` signature, you can verify the binary "
+"in a terminal like this:"
+msgstr ""
+"Po zaimportowaniu klucza publicznego Micah do pęku kluczy GnuPG, pobraniu"
+" pliku binarnego i podpisu ``.asc``, możesz zweryfikować plik binarny dla"
+" systemu macOS w terminalu takim jak ten::"
+
+#: ../../source/install.rst:84
+msgid "For Windows::"
+msgstr ""
+
+#: ../../source/install.rst:88
+msgid "For macOS::"
msgstr ""
-"Po zaimportowaniu klucza publicznego Micah do pęku kluczy GnuPG, pobraniu "
-"pliku binarnego i podpisu ``.asc``, możesz zweryfikować plik binarny dla "
-"systemu macOS w terminalu takim jak ten::"
-#: ../../source/install.rst:86
-msgid "Or for Windows, in a command-prompt like this::"
-msgstr "Lub w wierszu polecenia systemu Windows w następujący sposób::"
+#: ../../source/install.rst:92
+#, fuzzy
+msgid "For Linux::"
+msgstr "Linux"
+
+#: ../../source/install.rst:98
+msgid "and for the source file::"
+msgstr ""
-#: ../../source/install.rst:90
+#: ../../source/install.rst:102
msgid "The expected output looks like this::"
msgstr "Oczekiwany rezultat wygląda następująco::"
-#: ../../source/install.rst:102
+#: ../../source/install.rst:112
+#, fuzzy
msgid ""
-"If you don't see ``Good signature from``, there might be a problem with the "
-"integrity of the file (malicious or otherwise), and you should not install "
-"the package. (The ``WARNING:`` shown above, is not a problem with the "
-"package, it only means you haven't defined a level of \"trust\" of Micah's "
-"(the core developer) PGP key.)"
+"If you don't see ``Good signature from``, there might be a problem with "
+"the integrity of the file (malicious or otherwise), and you should not "
+"install the package."
msgstr ""
"Jeśli nie widzisz ``Good signature from``, może to oznaczać problem z "
-"integralnością pliku (złośliwy lub inny) i nie należy instalować pakietu. "
-"(Pokazane powyżej ostrzeżenie ``WARNING:`` nie jest problemem z pakietem, "
-"oznacza tylko, że nie zdefiniowano poziomu \"zaufania\" klucza PGP Micah.)"
+"integralnością pliku (złośliwy lub inny) i nie należy instalować pakietu."
+" (Pokazane powyżej ostrzeżenie ``WARNING:`` nie jest problemem z "
+"pakietem, oznacza tylko, że nie zdefiniowano poziomu \"zaufania\" klucza "
+"PGP Micah.)"
-#: ../../source/install.rst:104
+#: ../../source/install.rst:114
+#, fuzzy
+msgid ""
+"The ``WARNING:`` shown above, is not a problem with the package, it only "
+"means you haven't defined a level of \"trust\" of Micah's (the core "
+"developer) PGP key."
+msgstr ""
+"Jeśli nie widzisz ``Good signature from``, może to oznaczać problem z "
+"integralnością pliku (złośliwy lub inny) i nie należy instalować pakietu."
+" (Pokazane powyżej ostrzeżenie ``WARNING:`` nie jest problemem z "
+"pakietem, oznacza tylko, że nie zdefiniowano poziomu \"zaufania\" klucza "
+"PGP Micah.)"
+
+#: ../../source/install.rst:116
msgid ""
"If you want to learn more about verifying PGP signatures, the guides for "
-"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and "
-"the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/"
-">`_ may be useful."
+"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and"
+" the `Tor Project <https://support.torproject.org/tbb/how-to-verify-"
+"signature/>`_ may be useful."
msgstr ""
-"Jeśli chcesz dowiedzieć się więcej o weryfikowaniu podpisów PGP, przydatne "
-"mogą być przewodniki dotyczące `Qubes OS <https://www.qubes-os.org/security/"
-"verifying-signatures/>`_ i `Tor Project <https://support.torproject.org/tbb/"
-"how-to-verify-signature/>`_."
+"Jeśli chcesz dowiedzieć się więcej o weryfikowaniu podpisów PGP, "
+"przydatne mogą być przewodniki dotyczące `Qubes OS <https://www.qubes-"
+"os.org/security/verifying-signatures/>`_ i `Tor Project "
+"<https://support.torproject.org/tbb/how-to-verify-signature/>`_."
+
+#~ msgid "Or for Windows, in a command-prompt like this::"
+#~ msgstr "Lub w wierszu polecenia systemu Windows w następujący sposób::"
+
diff --git a/docs/source/locale/pt_PT/LC_MESSAGES/install.po b/docs/source/locale/pt_PT/LC_MESSAGES/install.po
index fc099ffc..777b3681 100644
--- a/docs/source/locale/pt_PT/LC_MESSAGES/install.po
+++ b/docs/source/locale/pt_PT/LC_MESSAGES/install.po
@@ -6,17 +6,17 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
-"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
-"PO-Revision-Date: 2023-10-28 04:15+0000\n"
-"Last-Translator: Larus Argentatus <larus-argentatus@riseup.net>\n"
+"PO-Revision-Date: 2023-06-02 11:21+0000\n"
+"Last-Translator: emma peel <emmapeel@torproject.org>\n"
"Language-Team: pt_PT <LL@li.org>\n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 5.2-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/install.rst:2
@@ -37,7 +37,7 @@ msgstr ""
#: ../../source/install.rst:12
msgid "Linux"
-msgstr "Linux"
+msgstr ""
#: ../../source/install.rst:14
msgid ""
diff --git a/docs/source/locale/ru/LC_MESSAGES/advanced.po b/docs/source/locale/ru/LC_MESSAGES/advanced.po
index 2b2b747f..d7d3910a 100644
--- a/docs/source/locale/ru/LC_MESSAGES/advanced.po
+++ b/docs/source/locale/ru/LC_MESSAGES/advanced.po
@@ -249,7 +249,7 @@ msgstr ""
#: ../../source/advanced.rst:158
msgid "And from the main mode chooser screen::"
-msgstr "И на главном экране выбора режима::"
+msgstr ""
#~ msgid "Turn Off Passwords"
#~ msgstr "Отключение паролей"
diff --git a/docs/source/locale/ru/LC_MESSAGES/install.po b/docs/source/locale/ru/LC_MESSAGES/install.po
index 0e3f6de7..e19a7fab 100644
--- a/docs/source/locale/ru/LC_MESSAGES/install.po
+++ b/docs/source/locale/ru/LC_MESSAGES/install.po
@@ -6,10 +6,10 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
-"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
-"PO-Revision-Date: 2024-01-25 13:17+0000\n"
-"Last-Translator: emma peel <emma.peel@riseup.net>\n"
+"PO-Revision-Date: 2023-06-02 11:21+0000\n"
+"Last-Translator: emma peel <emmapeel@torproject.org>\n"
"Language-Team: ru <LL@li.org>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
@@ -89,8 +89,9 @@ msgstr ""
"org/dist/."
#: ../../source/install.rst:26
+#, fuzzy
msgid "Manual Flatpak Installation"
-msgstr "Ручная установка Flatpak"
+msgstr "Установка"
#: ../../source/install.rst:28
#, fuzzy
@@ -99,16 +100,11 @@ msgid ""
"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
"bundles.html>`_, you can do so like this:"
msgstr ""
-"Если вы хотите установить OnionShare вручную с помощью Flatpak, используя "
-"подписанный PGP однофайловый пакет <https://docs.flatpak.org/en/latest/"
-"single-file-bundles.html>`_, вы можете сделать Ну вот так:"
#: ../../source/install.rst:30
msgid ""
"Install Flatpak by following the instructions at https://flatpak.org/setup/."
msgstr ""
-"Установите Flatpak, следуя инструкциям на странице https://flatpak.org/setup/"
-"."
#: ../../source/install.rst:31
msgid ""
@@ -127,16 +123,12 @@ msgid ""
"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
"and download the ``.flatpak`` and ``.flatpak.asc`` files."
msgstr ""
-"Перейдите на https://onionshare.org/dist/, выберите последнюю версию "
-"OnionShare и загрузите файлы ``. Flatpak`` и ``. Flatpak.asc``."
#: ../../source/install.rst:33
msgid ""
"Verify the PGP signature of the ``.flatpak`` file. See :ref:`verifying_sigs` "
"for more info."
msgstr ""
-"Проверьте подпись PGP файла ``.flatpak``. Дополнительную информацию см. в "
-"разделе :ref:`verifying_sigs`."
#: ../../source/install.rst:34
msgid ""
@@ -144,51 +136,38 @@ msgid ""
"VERSION.flatpak``. Replace ``VERSION`` with the version number of the file "
"you downloaded."
msgstr ""
-"Установите файл ``. Flatpak``, запустив `` Flatpak install OnionShare-"
-"VERSION. Flatpak``. Замените ``VERSION`` на номер версии загруженного вами "
-"файла."
#: ../../source/install.rst:36
msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
msgstr ""
-"Вы можете запустить OnionShare с помощью: ` Flatpak run org.onionshare."
-"OnionShare`."
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
-msgstr "Ручная установка Snapcraft"
+msgstr ""
#: ../../source/install.rst:41
msgid ""
"If you'd like to install OnionShare manually with Snapcraft using the PGP-"
"signed Snapcraft package, you can do so like this:"
msgstr ""
-"Если вы хотите установить OnionShare вручную с помощью Snapcraft, используя "
-"пакет Snapcraft, подписанный PGP, вы можете сделать это следующим образом:"
#: ../../source/install.rst:43
msgid ""
"Install Snapcraft by following the instructions at https://snapcraft.io/docs/"
"installing-snapd."
msgstr ""
-"Установите Snapcraft, следуя инструкциям на странице https://snapcraft.io/"
-"docs/installing-snapd."
#: ../../source/install.rst:44
msgid ""
"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
"and download the ``.snap`` and ``.snap.asc`` files."
msgstr ""
-"Перейдите на https://onionshare.org/dist/, выберите последнюю версию "
-"OnionShare и загрузите файлы ``.snap`` и ``.snap.asc``."
#: ../../source/install.rst:45
msgid ""
"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs` "
"for more info."
msgstr ""
-"Проверьте подпись PGP файла ``.snap``. Дополнительную информацию см. в "
-"разделе :ref:`verifying_sigs`."
#: ../../source/install.rst:46
msgid ""
@@ -198,15 +177,10 @@ msgid ""
"package is not signed by the Snapcraft store, however you did verify its PGP "
"signature, so you know it's legitimate."
msgstr ""
-"Установите файл .snap, запустив snap install --dangerous "
-"onionshare_VERSION_amd64.snap. Замените ``VERSION`` на номер версии "
-"загруженного вами файла. Обратите внимание, что вы должны использовать "
-"`--dangerous`, поскольку пакет не подписан магазином Snapcraft, однако вы "
-"проверили его подпись PGP и знаете, что он легален."
#: ../../source/install.rst:48
msgid "You can run OnionShare with: `snap run onionshare`."
-msgstr "Вы можете запустить OnionShare с помощью: `snap run onionshare`."
+msgstr ""
#: ../../source/install.rst:53
msgid "Command-line only"
@@ -291,6 +265,7 @@ msgid "Verifying"
msgstr "Проверка"
#: ../../source/install.rst:82
+#, fuzzy
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
"downloaded the binary and ``.asc`` signature, you can verify the binary for "
@@ -301,6 +276,7 @@ msgstr ""
"двоичный файл для macOS в терминале следующим образом::"
#: ../../source/install.rst:86
+#, fuzzy
msgid "Or for Windows, in a command-prompt like this::"
msgstr "Или для Windows в командной строке, например::"
diff --git a/docs/source/locale/ru/LC_MESSAGES/tor.po b/docs/source/locale/ru/LC_MESSAGES/tor.po
index 86997913..f5b46882 100644
--- a/docs/source/locale/ru/LC_MESSAGES/tor.po
+++ b/docs/source/locale/ru/LC_MESSAGES/tor.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
-"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
"PO-Revision-Date: 2024-01-25 13:17+0000\n"
"Last-Translator: emma peel <emma.peel@riseup.net>\n"
@@ -334,6 +334,12 @@ msgstr ""
"системы."
#: ../../source/tor.rst:101
+#, fuzzy
+#| msgid ""
+#| "Download the Tor Windows Expert Bundle `from <https://www.torproject.org/"
+#| "download/tor/>`_. Extract the compressed file and copy the extracted "
+#| "folder to ``C:\\Program Files (x86)\\`` Rename the extracted folder with "
+#| "``Data`` and ``Tor`` in it to ``tor-win32``."
msgid ""
"Download the Tor Windows Expert Bundle `from the Tor website <https://www."
"torproject.org/download/tor/>`_. Extract the compressed file and copy the "
@@ -496,13 +502,12 @@ msgid ""
"settings\" choose \"No authentication, or cookie authentication\". Click the "
"\"Test Connection to Tor\" button."
msgstr ""
-"Перезагрузите компьютер. После повторной загрузки откройте OnionShare, "
-"щелкните значок «⚙» и переключитесь на вкладку «Настройки Tor». В разделе «"
-"Как OnionShare подключиться к Tor?» выберите «Подключиться с помощью файла "
-"сокета». Установите файл сокета ``/var/run/tor/control``. В разделе «"
-"Настройки аутентификации Tor» выберите «Без аутентификации или "
-"аутентификация с использованием файлов cookie». Нажмите кнопку «Проверить "
-"соединение с Tor»."
+"Перезагрузите компьютер. После загрузки операционной системы запустите "
+"OnionShare и нажмите на значок \"⚙\" . Под заголовком \"Как OnionShare "
+"следует подключаться к сети Tor?\" выберите \"Использовать файл сокет\" и "
+"укажите путь до файла сокета: ``/var/run/tor/control``. Под заголовком "
+"\"Настройки аутентификации Tor\" выберете \"Без аутентификации или cookie-"
+"аутентификация\". Нажмите кнопку \"Проверить подключение к сети Tor\"."
#~ msgid "Use the ``tor`` bundled with OnionShare"
#~ msgstr ""
diff --git a/docs/source/locale/tr/LC_MESSAGES/install.po b/docs/source/locale/tr/LC_MESSAGES/install.po
index 48ea3df3..3c494583 100644
--- a/docs/source/locale/tr/LC_MESSAGES/install.po
+++ b/docs/source/locale/tr/LC_MESSAGES/install.po
@@ -7,17 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: 2023-06-10 02:52+0000\n"
"Last-Translator: Kaya Zeren <kayazeren@gmail.com>\n"
-"Language-Team: tr <LL@li.org>\n"
"Language: tr\n"
+"Language-Team: tr <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.18-dev\n"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/install.rst:2
msgid "Installation"
@@ -41,15 +40,17 @@ msgstr "Linux"
#: ../../source/install.rst:14
msgid ""
-"There are various ways to install OnionShare for Linux, but the recommended "
-"way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap "
-"<https://snapcraft.io/>`_ package. Flatpak and Snapcraft ensure that you'll "
-"always use the newest version and run OnionShare inside of a sandbox."
+"There are various ways to install OnionShare for Linux, but the "
+"recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or"
+" the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snapcraft "
+"ensure that you'll always use the newest version and run OnionShare "
+"inside of a sandbox."
msgstr ""
"Linux için OnionShare'i kurmanın çeşitli yolları vardır, ancak tavsiye "
-"edilen yol `Flatpak <https://flatpak.org/>`_ veya `Snap <https://snapcraft."
-"io/>`_ paketini kullanmaktır. Flatpak ve Snapcraft her zaman en yeni sürümü "
-"kullanmanızı ve OnionShare'i bir korumalı alan içinde çalıştırmanızı sağlar."
+"edilen yol `Flatpak <https://flatpak.org/>`_ veya `Snap "
+"<https://snapcraft.io/>`_ paketini kullanmaktır. Flatpak ve Snapcraft her"
+" zaman en yeni sürümü kullanmanızı ve OnionShare'i bir korumalı alan "
+"içinde çalıştırmanızı sağlar."
#: ../../source/install.rst:17
msgid ""
@@ -58,29 +59,28 @@ msgid ""
"distributions."
msgstr ""
"Snapcraft desteği Ubuntu'da yerleşiktir ve Fedora Flatpak desteği ile "
-"birlikte gelir, ancak hangisini kullanacağınız size bağlıdır. Her ikisi de "
-"tüm Linux dağıtımlarında çalışmaktadır."
+"birlikte gelir, ancak hangisini kullanacağınız size bağlıdır. Her ikisi "
+"de tüm Linux dağıtımlarında çalışmaktadır."
#: ../../source/install.rst:19
msgid ""
-"**Install OnionShare using Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Install OnionShare using Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
msgstr ""
-"**OnionShare uygulamasını Flatpak kullanarak kurun**: https://flathub.org/"
-"apps/details/org.onionshare.OnionShare"
+"**OnionShare uygulamasını Flatpak kullanarak kurun**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
#: ../../source/install.rst:21
msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
-msgstr ""
-"**OnionShare'i Snap kullanarak kurun**: https://snapcraft.io/onionshare"
+msgstr "**OnionShare'i Snap kullanarak kurun**: https://snapcraft.io/onionshare"
#: ../../source/install.rst:23
msgid ""
"You can also download and install PGP-signed ``.flatpak`` or ``.snap`` "
"packages from https://onionshare.org/dist/ if you prefer."
msgstr ""
-"Dilerseniz https://onionshare.org/dist/ adresinden PGP imzalı ``.flatpak`` "
-"veya ``.snap`` paketlerini de indirip kurabilirsiniz."
+"Dilerseniz https://onionshare.org/dist/ adresinden PGP imzalı "
+"``.flatpak`` veya ``.snap`` paketlerini de indirip kurabilirsiniz."
#: ../../source/install.rst:26
msgid "Manual Flatpak Installation"
@@ -89,62 +89,66 @@ msgstr "El ile Flatpak kurulumu"
#: ../../source/install.rst:28
msgid ""
"If you'd like to install OnionShare manually with Flatpak using the PGP-"
-"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
-"bundles.html>`_, you can do so like this:"
+"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-"
+"file-bundles.html>`_, you can do so like this:"
msgstr ""
"OnionShare uygulamasını Flatpak ile kurmak için PGP ile imzalanmış `tek "
-"dosyalı paketi <https://docs.flatpak.org/en/latest/single-file-bundles.html>`"
-"_ kullanmak isterseniz, bunu şu şekilde yapabilirsiniz:"
+"dosyalı paketi <https://docs.flatpak.org/en/latest/single-file-"
+"bundles.html>`_ kullanmak isterseniz, bunu şu şekilde yapabilirsiniz:"
-#: ../../source/install.rst:30
+#: ../../source/install.rst:55
msgid ""
-"Install Flatpak by following the instructions at https://flatpak.org/setup/."
+"Install Flatpak by following the instructions at "
+"https://flatpak.org/setup/."
msgstr ""
"Flatpak kurmak için https://flatpak.org/setup/ adresindeki yönergeleri "
"izleyin."
#: ../../source/install.rst:31
msgid ""
-"Add the Flathub repository by running ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Even though you "
-"won't be downloading OnionShare from Flathub, OnionShare depends on some "
-"packages that are only available there."
+"Add the Flathub repository by running ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Even "
+"though you won't be downloading OnionShare from Flathub, OnionShare "
+"depends on some packages that are only available there."
msgstr ""
-"``flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub"
-".flatpakrepo`` komutunu yürüterek Flathub deposunu ekleyin. OnionShare "
-"uygulamasını Flathub üzerinden indirmeyecek olsanız bile, OnionShare için "
-"yalnızca orada bulunan bazı paketler gereklidir."
+"``flatpak remote-add --if-not-exists flathub "
+"https://flathub.org/repo/flathub.flatpakrepo`` komutunu yürüterek Flathub"
+" deposunu ekleyin. OnionShare uygulamasını Flathub üzerinden indirmeyecek"
+" olsanız bile, OnionShare için yalnızca orada bulunan bazı paketler "
+"gereklidir."
#: ../../source/install.rst:32
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.flatpak`` and ``.flatpak.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.flatpak`` and ``.flatpak.asc`` files."
msgstr ""
-"https://onionshare.org/dist/ adresine gidin, OnionShare uygulamasının güncel "
-"sürümünü seçin, ``.flatpak`` ve ``.flatpak.asc`` dosyalarını indirin."
+"https://onionshare.org/dist/ adresine gidin, OnionShare uygulamasının "
+"güncel sürümünü seçin, ``.flatpak`` ve ``.flatpak.asc`` dosyalarını "
+"indirin."
#: ../../source/install.rst:33
msgid ""
-"Verify the PGP signature of the ``.flatpak`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.flatpak`` file. See "
+":ref:`verifying_sigs` for more info."
msgstr ""
-"``.flatpak`` dosyasının PGP imzasını doğrulayın. Ayrıntılı bilgi almak için "
-":ref:`verifying_sigs` bölümüne bakabilirsiniz."
+"``.flatpak`` dosyasının PGP imzasını doğrulayın. Ayrıntılı bilgi almak "
+"için :ref:`verifying_sigs` bölümüne bakabilirsiniz."
#: ../../source/install.rst:34
msgid ""
"Install the ``.flatpak`` file by running ``flatpak install OnionShare-"
-"VERSION.flatpak``. Replace ``VERSION`` with the version number of the file "
-"you downloaded."
+"VERSION.flatpak``. Replace ``VERSION`` with the version number of the "
+"file you downloaded."
msgstr ""
-"``.flatpak`` dosyasını ``flatpak install OnionShare-VERSION.flatpak`` komutu "
-"ile kurun. `` VERSION`` yerine indirdiğiniz dosyanın sürüm numarasını yazın."
+"``.flatpak`` dosyasını ``flatpak install OnionShare-VERSION.flatpak`` "
+"komutu ile kurun. `` VERSION`` yerine indirdiğiniz dosyanın sürüm "
+"numarasını yazın."
#: ../../source/install.rst:36
msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
msgstr ""
-"OnionShare uygulamasını şu komutla çalıştırabilirsiniz: `flatpak run org."
-"onionshare.OnionShare`."
+"OnionShare uygulamasını şu komutla çalıştırabilirsiniz: `flatpak run "
+"org.onionshare.OnionShare`."
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
@@ -152,32 +156,32 @@ msgstr "El ile Snapcraft kurulumu"
#: ../../source/install.rst:41
msgid ""
-"If you'd like to install OnionShare manually with Snapcraft using the PGP-"
-"signed Snapcraft package, you can do so like this:"
+"If you'd like to install OnionShare manually with Snapcraft using the "
+"PGP-signed Snapcraft package, you can do so like this:"
msgstr ""
"OnionShare uygulamasını el ile PGP ile imzalanmış Snapcraft paketini "
"kullanarak kurmak isterseniz, şu şekilde yapabilirsiniz:"
#: ../../source/install.rst:43
msgid ""
-"Install Snapcraft by following the instructions at https://snapcraft.io/docs/"
-"installing-snapd."
+"Install Snapcraft by following the instructions at "
+"https://snapcraft.io/docs/installing-snapd."
msgstr ""
-"Snapcraft kurmak için https://snapcraft.io/docs/installing-snapd adresindeki "
-"yönergeleri izleyin."
+"Snapcraft kurmak için https://snapcraft.io/docs/installing-snapd "
+"adresindeki yönergeleri izleyin."
#: ../../source/install.rst:44
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.snap`` and ``.snap.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.snap`` and ``.snap.asc`` files."
msgstr ""
"https://onionshare.org/dist/ adresine gidin, güncel OnionShare sürümünü "
"seçin, ``.snap`` ve ``.snap.asc`` dosyalarını indirin."
#: ../../source/install.rst:45
msgid ""
-"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs`"
+" for more info."
msgstr ""
"``.snap`` dosyasının PGP imzasını doğrulayın. Ayrıntılı bilgi almak için "
":ref:`verifying_sigs` bölümüne bakabilirsiniz."
@@ -185,16 +189,17 @@ msgstr ""
#: ../../source/install.rst:46
msgid ""
"Install the ``.snap`` file by running ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version number "
-"of the file you downloaded. Note that you must use `--dangerous` because the "
-"package is not signed by the Snapcraft store, however you did verify its PGP "
-"signature, so you know it's legitimate."
+"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version "
+"number of the file you downloaded. Note that you must use `--dangerous` "
+"because the package is not signed by the Snapcraft store, however you did"
+" verify its PGP signature, so you know it's legitimate."
msgstr ""
-"``.snap`` dosyasını ``snap install --dangerous onionshare_VERSION_amd64."
-"snap`` komutunu yürüterek kurun. `` VERSION`` yerine indirdiğiniz dosyanın "
-"sürüm numarasını yazın. Paket Snapcraft mağazası tarafından imzalanmadığı "
-"için `--dangerous` parametresini kullanmanız gerektiğini unutmayın. PGP "
-"imzasını doğruladığınız için paketin doğru olduğunu biliyorsunuz."
+"``.snap`` dosyasını ``snap install --dangerous "
+"onionshare_VERSION_amd64.snap`` komutunu yürüterek kurun. `` VERSION`` "
+"yerine indirdiğiniz dosyanın sürüm numarasını yazın. Paket Snapcraft "
+"mağazası tarafından imzalanmadığı için `--dangerous` parametresini "
+"kullanmanız gerektiğini unutmayın. PGP imzasını doğruladığınız için "
+"paketin doğru olduğunu biliyorsunuz."
#: ../../source/install.rst:48
msgid "You can run OnionShare with: `snap run onionshare`."
@@ -208,12 +213,13 @@ msgstr "Yalnız komut satırı"
#: ../../source/install.rst:55
msgid ""
-"You can install just the command-line version of OnionShare on any operating "
-"system using the Python package manager ``pip``. :ref:`cli` has more info."
+"You can install just the command-line version of OnionShare on any "
+"operating system using the Python package manager ``pip``. :ref:`cli` has"
+" more info."
msgstr ""
-"Python paket yöneticisi ``pip`` kullanarak OnionShare'in sadece komut satırı "
-"sürümünü herhangi bir işletim sistemine kurabilirsiniz. Daha fazla bilgi "
-"için :ref:`cli` bölümüne bakabilirsiniz."
+"Python paket yöneticisi ``pip`` kullanarak OnionShare'in sadece komut "
+"satırı sürümünü herhangi bir işletim sistemine kurabilirsiniz. Daha fazla"
+" bilgi için :ref:`cli` bölümüne bakabilirsiniz."
#: ../../source/install.rst:60
msgid "Verifying PGP signatures"
@@ -221,11 +227,11 @@ msgstr "PGP imzalarını doğrulama"
#: ../../source/install.rst:62
msgid ""
-"You can verify that the package you download is legitimate and hasn't been "
-"tampered with by verifying its PGP signature. For Windows and macOS, this "
-"step is optional and provides defense in depth: the OnionShare binaries "
-"include operating system-specific signatures, and you can just rely on those "
-"alone if you'd like."
+"You can verify that the package you download is legitimate and hasn't "
+"been tampered with by verifying its PGP signature. For Windows and macOS,"
+" this step is optional and provides defense in depth: the OnionShare "
+"binaries include operating system-specific signatures, and you can just "
+"rely on those alone if you'd like."
msgstr ""
"İndirdiğiniz paketin özgün olduğunu ve değiştirilmediğini PGP imzasını "
"doğrulayarak doğrulayabilirsiniz. Windows ve macOS için bu adım isteğe "
@@ -239,89 +245,121 @@ msgstr "İmzalama anahtarı"
#: ../../source/install.rst:68
msgid ""
-"Packages are signed by Micah Lee, the core developer, using his PGP public "
-"key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
-"download Micah's key `from the keys.openpgp.org keyserver <https://keys."
-"openpgp.org/vks/v1/by-"
+"Packages are signed by Micah Lee, the core developer, using his PGP "
+"public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
+" You can download Micah's key `from the keys.openpgp.org keyserver "
+"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
-"Paketler, ``927F419D7EC82C2F149C1BD1403C2657CD994F73`` parmak izine sahip "
-"PGP ortak anahtarını kullanarak ana geliştirici Micah Lee tarafından "
-"imzalanmaktadır. Micah'ın anahtarını `keys.openpgp.org anahtar sunucusundan "
-"<https://keys.openpgp.org/vks/v1/by-"
+"Paketler, ``927F419D7EC82C2F149C1BD1403C2657CD994F73`` parmak izine sahip"
+" PGP ortak anahtarını kullanarak ana geliştirici Micah Lee tarafından "
+"imzalanmaktadır. Micah'ın anahtarını `keys.openpgp.org anahtar "
+"sunucusundan <https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_ indirebilirsiniz."
#: ../../source/install.rst:71
msgid ""
-"You must have GnuPG installed to verify signatures. For macOS you probably "
-"want `GPGTools <https://gpgtools.org/>`_, and for Windows you probably want "
-"`Gpg4win <https://www.gpg4win.org/>`_."
+"You must have GnuPG installed to verify signatures. For macOS you "
+"probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you "
+"probably want `Gpg4win <https://www.gpg4win.org/>`_."
msgstr ""
-"İmzaları doğrulamak için GnuPG uygulamasının kurulu olması gerekir. MacOS "
-"için `GPGTools <https://gpgtools.org/>`_, Windows için `Gpg4win <https://www."
-"gpg4win.org/>`_ kullanmak isteyebilirsiniz."
+"İmzaları doğrulamak için GnuPG uygulamasının kurulu olması gerekir. MacOS"
+" için `GPGTools <https://gpgtools.org/>`_, Windows için `Gpg4win "
+"<https://www.gpg4win.org/>`_ kullanmak isteyebilirsiniz."
#: ../../source/install.rst:74
msgid "Signatures"
msgstr "İmzalar"
#: ../../source/install.rst:76
+#, fuzzy
msgid ""
-"You can find the signatures (as ``.asc`` files), as well as Windows, macOS, "
-"Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the "
-"folders named for each version of OnionShare. You can also find them on the "
-"`GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+"You can find the signatures (as ``.asc`` files), as well as Windows, "
+"macOS, Flatpak, Snap, and source packages, at "
+"https://onionshare.org/dist/ in the folders named for each version of "
+"OnionShare. You can also find them on the `GitHub Releases page "
+"<https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
"İmzalara (``.asc`` dosyaları) ek olarak Windows, macOS, Flatpak, Snap ve "
"kaynak paketlerini https://onionshare.org/dist/ adresindeki OnionShare "
-"uygulamasının her sürümü için adlandırılan klasörlerin yanında ve `GitHub "
-"yayınlar sayfasında <https://github.com/micahflee/onionshare/releases>`_ "
-"bulabilirsiniz."
+"uygulamasının her sürümü için adlandırılan klasörlerin yanında ve `GitHub"
+" yayınlar sayfasında <https://github.com/micahflee/onionshare/releases>`_"
+" bulabilirsiniz."
#: ../../source/install.rst:80
msgid "Verifying"
msgstr "Doğrulama"
#: ../../source/install.rst:82
+#, fuzzy
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
-"downloaded the binary and ``.asc`` signature, you can verify the binary for "
-"macOS in a terminal like this::"
+"downloaded the binary and ``.asc`` signature, you can verify the binary "
+"in a terminal like this:"
+msgstr ""
+"Micah'ın herkese açık anahtarını GnuPG anahtar zincirinize aktarıp, ikili"
+" dosyayı ve ``.asc`` imzasını indirdikten sonra, macOS için ikili dosyayı"
+" Terminal üzerinde şu şekilde doğrulayabilirsiniz::"
+
+#: ../../source/install.rst:84
+msgid "For Windows::"
+msgstr ""
+
+#: ../../source/install.rst:88
+msgid "For macOS::"
msgstr ""
-"Micah'ın herkese açık anahtarını GnuPG anahtar zincirinize aktarıp, ikili "
-"dosyayı ve ``.asc`` imzasını indirdikten sonra, macOS için ikili dosyayı "
-"Terminal üzerinde şu şekilde doğrulayabilirsiniz::"
-#: ../../source/install.rst:86
-msgid "Or for Windows, in a command-prompt like this::"
-msgstr "Veya Windows için komut isteminde aşağıdaki gibi::"
+#: ../../source/install.rst:92
+#, fuzzy
+msgid "For Linux::"
+msgstr "Linux"
+
+#: ../../source/install.rst:98
+msgid "and for the source file::"
+msgstr ""
-#: ../../source/install.rst:90
+#: ../../source/install.rst:102
msgid "The expected output looks like this::"
msgstr "Aşağıdakine benzer bir çıktı alınması beklenir::"
-#: ../../source/install.rst:102
+#: ../../source/install.rst:112
+#, fuzzy
msgid ""
-"If you don't see ``Good signature from``, there might be a problem with the "
-"integrity of the file (malicious or otherwise), and you should not install "
-"the package. (The ``WARNING:`` shown above, is not a problem with the "
-"package, it only means you haven't defined a level of \"trust\" of Micah's "
-"(the core developer) PGP key.)"
+"If you don't see ``Good signature from``, there might be a problem with "
+"the integrity of the file (malicious or otherwise), and you should not "
+"install the package."
msgstr ""
"``Good signature from`` ifadesini göremiyorsanız, dosyanın bütünlüğüyle "
-"ilgili bir sorun olabilir (kötü niyetli veya başka türlü). Bu durumda paketi "
-"kurmamalısınız. (Yukarıda gösterilen ``UYARI:``, paketle ilgili bir sorun "
-"değildir, yalnızca Micah (ana geliştirici) PGP anahtarının \"güven\" "
-"düzeyini tanımlamadığınız anlamına gelir.)"
+"ilgili bir sorun olabilir (kötü niyetli veya başka türlü). Bu durumda "
+"paketi kurmamalısınız. (Yukarıda gösterilen ``UYARI:``, paketle ilgili "
+"bir sorun değildir, yalnızca Micah (ana geliştirici) PGP anahtarının "
+"\"güven\" düzeyini tanımlamadığınız anlamına gelir.)"
-#: ../../source/install.rst:104
+#: ../../source/install.rst:114
+#, fuzzy
+msgid ""
+"The ``WARNING:`` shown above, is not a problem with the package, it only "
+"means you haven't defined a level of \"trust\" of Micah's (the core "
+"developer) PGP key."
+msgstr ""
+"``Good signature from`` ifadesini göremiyorsanız, dosyanın bütünlüğüyle "
+"ilgili bir sorun olabilir (kötü niyetli veya başka türlü). Bu durumda "
+"paketi kurmamalısınız. (Yukarıda gösterilen ``UYARI:``, paketle ilgili "
+"bir sorun değildir, yalnızca Micah (ana geliştirici) PGP anahtarının "
+"\"güven\" düzeyini tanımlamadığınız anlamına gelir.)"
+
+#: ../../source/install.rst:116
msgid ""
"If you want to learn more about verifying PGP signatures, the guides for "
-"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and "
-"the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/"
-">`_ may be useful."
+"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and"
+" the `Tor Project <https://support.torproject.org/tbb/how-to-verify-"
+"signature/>`_ may be useful."
msgstr ""
-"PGP imzalarının doğrulanması hakkında ayrıntılı bilgi almak için, `Qubes OS "
-"<https://www.qubes-os.org/security/verifying-signatures/>`_ ve `Tor Projesi "
-"<https://support.torproject.org/tbb/how-to-verify-signature/>`_ rehberlerine "
-"bakabilirsiniz."
+"PGP imzalarının doğrulanması hakkında ayrıntılı bilgi almak için, `Qubes "
+"OS <https://www.qubes-os.org/security/verifying-signatures/>`_ ve `Tor "
+"Projesi <https://support.torproject.org/tbb/how-to-verify-signature/>`_ "
+"rehberlerine bakabilirsiniz."
+
+#~ msgid "Or for Windows, in a command-prompt like this::"
+#~ msgstr "Veya Windows için komut isteminde aşağıdaki gibi::"
+
diff --git a/docs/source/locale/uk/LC_MESSAGES/install.po b/docs/source/locale/uk/LC_MESSAGES/install.po
index 2519549b..e5ce4582 100644
--- a/docs/source/locale/uk/LC_MESSAGES/install.po
+++ b/docs/source/locale/uk/LC_MESSAGES/install.po
@@ -7,18 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: 2023-06-07 14:30+0000\n"
"Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n"
-"Language-Team: none\n"
"Language: uk\n"
+"Language-Team: none\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.18-dev\n"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/install.rst:2
msgid "Installation"
@@ -42,15 +41,17 @@ msgstr "Linux"
#: ../../source/install.rst:14
msgid ""
-"There are various ways to install OnionShare for Linux, but the recommended "
-"way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap "
-"<https://snapcraft.io/>`_ package. Flatpak and Snapcraft ensure that you'll "
-"always use the newest version and run OnionShare inside of a sandbox."
+"There are various ways to install OnionShare for Linux, but the "
+"recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or"
+" the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snapcraft "
+"ensure that you'll always use the newest version and run OnionShare "
+"inside of a sandbox."
msgstr ""
"Існують різні способи встановлення OnionShare на Linux, але радимо "
-"використовувати пакунок `Flatpak <https://flatpak.org/>`_ або `Snap <https://"
-"snapcraft.io/>`_. Flatpak і Snapcraft гарантують, що ви завжди "
-"користуватиметеся найновішою версією та запускатимете OnionShare у пісочниці."
+"використовувати пакунок `Flatpak <https://flatpak.org/>`_ або `Snap "
+"<https://snapcraft.io/>`_. Flatpak і Snapcraft гарантують, що ви завжди "
+"користуватиметеся найновішою версією та запускатимете OnionShare у "
+"пісочниці."
#: ../../source/install.rst:17
msgid ""
@@ -58,31 +59,31 @@ msgid ""
"support, but which you use is up to you. Both work in all Linux "
"distributions."
msgstr ""
-"Підтримку Snapcraft вбудовано в Ubuntu, а Flatpak — у Fedora, але ви самі "
-"можете обрати чим користуватися. Вони обоє працюють у всіх дистрибутивах "
-"Linux."
+"Підтримку Snapcraft вбудовано в Ubuntu, а Flatpak — у Fedora, але ви самі"
+" можете обрати чим користуватися. Вони обоє працюють у всіх дистрибутивах"
+" Linux."
#: ../../source/install.rst:19
msgid ""
-"**Install OnionShare using Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Install OnionShare using Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
msgstr ""
-"**Установити OnionShare за допомогою Flatpak**: https://flathub.org/apps/"
-"details/org.onionshare.OnionShare"
+"**Установити OnionShare за допомогою Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
#: ../../source/install.rst:21
msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
msgstr ""
-"**Установити OnionShare за допомогою Snapcraft**: https://snapcraft.io/"
-"onionshare"
+"**Установити OnionShare за допомогою Snapcraft**: "
+"https://snapcraft.io/onionshare"
#: ../../source/install.rst:23
msgid ""
"You can also download and install PGP-signed ``.flatpak`` or ``.snap`` "
"packages from https://onionshare.org/dist/ if you prefer."
msgstr ""
-"Ви також можете завантажити та встановити пакунки з PGP-підписом ``."
-"flatpak`` або ``.snap`` з https://onionshare.org/dist/, якщо хочете."
+"Ви також можете завантажити та встановити пакунки з PGP-підписом "
+"``.flatpak`` або ``.snap`` з https://onionshare.org/dist/, якщо хочете."
#: ../../source/install.rst:26
msgid "Manual Flatpak Installation"
@@ -91,62 +92,65 @@ msgstr "Ручне встановлення Flatpak"
#: ../../source/install.rst:28
msgid ""
"If you'd like to install OnionShare manually with Flatpak using the PGP-"
-"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
-"bundles.html>`_, you can do so like this:"
+"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-"
+"file-bundles.html>`_, you can do so like this:"
msgstr ""
"Якщо ви хочете встановити OnionShare вручну за допомогою Flatpak, "
-"використовуючи підписаний PGP `однофайловий пакунок <https://docs.flatpak."
-"org/en/latest/single-file-bundles.html>`_, ви можете зробити це так:"
+"використовуючи підписаний PGP `однофайловий пакунок "
+"<https://docs.flatpak.org/en/latest/single-file-bundles.html>`_, ви "
+"можете зробити це так:"
-#: ../../source/install.rst:30
+#: ../../source/install.rst:55
msgid ""
-"Install Flatpak by following the instructions at https://flatpak.org/setup/."
+"Install Flatpak by following the instructions at "
+"https://flatpak.org/setup/."
msgstr ""
-"Установіть Flatpak, дотримуючись інструкцій на сайті https://flatpak.org/"
-"setup/."
+"Установіть Flatpak, дотримуючись інструкцій на сайті "
+"https://flatpak.org/setup/."
#: ../../source/install.rst:31
msgid ""
-"Add the Flathub repository by running ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Even though you "
-"won't be downloading OnionShare from Flathub, OnionShare depends on some "
-"packages that are only available there."
+"Add the Flathub repository by running ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Even "
+"though you won't be downloading OnionShare from Flathub, OnionShare "
+"depends on some packages that are only available there."
msgstr ""
"Додайте сховище Flathub, виконавши ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Навіть якщо ви не "
-"будете завантажувати OnionShare з Flathub, OnionShare залежить від деяких "
-"пакунків, які доступні лише там."
+"flathub https://flathub.org/repo/flathub.flatpakrepo``. Навіть якщо ви не"
+" будете завантажувати OnionShare з Flathub, OnionShare залежить від "
+"деяких пакунків, які доступні лише там."
#: ../../source/install.rst:32
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.flatpak`` and ``.flatpak.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.flatpak`` and ``.flatpak.asc`` files."
msgstr ""
"Перейдіть на https://onionshare.org/dist/, виберіть останню версію "
"OnionShare і завантажте файли ``.flatpak`` і ``.flatpak.asc``."
#: ../../source/install.rst:33
msgid ""
-"Verify the PGP signature of the ``.flatpak`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.flatpak`` file. See "
+":ref:`verifying_sigs` for more info."
msgstr ""
-"Перевірте підпис PGP файлу ``.flatpak``. Перегляньте :ref:`verifying_sigs` "
-"для отримання додаткової інформації."
+"Перевірте підпис PGP файлу ``.flatpak``. Перегляньте "
+":ref:`verifying_sigs` для отримання додаткової інформації."
#: ../../source/install.rst:34
msgid ""
"Install the ``.flatpak`` file by running ``flatpak install OnionShare-"
-"VERSION.flatpak``. Replace ``VERSION`` with the version number of the file "
-"you downloaded."
+"VERSION.flatpak``. Replace ``VERSION`` with the version number of the "
+"file you downloaded."
msgstr ""
-"Встановіть файл ``.flatpak``, запустивши ``flatpak install OnionShare-VERSION"
-".flatpak``. Замініть ``VERSION`` на номер версії файлу, який ви завантажили."
+"Встановіть файл ``.flatpak``, запустивши ``flatpak install OnionShare-"
+"VERSION.flatpak``. Замініть ``VERSION`` на номер версії файлу, який ви "
+"завантажили."
#: ../../source/install.rst:36
msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
msgstr ""
-"Запустити OnionShare можна за допомогою: `flatpak run org.onionshare."
-"OnionShare`."
+"Запустити OnionShare можна за допомогою: `flatpak run "
+"org.onionshare.OnionShare`."
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
@@ -154,49 +158,49 @@ msgstr "Ручне встановлення Snapcraft"
#: ../../source/install.rst:41
msgid ""
-"If you'd like to install OnionShare manually with Snapcraft using the PGP-"
-"signed Snapcraft package, you can do so like this:"
+"If you'd like to install OnionShare manually with Snapcraft using the "
+"PGP-signed Snapcraft package, you can do so like this:"
msgstr ""
"Якщо ви хочете встановити OnionShare вручну зі Snapcraft за допомогою "
"пакунка Snapcraft із підписом PGP, ви можете зробити це так:"
-#: ../../source/install.rst:43
+#: ../../source/install.rst:68
msgid ""
-"Install Snapcraft by following the instructions at https://snapcraft.io/docs/"
-"installing-snapd."
+"Install Snapcraft by following the instructions at "
+"https://snapcraft.io/docs/installing-snapd."
msgstr ""
-"Встановіть Snapcraft, дотримуючись інструкцій на сайті https://snapcraft.io/"
-"docs/installing-snapd."
+"Встановіть Snapcraft, дотримуючись інструкцій на сайті "
+"https://snapcraft.io/docs/installing-snapd."
#: ../../source/install.rst:44
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.snap`` and ``.snap.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.snap`` and ``.snap.asc`` files."
msgstr ""
"Перейдіть на https://onionshare.org/dist/, виберіть найновішу версію "
"OnionShare і завантажте файли ``.snap`` і ``.snap.asc``."
#: ../../source/install.rst:45
msgid ""
-"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs`"
+" for more info."
msgstr ""
-"Перевірте підпис PGP файлу ``.snap``. Перегляньте :ref:`verifying_sigs` для "
-"отримання додаткової інформації."
+"Перевірте підпис PGP файлу ``.snap``. Перегляньте :ref:`verifying_sigs` "
+"для отримання додаткової інформації."
-#: ../../source/install.rst:46
+#: ../../source/install.rst:71
msgid ""
"Install the ``.snap`` file by running ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version number "
-"of the file you downloaded. Note that you must use `--dangerous` because the "
-"package is not signed by the Snapcraft store, however you did verify its PGP "
-"signature, so you know it's legitimate."
+"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version "
+"number of the file you downloaded. Note that you must use `--dangerous` "
+"because the package is not signed by the Snapcraft store, however you did"
+" verify its PGP signature, so you know it's legitimate."
msgstr ""
"Встановіть файл ``.snap``, запустивши ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Замініть ``VERSION`` на номер версії файлу, "
-"який ви завантажили. Зауважте, що ви повинні використовувати `--dangerous`, "
-"оскільки пакунок не підписано магазином Snapcraft, проте ви перевірили його "
-"підпис PGP, тому знаєте, що він справжній."
+"onionshare_VERSION_amd64.snap``. Замініть ``VERSION`` на номер версії "
+"файлу, який ви завантажили. Зауважте, що ви повинні використовувати "
+"`--dangerous`, оскільки пакунок не підписано магазином Snapcraft, проте "
+"ви перевірили його підпис PGP, тому знаєте, що він справжній."
#: ../../source/install.rst:48
msgid "You can run OnionShare with: `snap run onionshare`."
@@ -208,12 +212,13 @@ msgstr "Лише для командного рядка"
#: ../../source/install.rst:55
msgid ""
-"You can install just the command-line version of OnionShare on any operating "
-"system using the Python package manager ``pip``. :ref:`cli` has more info."
+"You can install just the command-line version of OnionShare on any "
+"operating system using the Python package manager ``pip``. :ref:`cli` has"
+" more info."
msgstr ""
"Ви можете встановити версію OnionShare для командного рядка на будь-яку "
-"операційну систему за допомогою менеджера пакунків Python ``pip``. :ref:"
-"`cli` містить більше подробиць."
+"операційну систему за допомогою менеджера пакунків Python ``pip``. "
+":ref:`cli` містить більше подробиць."
#: ../../source/install.rst:60
msgid "Verifying PGP signatures"
@@ -221,17 +226,17 @@ msgstr "Перевірка підписів PGP"
#: ../../source/install.rst:62
msgid ""
-"You can verify that the package you download is legitimate and hasn't been "
-"tampered with by verifying its PGP signature. For Windows and macOS, this "
-"step is optional and provides defense in depth: the OnionShare binaries "
-"include operating system-specific signatures, and you can just rely on those "
-"alone if you'd like."
+"You can verify that the package you download is legitimate and hasn't "
+"been tampered with by verifying its PGP signature. For Windows and macOS,"
+" this step is optional and provides defense in depth: the OnionShare "
+"binaries include operating system-specific signatures, and you can just "
+"rely on those alone if you'd like."
msgstr ""
-"Ви можете переконатися, що пакет, який ви завантажуєте, є справжнім і не був "
-"підроблений, перевіривши його підпис PGP. Для Windows і macOS цей крок не є "
-"обов'язковим і забезпечує захист в глибині: двійкові файли OnionShare "
-"включають підписи, специфічні для операційної системи, і ви можете просто "
-"покладатися лише на них, якщо хочете."
+"Ви можете переконатися, що пакет, який ви завантажуєте, є справжнім і не "
+"був підроблений, перевіривши його підпис PGP. Для Windows і macOS цей "
+"крок не є обов'язковим і забезпечує захист в глибині: двійкові файли "
+"OnionShare включають підписи, специфічні для операційної системи, і ви "
+"можете просто покладатися лише на них, якщо хочете."
#: ../../source/install.rst:66
msgid "Signing key"
@@ -239,140 +244,199 @@ msgstr "Ключ підпису"
#: ../../source/install.rst:68
msgid ""
-"Packages are signed by Micah Lee, the core developer, using his PGP public "
-"key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
-"download Micah's key `from the keys.openpgp.org keyserver <https://keys."
-"openpgp.org/vks/v1/by-"
+"Packages are signed by Micah Lee, the core developer, using his PGP "
+"public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
+" You can download Micah's key `from the keys.openpgp.org keyserver "
+"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
-"Пакунки підписує основний розробник Micah Lee своїм відкритим ключем PGP з "
-"цифровим відбитком ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Ключ Micah "
-"можна завантажити `з сервера ключів keys.openpgp.org <https://keys.openpgp."
-"org/vks/v1/by-fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+"Пакунки підписує основний розробник Micah Lee своїм відкритим ключем PGP "
+"з цифровим відбитком ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Ключ "
+"Micah можна завантажити `з сервера ключів keys.openpgp.org "
+"<https://keys.openpgp.org/vks/v1/by-"
+"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#: ../../source/install.rst:71
msgid ""
-"You must have GnuPG installed to verify signatures. For macOS you probably "
-"want `GPGTools <https://gpgtools.org/>`_, and for Windows you probably want "
-"`Gpg4win <https://www.gpg4win.org/>`_."
+"You must have GnuPG installed to verify signatures. For macOS you "
+"probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you "
+"probably want `Gpg4win <https://www.gpg4win.org/>`_."
msgstr ""
-"Для перевірки підписів потрібно встановити GnuPG. Для macOS ви, ймовірно, "
-"захочете `GPGTools <https://gpgtools.org/>`_, а для Windows ви, ймовірно, "
-"захочете `Gpg4win <https://www.gpg4win.org/>`_."
+"Для перевірки підписів потрібно встановити GnuPG. Для macOS ви, ймовірно,"
+" захочете `GPGTools <https://gpgtools.org/>`_, а для Windows ви, "
+"ймовірно, захочете `Gpg4win <https://www.gpg4win.org/>`_."
#: ../../source/install.rst:74
msgid "Signatures"
msgstr "Підписи"
#: ../../source/install.rst:76
+#, fuzzy
msgid ""
-"You can find the signatures (as ``.asc`` files), as well as Windows, macOS, "
-"Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the "
-"folders named for each version of OnionShare. You can also find them on the "
-"`GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+"You can find the signatures (as ``.asc`` files), as well as Windows, "
+"macOS, Flatpak, Snap, and source packages, at "
+"https://onionshare.org/dist/ in the folders named for each version of "
+"OnionShare. You can also find them on the `GitHub Releases page "
+"<https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
-"Ви можете знайти підписи (файли ``.asc``), а також пакунки Windows, macOS, "
-"Flatpak, Snap та джерельні пакунки за адресою https://onionshare.org/dist/ у "
-"теках, названих для кожної версії OnionShare. Ви також можете знайти їх на "
-"`сторінці випусків GitHub <https://github.com/micahflee/onionshare/"
-"releases>`_."
+"Ви можете знайти підписи (файли ``.asc``), а також пакунки Windows, "
+"macOS, Flatpak, Snap та джерельні пакунки за адресою "
+"https://onionshare.org/dist/ у теках, названих для кожної версії "
+"OnionShare. Ви також можете знайти їх на `сторінці випусків GitHub "
+"<https://github.com/micahflee/onionshare/releases>`_."
#: ../../source/install.rst:80
msgid "Verifying"
msgstr "Перевірка"
#: ../../source/install.rst:82
+#, fuzzy
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
-"downloaded the binary and ``.asc`` signature, you can verify the binary for "
-"macOS in a terminal like this::"
+"downloaded the binary and ``.asc`` signature, you can verify the binary "
+"in a terminal like this:"
msgstr ""
"Після того, як відкритий ключ Micah імпортовано до вашої збірки ключів "
-"GnuPG, завантажено двійковий файл і завантажено підпис ``.asc``, ви можете "
-"перевірити двійковий файл для macOS в терміналі в такий спосіб::"
+"GnuPG, завантажено двійковий файл і завантажено підпис ``.asc``, ви "
+"можете перевірити двійковий файл для macOS в терміналі в такий спосіб::"
-#: ../../source/install.rst:86
-msgid "Or for Windows, in a command-prompt like this::"
-msgstr "Або для Windows у командному рядку у такий спосіб::"
+#: ../../source/install.rst:84
+msgid "For Windows::"
+msgstr ""
-#: ../../source/install.rst:90
+#: ../../source/install.rst:88
+msgid "For macOS::"
+msgstr ""
+
+#: ../../source/install.rst:92
+#, fuzzy
+msgid "For Linux::"
+msgstr "Linux"
+
+#: ../../source/install.rst:98
+msgid "and for the source file::"
+msgstr ""
+
+#: ../../source/install.rst:102
msgid "The expected output looks like this::"
msgstr "Очікуваний результат може виглядати так::"
-#: ../../source/install.rst:102
+#: ../../source/install.rst:112
+#, fuzzy
msgid ""
-"If you don't see ``Good signature from``, there might be a problem with the "
-"integrity of the file (malicious or otherwise), and you should not install "
-"the package. (The ``WARNING:`` shown above, is not a problem with the "
-"package, it only means you haven't defined a level of \"trust\" of Micah's "
-"(the core developer) PGP key.)"
+"If you don't see ``Good signature from``, there might be a problem with "
+"the integrity of the file (malicious or otherwise), and you should not "
+"install the package."
msgstr ""
"Якщо ви не бачите ``Good signature from``, можливо, виникла проблема з "
-"цілісністю файлу (зловмисна чи інша), і, можливо, вам не слід установлювати "
-"пакунок. (Вказаний раніше ``WARNING:`` не є проблемою з пакунком, це лише "
-"означає, що ви не визначили рівень «довіри» до самого ключа PGP від Micah "
-"(основного розробника).)"
+"цілісністю файлу (зловмисна чи інша), і, можливо, вам не слід "
+"установлювати пакунок. (Вказаний раніше ``WARNING:`` не є проблемою з "
+"пакунком, це лише означає, що ви не визначили рівень «довіри» до самого "
+"ключа PGP від Micah (основного розробника).)"
-#: ../../source/install.rst:104
+#: ../../source/install.rst:114
+#, fuzzy
+msgid ""
+"The ``WARNING:`` shown above, is not a problem with the package, it only "
+"means you haven't defined a level of \"trust\" of Micah's (the core "
+"developer) PGP key."
+msgstr ""
+"Якщо ви не бачите ``Good signature from``, можливо, виникла проблема з "
+"цілісністю файлу (зловмисна чи інша), і, можливо, вам не слід "
+"установлювати пакунок. (Вказаний раніше ``WARNING:`` не є проблемою з "
+"пакунком, це лише означає, що ви не визначили рівень «довіри» до самого "
+"ключа PGP від Micah (основного розробника).)"
+
+#: ../../source/install.rst:116
msgid ""
"If you want to learn more about verifying PGP signatures, the guides for "
-"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and "
-"the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/"
-">`_ may be useful."
+"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and"
+" the `Tor Project <https://support.torproject.org/tbb/how-to-verify-"
+"signature/>`_ may be useful."
msgstr ""
"Докладніше про перевірку підписів PGP читайте у настановах для `Qubes OS "
-"<https://www.qubes-os.org/security/verifying-signatures/>`_ та `Tor Project "
-"<https://support.torproject.org/tbb/how-to-verify-signature/>`_."
+"<https://www.qubes-os.org/security/verifying-signatures/>`_ та `Tor "
+"Project <https://support.torproject.org/tbb/how-to-verify-signature/>`_."
#~ msgid "For added security, see :ref:`verifying_sigs`."
#~ msgstr "Для додаткової безпеки перегляньте :ref:`verifying_sigs`."
#~ msgid ""
-#~ "There are various ways to install OnionShare for Linux, but the "
-#~ "recommended way is to use the Flatpak package. Flatpak ensures that "
-#~ "you'll always use the most latest dependencies and run OnionShare inside "
+#~ "There are various ways to install "
+#~ "OnionShare for Linux, but the "
+#~ "recommended way is to use the "
+#~ "Flatpak package. Flatpak ensures that "
+#~ "you'll always use the most latest "
+#~ "dependencies and run OnionShare inside "
#~ "of a sandbox."
#~ msgstr ""
-#~ "Існують різні способи встановлення OnionShare для Linux, але "
-#~ "рекомендованим способом є використання пакунку Flatpak. Flatpak гарантує, "
-#~ "що ви завжди будете користуватися найновішими залежностями та запускати "
-#~ "OnionShare всередині пісочниці."
+#~ "Існують різні способи встановлення OnionShare"
+#~ " для Linux, але рекомендованим способом "
+#~ "є використання пакунку Flatpak. Flatpak "
+#~ "гарантує, що ви завжди будете "
+#~ "користуватися найновішими залежностями та "
+#~ "запускати OnionShare всередині пісочниці."
#~ msgid ""
-#~ "Make sure you have ``flatpak`` installed and the Flathub repository added "
-#~ "by following `these instructions <https://flatpak.org/setup/>`_ for your "
-#~ "Linux distribution."
+#~ "Make sure you have ``flatpak`` installed"
+#~ " and the Flathub repository added by"
+#~ " following `these instructions "
+#~ "<https://flatpak.org/setup/>`_ for your Linux "
+#~ "distribution."
#~ msgstr ""
-#~ "Переконайтесь, що у вас встановлено ``flatpak`` та додано сховище "
-#~ "Flathub, дотримуючись `цих настанов <https://flatpak.org/setup/>`_ для "
-#~ "вашого дистрибутива Linux."
+#~ "Переконайтесь, що у вас встановлено "
+#~ "``flatpak`` та додано сховище Flathub, "
+#~ "дотримуючись `цих настанов "
+#~ "<https://flatpak.org/setup/>`_ для вашого "
+#~ "дистрибутива Linux."
#~ msgid ""
-#~ "You can verify that the Windows, macOS, or source package you download is "
-#~ "legitimate and hasn't been tampered with by verifying its PGP signature. "
-#~ "For Windows and macOS, this step is optional and provides defense in "
-#~ "depth: the installers also include their operating system-specific "
-#~ "signatures, and you can just rely on those alone if you'd like."
+#~ "You can verify that the Windows, "
+#~ "macOS, or source package you download"
+#~ " is legitimate and hasn't been "
+#~ "tampered with by verifying its PGP "
+#~ "signature. For Windows and macOS, this"
+#~ " step is optional and provides "
+#~ "defense in depth: the installers also"
+#~ " include their operating system-specific"
+#~ " signatures, and you can just rely"
+#~ " on those alone if you'd like."
#~ msgstr ""
-#~ "Ви можете переконатися, що завантажений пакунок для Windows, macOS або "
-#~ "джерельний пакунок є законним і не підробленим, перевіривши його підпис "
-#~ "PGP. Для Windows та macOS цей крок є необов’язковим, але забезпечує "
-#~ "додатковий захист: встановлювачі також включають свої підписи для "
-#~ "конкретної операційної системи, тож ви можете просто покластись лише на "
-#~ "них, якщо хочете."
+#~ "Ви можете переконатися, що завантажений "
+#~ "пакунок для Windows, macOS або "
+#~ "джерельний пакунок є законним і не "
+#~ "підробленим, перевіривши його підпис PGP. "
+#~ "Для Windows та macOS цей крок є"
+#~ " необов’язковим, але забезпечує додатковий "
+#~ "захист: встановлювачі також включають свої "
+#~ "підписи для конкретної операційної системи,"
+#~ " тож ви можете просто покластись лише"
+#~ " на них, якщо хочете."
#~ msgid ""
-#~ "Windows, macOS, and source packaged are signed by Micah Lee, the core "
-#~ "developer, using his PGP public key with fingerprint "
-#~ "``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can download Micah's "
-#~ "key `from the keys.openpgp.org keyserver <https://keys.openpgp.org/vks/v1/"
-#~ "by-fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+#~ "Windows, macOS, and source packaged are"
+#~ " signed by Micah Lee, the core "
+#~ "developer, using his PGP public key "
+#~ "with fingerprint "
+#~ "``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
+#~ "download Micah's key `from the "
+#~ "keys.openpgp.org keyserver "
+#~ "<https://keys.openpgp.org/vks/v1/by-"
+#~ "fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#~ msgstr ""
-#~ "Пакунки Windows, macOS та джерельні пакунки підписано основним "
-#~ "розробником Micah Lee його відкритим ключем PGP із цифровим відбитком "
-#~ "`927F419D7EC82C2F149C1BD1403C2657CD994F73``. Ви можете завантажити ключ "
-#~ "Micah з сервера ключів keys.openpgp.org keyserver <https://keys.openpgp."
-#~ "org/vks/v1/by-fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+#~ "Пакунки Windows, macOS та джерельні "
+#~ "пакунки підписано основним розробником Micah"
+#~ " Lee його відкритим ключем PGP із "
+#~ "цифровим відбитком "
+#~ "`927F419D7EC82C2F149C1BD1403C2657CD994F73``. Ви можете "
+#~ "завантажити ключ Micah з сервера ключів"
+#~ " keys.openpgp.org keyserver "
+#~ "<https://keys.openpgp.org/vks/v1/by-"
+#~ "fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#~ msgid "Install in Linux"
#~ msgstr "Встановлення на Linux"
+
+#~ msgid "Or for Windows, in a command-prompt like this::"
+#~ msgstr "Або для Windows у командному рядку у такий спосіб::"
+
diff --git a/docs/source/locale/vi/LC_MESSAGES/install.po b/docs/source/locale/vi/LC_MESSAGES/install.po
index e8c270e5..99df305f 100644
--- a/docs/source/locale/vi/LC_MESSAGES/install.po
+++ b/docs/source/locale/vi/LC_MESSAGES/install.po
@@ -1,22 +1,22 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) Micah Lee, et al.
# This file is distributed under the same license as the OnionShare package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.6\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: 2023-07-25 17:04+0000\n"
"Last-Translator: tictactoe <phandinhminh@protonmail.ch>\n"
-"Language-Team: none\n"
"Language: vi\n"
+"Language-Team: none\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 5.0-dev\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/install.rst:2
msgid "Installation"
@@ -40,15 +40,17 @@ msgstr "Linux"
#: ../../source/install.rst:14
msgid ""
-"There are various ways to install OnionShare for Linux, but the recommended "
-"way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap "
-"<https://snapcraft.io/>`_ package. Flatpak and Snapcraft ensure that you'll "
-"always use the newest version and run OnionShare inside of a sandbox."
+"There are various ways to install OnionShare for Linux, but the "
+"recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or"
+" the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snapcraft "
+"ensure that you'll always use the newest version and run OnionShare "
+"inside of a sandbox."
msgstr ""
-"Có nhiều cách khác nhau để cài đặt OnionShare cho Linux, nhưng cách được đề "
-"xuất là hoặc sử dụng gói `Flatpak <https://flatpak.org/>`_ hoặc gói `Snap "
-"<https://snapcraft.io/>`_ . Flatpak và Snapcraft đảm bảo rằng bạn sẽ luôn sử "
-"dụng phiên bản mới nhất và chạy OnionShare bên trong một sandbox."
+"Có nhiều cách khác nhau để cài đặt OnionShare cho Linux, nhưng cách được "
+"đề xuất là hoặc sử dụng gói `Flatpak <https://flatpak.org/>`_ hoặc gói "
+"`Snap <https://snapcraft.io/>`_ . Flatpak và Snapcraft đảm bảo rằng bạn "
+"sẽ luôn sử dụng phiên bản mới nhất và chạy OnionShare bên trong một "
+"sandbox."
#: ../../source/install.rst:17
msgid ""
@@ -56,30 +58,29 @@ msgid ""
"support, but which you use is up to you. Both work in all Linux "
"distributions."
msgstr ""
-"Hỗ trợ Snapcraft được tích hợp sẵn trong Ubuntu và Fedora đi kèm với hỗ trợ "
-"Flatpak, nhưng việc bạn sử dụng loại nào là tùy thuộc vào bạn. Cả hai đều "
-"hoạt động trong tất cả các bản phân phối Linux."
+"Hỗ trợ Snapcraft được tích hợp sẵn trong Ubuntu và Fedora đi kèm với hỗ "
+"trợ Flatpak, nhưng việc bạn sử dụng loại nào là tùy thuộc vào bạn. Cả hai"
+" đều hoạt động trong tất cả các bản phân phối Linux."
#: ../../source/install.rst:19
msgid ""
-"**Install OnionShare using Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Install OnionShare using Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
msgstr ""
-"**Cài đặt OnionShare sử dụng Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Cài đặt OnionShare sử dụng Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
#: ../../source/install.rst:21
msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
-msgstr ""
-"**Cài đặt OnionShare sử dụng Snapcraft**: https://snapcraft.io/onionshare"
+msgstr "**Cài đặt OnionShare sử dụng Snapcraft**: https://snapcraft.io/onionshare"
#: ../../source/install.rst:23
msgid ""
"You can also download and install PGP-signed ``.flatpak`` or ``.snap`` "
"packages from https://onionshare.org/dist/ if you prefer."
msgstr ""
-"Bạn cũng có thể tải xuống và cài đặt các gói ``.flatpak`` hoặc ``.snap`` có "
-"chữ ký PGP từ https://onionshare.org/dist/ nếu bạn muốn."
+"Bạn cũng có thể tải xuống và cài đặt các gói ``.flatpak`` hoặc ``.snap`` "
+"có chữ ký PGP từ https://onionshare.org/dist/ nếu bạn muốn."
#: ../../source/install.rst:26
msgid "Manual Flatpak Installation"
@@ -88,43 +89,46 @@ msgstr "Cài đặt Flatpak theo cách thủ công"
#: ../../source/install.rst:28
msgid ""
"If you'd like to install OnionShare manually with Flatpak using the PGP-"
-"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
-"bundles.html>`_, you can do so like this:"
+"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-"
+"file-bundles.html>`_, you can do so like this:"
msgstr ""
-"Nếu bạn muốn cài đặt OnionShare theo cách thủ công với Flatpak bằng cách sử "
-"dụng `gói tập tin đơn có chữ ký PGP <https://docs.flatpak.org/en/latest/"
-"single-file-bundles.html>`_, bạn có thể thực hiện như sau:"
+"Nếu bạn muốn cài đặt OnionShare theo cách thủ công với Flatpak bằng cách "
+"sử dụng `gói tập tin đơn có chữ ký PGP "
+"<https://docs.flatpak.org/en/latest/single-file-bundles.html>`_, bạn có "
+"thể thực hiện như sau:"
-#: ../../source/install.rst:30
+#: ../../source/install.rst:55
msgid ""
-"Install Flatpak by following the instructions at https://flatpak.org/setup/."
+"Install Flatpak by following the instructions at "
+"https://flatpak.org/setup/."
msgstr ""
-"Cài đặt Flatpak bằng cách làm theo hướng dẫn tại https://flatpak.org/setup/."
+"Cài đặt Flatpak bằng cách làm theo hướng dẫn tại "
+"https://flatpak.org/setup/."
#: ../../source/install.rst:31
msgid ""
-"Add the Flathub repository by running ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Even though you "
-"won't be downloading OnionShare from Flathub, OnionShare depends on some "
-"packages that are only available there."
+"Add the Flathub repository by running ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Even "
+"though you won't be downloading OnionShare from Flathub, OnionShare "
+"depends on some packages that are only available there."
msgstr ""
-"Thêm kho lưu trữ Flathub bằng cách chạy ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Mặc dù bạn sẽ không "
-"tải xuống OnionShare từ Flathub, nhưng OnionShare phụ thuộc vào một số gói "
-"package chỉ khả dụng ở đó mà thôi."
+"Thêm kho lưu trữ Flathub bằng cách chạy ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Mặc dù bạn"
+" sẽ không tải xuống OnionShare từ Flathub, nhưng OnionShare phụ thuộc vào"
+" một số gói package chỉ khả dụng ở đó mà thôi."
#: ../../source/install.rst:32
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.flatpak`` and ``.flatpak.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.flatpak`` and ``.flatpak.asc`` files."
msgstr ""
-"Đi tới https://onionshare.org/dist/, lựa chọn phiên bản OnionShare mới nhất, "
-"và tải xuống các file tệp tin ``.flatpak`` và ``.flatpak.asc``."
+"Đi tới https://onionshare.org/dist/, lựa chọn phiên bản OnionShare mới "
+"nhất, và tải xuống các file tệp tin ``.flatpak`` và ``.flatpak.asc``."
#: ../../source/install.rst:33
msgid ""
-"Verify the PGP signature of the ``.flatpak`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.flatpak`` file. See "
+":ref:`verifying_sigs` for more info."
msgstr ""
"Xác minh chữ ký PGP của file tệp tin ``.flatpak``. Hãy xem "
":ref:`verifying_sigs` để biết thêm thông tin."
@@ -132,8 +136,8 @@ msgstr ""
#: ../../source/install.rst:34
msgid ""
"Install the ``.flatpak`` file by running ``flatpak install OnionShare-"
-"VERSION.flatpak``. Replace ``VERSION`` with the version number of the file "
-"you downloaded."
+"VERSION.flatpak``. Replace ``VERSION`` with the version number of the "
+"file you downloaded."
msgstr ""
"Cài đặt file tệp tin ``.flatpak`` bằng cách chạy ``flatpak install "
"OnionShare-VERSION.flatpak``. Thay thế ``VERSION`` bằng số phiên bản của "
@@ -141,8 +145,7 @@ msgstr ""
#: ../../source/install.rst:36
msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
-msgstr ""
-"Bạn có thể chạy OnionShare với: `flatpak run org.onionshare.OnionShare`."
+msgstr "Bạn có thể chạy OnionShare với: `flatpak run org.onionshare.OnionShare`."
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
@@ -150,49 +153,51 @@ msgstr "Cài đặt Snapcraft theo cách thủ công"
#: ../../source/install.rst:41
msgid ""
-"If you'd like to install OnionShare manually with Snapcraft using the PGP-"
-"signed Snapcraft package, you can do so like this:"
+"If you'd like to install OnionShare manually with Snapcraft using the "
+"PGP-signed Snapcraft package, you can do so like this:"
msgstr ""
-"nếu như bạn muốn cài đặt OnionShare theo cách thủ công với Snapcraft bằng "
-"cách sử dụng gói package Snapcraft có chữ ký PGP, bạn có thể làm như thế này:"
+"nếu như bạn muốn cài đặt OnionShare theo cách thủ công với Snapcraft bằng"
+" cách sử dụng gói package Snapcraft có chữ ký PGP, bạn có thể làm như thế"
+" này:"
-#: ../../source/install.rst:43
+#: ../../source/install.rst:68
msgid ""
-"Install Snapcraft by following the instructions at https://snapcraft.io/docs/"
-"installing-snapd."
+"Install Snapcraft by following the instructions at "
+"https://snapcraft.io/docs/installing-snapd."
msgstr ""
-"Cài đặt Snapcraft bằng cách làm theo các chỉ dẫn tại https://snapcraft.io/"
-"docs/installing-snapd."
+"Cài đặt Snapcraft bằng cách làm theo các chỉ dẫn tại "
+"https://snapcraft.io/docs/installing-snapd."
#: ../../source/install.rst:44
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.snap`` and ``.snap.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.snap`` and ``.snap.asc`` files."
msgstr ""
"Đi tới https://onionshare.org/dist/, lựa chọn phiên bản mới nhất của "
"OnionShare, và tải xuống các file tệp tin ``.snap`` và ``.snap.asc``."
#: ../../source/install.rst:45
msgid ""
-"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs`"
+" for more info."
msgstr ""
-"Xác minh chữ ký PGP của file tệp tin ``.snap``. hãy xem :ref:`verifying_sigs`"
-" để biết thêm thông tin."
+"Xác minh chữ ký PGP của file tệp tin ``.snap``. hãy xem "
+":ref:`verifying_sigs` để biết thêm thông tin."
-#: ../../source/install.rst:46
+#: ../../source/install.rst:71
msgid ""
"Install the ``.snap`` file by running ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version number "
-"of the file you downloaded. Note that you must use `--dangerous` because the "
-"package is not signed by the Snapcraft store, however you did verify its PGP "
-"signature, so you know it's legitimate."
+"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version "
+"number of the file you downloaded. Note that you must use `--dangerous` "
+"because the package is not signed by the Snapcraft store, however you did"
+" verify its PGP signature, so you know it's legitimate."
msgstr ""
"Cài đặt file tệp tin ``.snap`` bằng cách chạy ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Thay thế ``VERSION`` bằng số phiên bản của "
-"file tệp tin mà bạn đã tải xuống. Lưu ý rằng bạn phải sử dụng `--dangerous` "
-"bởi vì gói package không được ký bởi cửa hàng Snapcraft store, tuy nhiên, "
-"bạn đã xác minh chữ ký PGP của nó, vì vậy bạn biết nó là chính chủ hợp pháp."
+"onionshare_VERSION_amd64.snap``. Thay thế ``VERSION`` bằng số phiên bản "
+"của file tệp tin mà bạn đã tải xuống. Lưu ý rằng bạn phải sử dụng "
+"`--dangerous` bởi vì gói package không được ký bởi cửa hàng Snapcraft "
+"store, tuy nhiên, bạn đã xác minh chữ ký PGP của nó, vì vậy bạn biết nó "
+"là chính chủ hợp pháp."
#: ../../source/install.rst:48
msgid "You can run OnionShare with: `snap run onionshare`."
@@ -204,12 +209,13 @@ msgstr "Chỉ dòng lệnh command mà thôi"
#: ../../source/install.rst:55
msgid ""
-"You can install just the command-line version of OnionShare on any operating "
-"system using the Python package manager ``pip``. :ref:`cli` has more info."
+"You can install just the command-line version of OnionShare on any "
+"operating system using the Python package manager ``pip``. :ref:`cli` has"
+" more info."
msgstr ""
-"Bạn có thể chỉ cài đặt phiên bản dòng lệnh command của OnionShare trên bất "
-"kỳ hệ điều hành nào bằng cách sử dụng trình quản lý gói Python ``pip``. :ref:"
-"`cli` có thêm thông tin."
+"Bạn có thể chỉ cài đặt phiên bản dòng lệnh command của OnionShare trên "
+"bất kỳ hệ điều hành nào bằng cách sử dụng trình quản lý gói Python "
+"``pip``. :ref:`cli` có thêm thông tin."
#: ../../source/install.rst:60
msgid "Verifying PGP signatures"
@@ -217,18 +223,18 @@ msgstr "Việc xác minh chữ ký PGP"
#: ../../source/install.rst:62
msgid ""
-"You can verify that the package you download is legitimate and hasn't been "
-"tampered with by verifying its PGP signature. For Windows and macOS, this "
-"step is optional and provides defense in depth: the OnionShare binaries "
-"include operating system-specific signatures, and you can just rely on those "
-"alone if you'd like."
+"You can verify that the package you download is legitimate and hasn't "
+"been tampered with by verifying its PGP signature. For Windows and macOS,"
+" this step is optional and provides defense in depth: the OnionShare "
+"binaries include operating system-specific signatures, and you can just "
+"rely on those alone if you'd like."
msgstr ""
-"Bạn có thể xác minh rằng gói mà bạn tải xuống là hợp pháp hợp lệ và không bị "
-"giả mạo hoặc xáo trộn bằng cách xác minh chữ ký PGP của nó. Đối với hệ điều "
-"hành Windows và macOS, bước này là tùy chọn và cung cấp khả năng bảo vệ "
-"chuyên sâu: các nhị phân OnionShare binaries bao gồm các chữ ký dành riêng "
-"cho hệ điều hành, và bạn có thể chỉ cần dựa vào những chữ ký đó mà thôi nếu "
-"bạn muốn."
+"Bạn có thể xác minh rằng gói mà bạn tải xuống là hợp pháp hợp lệ và không"
+" bị giả mạo hoặc xáo trộn bằng cách xác minh chữ ký PGP của nó. Đối với "
+"hệ điều hành Windows và macOS, bước này là tùy chọn và cung cấp khả năng "
+"bảo vệ chuyên sâu: các nhị phân OnionShare binaries bao gồm các chữ ký "
+"dành riêng cho hệ điều hành, và bạn có thể chỉ cần dựa vào những chữ ký "
+"đó mà thôi nếu bạn muốn."
#: ../../source/install.rst:66
msgid "Signing key"
@@ -236,90 +242,124 @@ msgstr "Khoá key chữ ký"
#: ../../source/install.rst:68
msgid ""
-"Packages are signed by Micah Lee, the core developer, using his PGP public "
-"key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
-"download Micah's key `from the keys.openpgp.org keyserver <https://keys."
-"openpgp.org/vks/v1/by-"
+"Packages are signed by Micah Lee, the core developer, using his PGP "
+"public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
+" You can download Micah's key `from the keys.openpgp.org keyserver "
+"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
-"Các gói được ký bởi Micah Lee, nhà phát triển cốt lõi, sử dụng khóa key công "
-"cộng PGP của anh ấy với dấu vân tay fingerprint "
-"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Bạn có thể tải xuống khóa key "
-"của Micah `từ máy chủ khóa key keys.openpgp.org <https://keys.openpgp.org/"
-"vks/v1/by-fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+"Các gói được ký bởi Micah Lee, nhà phát triển cốt lõi, sử dụng khóa key "
+"công cộng PGP của anh ấy với dấu vân tay fingerprint "
+"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Bạn có thể tải xuống khóa "
+"key của Micah `từ máy chủ khóa key keys.openpgp.org "
+"<https://keys.openpgp.org/vks/v1/by-"
+"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#: ../../source/install.rst:71
msgid ""
-"You must have GnuPG installed to verify signatures. For macOS you probably "
-"want `GPGTools <https://gpgtools.org/>`_, and for Windows you probably want "
-"`Gpg4win <https://www.gpg4win.org/>`_."
+"You must have GnuPG installed to verify signatures. For macOS you "
+"probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you "
+"probably want `Gpg4win <https://www.gpg4win.org/>`_."
msgstr ""
-"Bạn phải cài đặt GnuPG sẵn để xác minh chữ ký. Đối với hệ điều hành macOS, "
-"bạn có thể muốn `GPGTools <https://gpgtools.org/>`_, và đối với hệ điều hành "
-"Windows, bạn có thể muốn `Gpg4win <https://www.gpg4win.org/>`_."
+"Bạn phải cài đặt GnuPG sẵn để xác minh chữ ký. Đối với hệ điều hành "
+"macOS, bạn có thể muốn `GPGTools <https://gpgtools.org/>`_, và đối với hệ"
+" điều hành Windows, bạn có thể muốn `Gpg4win "
+"<https://www.gpg4win.org/>`_."
#: ../../source/install.rst:74
msgid "Signatures"
msgstr "Các chữ ký"
#: ../../source/install.rst:76
+#, fuzzy
msgid ""
-"You can find the signatures (as ``.asc`` files), as well as Windows, macOS, "
-"Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the "
-"folders named for each version of OnionShare. You can also find them on the "
-"`GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+"You can find the signatures (as ``.asc`` files), as well as Windows, "
+"macOS, Flatpak, Snap, and source packages, at "
+"https://onionshare.org/dist/ in the folders named for each version of "
+"OnionShare. You can also find them on the `GitHub Releases page "
+"<https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
-"Bạn có thể tìm thấy các chữ ký (dưới dạng tập tin ``.asc``), cũng như các "
-"gói Windows, macOS, Flatpak, Snap, và gói nguồn, tại https://onionshare.org/"
-"dist/ trong các thư mục được đặt tên cho từng phiên bản của OnionShare. Bạn "
-"cũng có thể tìm thấy chúng trên `trang Bản phát hành GitHub <https://github."
-"com/micahflee/onionshare/releases>`_."
+"Bạn có thể tìm thấy các chữ ký (dưới dạng tập tin ``.asc``), cũng như các"
+" gói Windows, macOS, Flatpak, Snap, và gói nguồn, tại "
+"https://onionshare.org/dist/ trong các thư mục được đặt tên cho từng "
+"phiên bản của OnionShare. Bạn cũng có thể tìm thấy chúng trên `trang Bản "
+"phát hành GitHub <https://github.com/micahflee/onionshare/releases>`_."
#: ../../source/install.rst:80
msgid "Verifying"
msgstr "Việc xác minh"
#: ../../source/install.rst:82
+#, fuzzy
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
-"downloaded the binary and ``.asc`` signature, you can verify the binary for "
-"macOS in a terminal like this::"
+"downloaded the binary and ``.asc`` signature, you can verify the binary "
+"in a terminal like this:"
+msgstr ""
+"Một khi bạn đã truy nhập import khóa key công cộng của Micah vào trong "
+"chuỗi khóa keychain GnuPG của bạn, đã tải xuống nhị phân binary và chữ ký"
+" ``.asc``, bạn có thể xác minh file tệp tin nhị phân binary cho macOS "
+"trong một Terminal như sau::"
+
+#: ../../source/install.rst:84
+msgid "For Windows::"
+msgstr ""
+
+#: ../../source/install.rst:88
+msgid "For macOS::"
msgstr ""
-"Một khi bạn đã truy nhập import khóa key công cộng của Micah vào trong chuỗi "
-"khóa keychain GnuPG của bạn, đã tải xuống nhị phân binary và chữ ký ``.asc``"
-", bạn có thể xác minh file tệp tin nhị phân binary cho macOS trong một "
-"Terminal như sau::"
-#: ../../source/install.rst:86
-msgid "Or for Windows, in a command-prompt like this::"
-msgstr "Hoặc đối với Windows, trong một command-prompt như thế này::"
+#: ../../source/install.rst:92
+#, fuzzy
+msgid "For Linux::"
+msgstr "Linux"
+
+#: ../../source/install.rst:98
+msgid "and for the source file::"
+msgstr ""
-#: ../../source/install.rst:90
+#: ../../source/install.rst:102
msgid "The expected output looks like this::"
msgstr "Đầu ra output dự kiến trông như thế này::"
-#: ../../source/install.rst:102
+#: ../../source/install.rst:112
+#, fuzzy
+msgid ""
+"If you don't see ``Good signature from``, there might be a problem with "
+"the integrity of the file (malicious or otherwise), and you should not "
+"install the package."
+msgstr ""
+"Nếu bạn không thấy ``Chữ ký tốt từ``, thì có thể có một vấn đề với tính "
+"toàn vẹn của tập tin (độc hại hoặc theo một cách khác) và bạn không nên "
+"cài đặt gói. (``CẢNH BÁO:`` được hiển thị ở trên, không phải là vấn đề "
+"đối với gói, điều đó chỉ có nghĩa là bạn chưa xác định mức độ \"tin cậy\""
+" của khóa key PGP của Micah (nhà phát triển cốt lõi).)"
+
+#: ../../source/install.rst:114
+#, fuzzy
msgid ""
-"If you don't see ``Good signature from``, there might be a problem with the "
-"integrity of the file (malicious or otherwise), and you should not install "
-"the package. (The ``WARNING:`` shown above, is not a problem with the "
-"package, it only means you haven't defined a level of \"trust\" of Micah's "
-"(the core developer) PGP key.)"
+"The ``WARNING:`` shown above, is not a problem with the package, it only "
+"means you haven't defined a level of \"trust\" of Micah's (the core "
+"developer) PGP key."
msgstr ""
-"Nếu bạn không thấy ``Chữ ký tốt từ``, thì có thể có một vấn đề với tính toàn "
-"vẹn của tập tin (độc hại hoặc theo một cách khác) và bạn không nên cài đặt "
-"gói. (``CẢNH BÁO:`` được hiển thị ở trên, không phải là vấn đề đối với gói, "
-"điều đó chỉ có nghĩa là bạn chưa xác định mức độ \"tin cậy\" của khóa key "
-"PGP của Micah (nhà phát triển cốt lõi).)"
+"Nếu bạn không thấy ``Chữ ký tốt từ``, thì có thể có một vấn đề với tính "
+"toàn vẹn của tập tin (độc hại hoặc theo một cách khác) và bạn không nên "
+"cài đặt gói. (``CẢNH BÁO:`` được hiển thị ở trên, không phải là vấn đề "
+"đối với gói, điều đó chỉ có nghĩa là bạn chưa xác định mức độ \"tin cậy\""
+" của khóa key PGP của Micah (nhà phát triển cốt lõi).)"
-#: ../../source/install.rst:104
+#: ../../source/install.rst:116
msgid ""
"If you want to learn more about verifying PGP signatures, the guides for "
-"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and "
-"the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/"
-">`_ may be useful."
+"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and"
+" the `Tor Project <https://support.torproject.org/tbb/how-to-verify-"
+"signature/>`_ may be useful."
msgstr ""
-"Nếu bạn muốn tìm hiểu thêm về việc xác minh chữ ký PGP, các hướng dẫn dành "
-"cho `Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ và "
-"`Dự án Tor Project <https://support.torproject.org/tbb/"
-"how-to-verify-signature/>`_ có thể hữu ích."
+"Nếu bạn muốn tìm hiểu thêm về việc xác minh chữ ký PGP, các hướng dẫn "
+"dành cho `Qubes OS <https://www.qubes-os.org/security/verifying-"
+"signatures/>`_ và `Dự án Tor Project <https://support.torproject.org/tbb"
+"/how-to-verify-signature/>`_ có thể hữu ích."
+
+#~ msgid "Or for Windows, in a command-prompt like this::"
+#~ msgstr "Hoặc đối với Windows, trong một command-prompt như thế này::"
+
diff --git a/docs/source/locale/zh_CN/LC_MESSAGES/install.po b/docs/source/locale/zh_CN/LC_MESSAGES/install.po
index 8618abb7..2d02d899 100644
--- a/docs/source/locale/zh_CN/LC_MESSAGES/install.po
+++ b/docs/source/locale/zh_CN/LC_MESSAGES/install.po
@@ -8,15 +8,15 @@ msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
-"PO-Revision-Date: 2023-10-28 04:15+0000\n"
-"Last-Translator: Chris Nolan <chrisnolan@tutanota.de>\n"
+"PO-Revision-Date: 2023-06-08 16:50+0000\n"
+"Last-Translator: emma peel <emmapeel@torproject.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 5.2-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/install.rst:2
@@ -37,7 +37,7 @@ msgstr ""
#: ../../source/install.rst:12
msgid "Linux"
-msgstr "Linux"
+msgstr ""
#: ../../source/install.rst:14
msgid ""
@@ -70,7 +70,7 @@ msgstr ""
#: ../../source/install.rst:21
msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
-msgstr "**使用 Snapcraft 安装 OnionShare**:https://snapcraft.io/onionshare"
+msgstr ""
#: ../../source/install.rst:23
msgid ""
diff --git a/flatpak/org.onionshare.OnionShare.yaml b/flatpak/org.onionshare.OnionShare.yaml
index b455cb71..979778bf 100644
--- a/flatpak/org.onionshare.OnionShare.yaml
+++ b/flatpak/org.onionshare.OnionShare.yaml
@@ -2,7 +2,7 @@
app-id: org.onionshare.OnionShare
command: onionshare
runtime: org.kde.Platform
-runtime-version: "6.4"
+runtime-version: "6.5"
sdk: org.kde.Sdk
sdk-extensions:
- org.freedesktop.Sdk.Extension.golang
@@ -35,8 +35,8 @@ modules:
--prefix=${FLATPAK_DEST} "pyside6-essentials" --no-build-isolation
sources:
- type: file
- url: https://files.pythonhosted.org/packages/e5/96/f43cdcb397f8a8cff6991ef8109385cc5ad9b0ad78c6dc2988b3b776fe49/PySide6_Essentials-6.4.2-cp37-abi3-manylinux_2_28_x86_64.whl
- sha256: 8c3d37cca6e27f6da12b50b20e741d593ccc857bdcdb82d97f8f7c8bfe53639a
+ url: https://files.pythonhosted.org/packages/d0/de/9a089e91c2e0fe4f122218bba4f9dbde46338659f412739bd9db1ed9df4f/PySide6_Essentials-6.5.2-cp37-abi3-manylinux_2_28_x86_64.whl
+ sha256: 1620e82b38714a1570b142c01694d0415a25526517b24620ff9b00c9f76cfca9
modules:
- name: shiboken6
buildsystem: simple
@@ -45,14 +45,14 @@ modules:
--prefix=${FLATPAK_DEST} "shiboken6" --no-build-isolation
sources:
- type: file
- url: https://files.pythonhosted.org/packages/24/f6/f1fe9220a616789a1c6b1b73670d8b1dec882ac730a8b534f963b3f26182/shiboken6-6.4.2-cp37-abi3-manylinux_2_28_x86_64.whl
- sha256: 0616c1a12d1e51e680595b3940b986275c1df952a751416a0730a59e5b90105f
+ url: https://files.pythonhosted.org/packages/55/44/d8c366dd4f069166ab9890acb44d004c5e6122714e44c169273dcbbca897/shiboken6-6.5.2-cp37-abi3-manylinux_2_28_x86_64.whl
+ sha256: 3fbc35ff3c19e7d39433671bfc1be3d7fa9d071bfdd0ffe1c2a4d27acd6cf6a5
- name: tor
buildsystem: autotools
sources:
- type: archive
- sha256: d39d38598208f4d6201d7edc6ad573b3a898a932a5c68d3074016a9525519b22
- url: https://dist.torproject.org/tor-0.4.7.9.tar.gz
+ sha256: 6957cfd14a29eee7555c52f8387a46f2ce2f5fe7dadf93547f1bc74b1657e119
+ url: https://dist.torproject.org/tor-0.4.8.5.tar.gz
modules:
- name: libevent
buildsystem: autotools
@@ -302,7 +302,8 @@ modules:
ensure-writable:
- easy-install.pth
build-commands:
- - cd desktop && python3 setup.py install --prefix=${FLATPAK_DEST}
+ - rm desktop/pyproject.toml
+ - cd desktop && pip3 install --prefix=${FLATPAK_DEST} .
- cd desktop && install -D -m0644 org.onionshare.OnionShare.appdata.xml ${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.appdata.xml
- cd desktop && install -D -m0644 org.onionshare.OnionShare.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/org.onionshare.OnionShare.svg
- cd desktop && install -D -m0644 org.onionshare.OnionShare.desktop ${FLATPAK_DEST}/share/applications/${FLATPAK_ID}.desktop
@@ -330,8 +331,8 @@ modules:
url: https://files.pythonhosted.org/packages/24/79/aaf0c1c7214f2632badb2771d770b1500d3d7cbdf2590ae62e721ec50584/qrcode-7.4.2-py3-none-any.whl
sha256: 581dca7a029bcb2deef5d01068e39093e80ef00b4a61098a2182eac59d01643a
- type: file
- url: https://files.pythonhosted.org/packages/38/60/300ad6f93adca578bf05d5f6cd1d854b7d140bebe2f9829561aa9977d9f3/typing_extensions-4.6.2-py3-none-any.whl
- sha256: 3a8b36f13dd5fdc5d1b16fe317f5668545de77fa0b8e02006381fd49d731ab98
+ url: https://files.pythonhosted.org/packages/ec/6b/63cc3df74987c36fe26157ee12e09e8f9db4de771e0f3404263117e75b95/typing_extensions-4.7.1-py3-none-any.whl
+ sha256: 440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36
- name: python3-werkzeug
buildsystem: simple
build-commands:
@@ -339,15 +340,25 @@ modules:
--prefix=${FLATPAK_DEST} "werkzeug" --no-build-isolation
sources:
- type: file
- url: https://files.pythonhosted.org/packages/95/7e/68018b70268fb4a2a605e2be44ab7b4dd7ce7808adae6c5ef32e34f4b55a/MarkupSafe-2.1.2.tar.gz
- sha256: abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d
+ url: https://files.pythonhosted.org/packages/6d/7c/59a3248f411813f8ccba92a55feaac4bf360d29e2ff05ee7d8e1ef2d7dbf/MarkupSafe-2.1.3.tar.gz
+ sha256: af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad
- type: file
- url: https://files.pythonhosted.org/packages/c2/2f/f0dc628295bd23571c962d5a349307d9c8796a05bfca6571659eaded38e2/Werkzeug-2.3.4-py3-none-any.whl
- sha256: 48e5e61472fee0ddee27ebad085614ebedb7af41e88f687aaf881afb723a162f
+ url: https://files.pythonhosted.org/packages/9b/59/a7c32e3d8d0e546a206e0552a2c04444544f15c1da4a01df8938d20c6ffc/werkzeug-2.3.7-py3-none-any.whl
+ sha256: effc12dba7f3bd72e605ce49807bbe692bd729c3bb122a3b91747a6ae77df528
+ - name: python3-python-gnupg
+ buildsystem: simple
+ build-commands:
+ - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
+ --prefix=${FLATPAK_DEST} "python-gnupg" --no-build-isolation
+ sources:
+ - type: file
+ url: https://files.pythonhosted.org/packages/22/ad/12d8df0a1b465593e736fa14a5d8144381bc64b222e6cd59bb13c6af95b4/python_gnupg-0.5.1-py2.py3-none-any.whl
+ sha256: bf9b2d9032ef38139b7d64184176cd0b293eaeae6e4f93f50e304c7051174482
- name: onionshare-cli
buildsystem: simple
build-commands:
- - cd cli && python3 setup.py install --prefix=${FLATPAK_DEST}
+ - rm cli/pyproject.toml
+ - cd cli && pip3 install --prefix=${FLATPAK_DEST} --no-deps .
sources:
- type: dir
path: ..
@@ -358,71 +369,81 @@ modules:
- name: poetry-deps
buildsystem: simple
build-commands:
+ - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} --use-pep517 brotlicffi
- pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST}
- bidict blinker brotli certifi cffi charset-normalizer click colorama dnspython
- eventlet exceptiongroup flask flask-compress flask-socketio gevent gevent-websocket
- greenlet idna importlib-metadata iniconfig itsdangerous jinja2 markupsafe packaging
- pluggy psutil pycparser pynacl pysocks pytest python-engineio python-socketio
- requests setuptools six stem tomli unidecode urllib3 waitress werkzeug zipp zope-event
- zope-interface Cython wheel
+ bidict blinker brotli certifi cffi charset-normalizer click colorama
+ cython dnspython eventlet exceptiongroup flask flask-compress flask-socketio gevent
+ gevent-websocket greenlet h11 idna importlib-metadata iniconfig itsdangerous jinja2
+ markupsafe packaging pluggy psutil pycparser pynacl pypng pysocks pytest python-engineio
+ python-socketio qrcode requests setuptools simple-websocket six stem tomli typing-extensions
+ unidecode urllib3 waitress werkzeug wheel wsproto zipp zope-event zope-interface
sources:
- type: file
url: https://files.pythonhosted.org/packages/b5/82/ce0b6380f35f49d3fe687979a324c342cfa3588380232f3801db9dd62f9e/bidict-0.22.1-py3-none-any.whl
sha256: 6ef212238eb884b664f28da76f33f1d28b260f665fc737b413b287d5487d1e7b
- type: file
- url: https://files.pythonhosted.org/packages/0d/f1/5f39e771cd730d347539bb74c6d496737b9d5f0a53bc9fdbf3e170f1ee48/blinker-1.6.2-py3-none-any.whl
- sha256: c3d739772abb7bc2860abf5f2ec284223d9ad5c76da018234f6f50d6f31ab1f0
+ url: https://files.pythonhosted.org/packages/bf/2b/11bcedb7dee4923253a4a21bae3be854bcc4f06295bd827756352016d97c/blinker-1.6.3-py3-none-any.whl
+ sha256: 296320d6c28b006eb5e32d4712202dbcdcbf5dc482da298c2f44881c43884aaa
+ - type: file
+ url: https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b/Brotli-1.1.0.tar.gz
+ sha256: 81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724
- type: file
- url: https://files.pythonhosted.org/packages/2a/18/70c32fe9357f3eea18598b23aa9ed29b1711c3001835f7cf99a9818985d0/Brotli-1.0.9.zip
- sha256: 4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438
+ url: https://files.pythonhosted.org/packages/95/9d/70caa61192f570fcf0352766331b735afa931b4c6bc9a348a0925cc13288/brotlicffi-1.1.0.0.tar.gz
+ sha256: b77827a689905143f87915310b93b273ab17888fd43ef350d4832c4a71083c13
- type: file
- url: https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl
- sha256: c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716
+ url: https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl
+ sha256: 92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9
- type: file
- url: https://files.pythonhosted.org/packages/2b/a8/050ab4f0c3d4c1b8aaa805f70e26e84d0e27004907c5b8ecc1d31815f92a/cffi-1.15.1.tar.gz
- sha256: d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9
+ url: https://files.pythonhosted.org/packages/68/ce/95b0bae7968c65473e1298efb042e10cafc7bafc14d9e4f154008241c91d/cffi-1.16.0.tar.gz
+ sha256: bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0
- type: file
- url: https://files.pythonhosted.org/packages/ef/81/14b3b8f01ddaddad6cdec97f2f599aa2fa466bd5ee9af99b08b7713ccd29/charset_normalizer-3.1.0-py3-none-any.whl
- sha256: 3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d
+ url: https://files.pythonhosted.org/packages/a3/dc/efab5b27839f04be4b8058c1eb85b7ab7dbc55ef8067250bea0518392756/charset_normalizer-3.3.0-py3-none-any.whl
+ sha256: e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2
- type: file
- url: https://files.pythonhosted.org/packages/c2/f1/df59e28c642d583f7dacffb1e0965d0e00b218e0186d7858ac5233dce840/click-8.1.3-py3-none-any.whl
- sha256: bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48
+ url: https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl
+ sha256: ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28
- type: file
url: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl
sha256: 4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
- type: file
- url: https://files.pythonhosted.org/packages/12/86/d305e87555430ff4630d729420d97dece3b16efcbf2b7d7e974d11b0d86c/dnspython-2.3.0-py3-none-any.whl
- sha256: 89141536394f909066cabd112e3e1a37e4e654db00a25308b0f130bc3152eb46
+ url: https://files.pythonhosted.org/packages/a5/70/11e973497f9f635654ef1fefffd0573f83813a65cd9221215f08192fb531/Cython-3.0.3-py2.py3-none-any.whl
+ sha256: 176953a8a2532e34a589625a40c934ff339088f2bf4ddaa2e5cb77b05ca0c25c
+ - type: file
+ url: https://files.pythonhosted.org/packages/f6/b4/0a9bee52c50f226a3cbfb54263d02bb421c7f2adc136520729c2c689c1e5/dnspython-2.4.2-py3-none-any.whl
+ sha256: 57c6fbaaeaaf39c891292012060beb141791735dbb4004798328fc2c467402d8
- type: file
url: https://files.pythonhosted.org/packages/90/97/928b89de2e23cc67136eccccf1c122adf74ffdb65bbf7d2964b937cedd4f/eventlet-0.33.3-py2.py3-none-any.whl
sha256: e43b9ae05ba4bb477a10307699c9aff7ff86121b2640f9184d29059f5a687df8
- type: file
- url: https://files.pythonhosted.org/packages/61/97/17ed81b7a8d24d8f69b62c0db37abbd8c0042d4b3fc429c73dab986e7483/exceptiongroup-1.1.1-py3-none-any.whl
- sha256: 232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e
+ url: https://files.pythonhosted.org/packages/ad/83/b71e58666f156a39fb29417e4c8ca4bc7400c0dd4ed9e8842ab54dc8c344/exceptiongroup-1.1.3-py3-none-any.whl
+ sha256: 343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3
- type: file
url: https://files.pythonhosted.org/packages/fa/1a/f191d32818e5cd985bdd3f47a6e4f525e2db1ce5e8150045ca0c31813686/Flask-2.3.2-py3-none-any.whl
sha256: 77fd4e1249d8c9923de34907236b747ced06e5467ecac1a7bb7115ae0e9670b0
- type: file
- url: https://files.pythonhosted.org/packages/20/80/8cdb28e467d3ffdc221992145114a709c1e7c011b84c66bc250e27596286/Flask_Compress-1.13-py3-none-any.whl
- sha256: 1128f71fbd788393ce26830c51f8b5a1a7a4d085e79a21a5cddf4c057dcd559b
+ url: https://files.pythonhosted.org/packages/3f/d2/23fd656d38d4c896fa14371990b9978722c48a30d0edcf6b5f7054775a07/Flask_Compress-1.14-py3-none-any.whl
+ sha256: b86c9808f0f38ea2246c9730972cf978f2cdf6a9a1a69102ba81e07891e6b26c
- type: file
url: https://files.pythonhosted.org/packages/08/4d/a2f07873367e8916e0bae32df1d3cb9b39ea2141d7a5fdfab8c9d6818d71/Flask_SocketIO-5.3.4-py3-none-any.whl
sha256: 564acfb24dcc9545cdae536cde0323653d9b547069a925f11eeb132338aa71c0
- type: file
- url: https://files.pythonhosted.org/packages/9f/4a/e9e57cb9495f0c7943b1d5965c4bdd0d78bc4a433a7c96ee034b16c01520/gevent-22.10.2.tar.gz
- sha256: 1ca01da176ee37b3527a2702f7d40dbc9ffb8cfc7be5a03bfa4f9eec45e55c46
+ url: https://files.pythonhosted.org/packages/8e/ce/d2b9a376ee010f6d548bf1b6b6eddc372a175e6e100896e607c57e37f7cf/gevent-23.9.1.tar.gz
+ sha256: 72c002235390d46f94938a96920d8856d4ffd9ddf62a303a0d7c118894097e34
- type: file
url: https://files.pythonhosted.org/packages/7b/84/2dc373eb6493e00c884cc11e6c059ec97abae2678d42f06bf780570b0193/gevent_websocket-0.10.1-py3-none-any.whl
sha256: 17b67d91282f8f4c973eba0551183fc84f56f1c90c8f6b6b30256f31f66f5242
- type: file
- url: https://files.pythonhosted.org/packages/1e/1e/632e55a04d732c8184201238d911207682b119c35cecbb9a573a6c566731/greenlet-2.0.2.tar.gz
- sha256: e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0
+ url: https://files.pythonhosted.org/packages/b6/02/47dbd5e1c9782e6d3f58187fa10789e308403f3fc3a490b3646b2bff6d9f/greenlet-3.0.0.tar.gz
+ sha256: 19834e3f91f485442adc1ee440171ec5d9a4840a1f7bd5ed97833544719ce10b
+ - type: file
+ url: https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl
+ sha256: e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761
- type: file
url: https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl
sha256: 90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2
- type: file
- url: https://files.pythonhosted.org/packages/30/bb/bf2944b8b88c65b797acc2c6a2cb0fb817f7364debf0675792e034013858/importlib_metadata-6.6.0-py3-none-any.whl
- sha256: 43dd286a2cd8995d5eaef7fee2066340423b818ed3fd70adf0bad5f1fac53fed
+ url: https://files.pythonhosted.org/packages/cc/37/db7ba97e676af155f5fcb1a35466f446eadc9104e25b83366e8088c9c926/importlib_metadata-6.8.0-py3-none-any.whl
+ sha256: 3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb
- type: file
url: https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl
sha256: b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374
@@ -433,17 +454,17 @@ modules:
url: https://files.pythonhosted.org/packages/bc/c3/f068337a370801f372f2f8f6bad74a5c140f6fda3d9de154052708dd3c65/Jinja2-3.1.2-py3-none-any.whl
sha256: 6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61
- type: file
- url: https://files.pythonhosted.org/packages/95/7e/68018b70268fb4a2a605e2be44ab7b4dd7ce7808adae6c5ef32e34f4b55a/MarkupSafe-2.1.2.tar.gz
- sha256: abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d
+ url: https://files.pythonhosted.org/packages/6d/7c/59a3248f411813f8ccba92a55feaac4bf360d29e2ff05ee7d8e1ef2d7dbf/MarkupSafe-2.1.3.tar.gz
+ sha256: af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad
- type: file
- url: https://files.pythonhosted.org/packages/ab/c3/57f0601a2d4fe15de7a553c00adbc901425661bf048f2a22dfc500caf121/packaging-23.1-py3-none-any.whl
- sha256: 994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61
+ url: https://files.pythonhosted.org/packages/ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any.whl
+ sha256: 8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7
- type: file
- url: https://files.pythonhosted.org/packages/9e/01/f38e2ff29715251cf25532b9082a1589ab7e4f571ced434f98d0139336dc/pluggy-1.0.0-py2.py3-none-any.whl
- sha256: 74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3
+ url: https://files.pythonhosted.org/packages/05/b8/42ed91898d4784546c5f06c60506400548db3f7a4b3fb441cba4e5c17952/pluggy-1.3.0-py3-none-any.whl
+ sha256: d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7
- type: file
- url: https://files.pythonhosted.org/packages/d6/0f/96b7309212a926c1448366e9ce69b081ea79d63265bde33f11cc9cfc2c07/psutil-5.9.5.tar.gz
- sha256: 5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c
+ url: https://files.pythonhosted.org/packages/2d/01/beb7331fc6c8d1c49dd051e3611379bfe379e915c808e1301506027fce9d/psutil-5.9.6.tar.gz
+ sha256: e4b92ddcd7dd4cdd3f900180ea1e104932c7bce234fb88976e2a3b296441225a
- type: file
url: https://files.pythonhosted.org/packages/62/d5/5f610ebe421e85889f2e55e33b7f9a6795bd982198517d912eb1c76e1a53/pycparser-2.21-py2.py3-none-any.whl
sha256: 8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9
@@ -451,23 +472,32 @@ modules:
url: https://files.pythonhosted.org/packages/a7/22/27582568be639dfe22ddb3902225f91f2f17ceff88ce80e4db396c8986da/PyNaCl-1.5.0.tar.gz
sha256: 8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba
- type: file
+ url: https://files.pythonhosted.org/packages/3e/b9/3766cc361d93edb2ce81e2e1f87dd98f314d7d513877a342d31b30741680/pypng-0.20220715.0-py3-none-any.whl
+ sha256: 4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c
+ - type: file
url: https://files.pythonhosted.org/packages/8d/59/b4572118e098ac8e46e399a1dd0f2d85403ce8bbaad9ec79373ed6badaf9/PySocks-1.7.1-py3-none-any.whl
sha256: 2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5
- type: file
- url: https://files.pythonhosted.org/packages/1b/d1/72df649a705af1e3a09ffe14b0c7d3be1fd730da6b98beb4a2ed26b8a023/pytest-7.3.1-py3-none-any.whl
- sha256: 3799fa815351fea3a5e96ac7e503a96fa51cc9942c3753cda7651b93c1cfa362
+ url: https://files.pythonhosted.org/packages/df/d0/e192c4275aecabf74faa1aacd75ef700091913236ec78b1a98f62a2412ee/pytest-7.4.2-py3-none-any.whl
+ sha256: 1d881c6124e08ff0a1bb75ba3ec0bfd8b5354a01c194ddd5a0a870a48d99b002
+ - type: file
+ url: https://files.pythonhosted.org/packages/8b/89/70ebee15c1ef37d3a5408dbb03e57aa226dc6f1921735ed8cd59ac2a0136/python_engineio-4.8.0-py3-none-any.whl
+ sha256: 6055ce35b7f32b70641d53846faf76e06f2af0107a714cedb2750595c69ade43
- type: file
- url: https://files.pythonhosted.org/packages/33/e9/ed521d6abdf5372aa052f4749dc5bd5dcdbd2c132c81334bf0693f4d4269/python_engineio-4.4.1-py3-none-any.whl
- sha256: 28ab67f94cba2e5f598cbb04428138fd6bb8b06d3478c939412da445f24f0773
+ url: https://files.pythonhosted.org/packages/f8/bf/4790ed063ca2daa58fb20285fc3707218cf01e174209355d081d83094f6d/python_socketio-5.10.0-py3-none-any.whl
+ sha256: fb18d9b84cfb05289dc207b790c3de59cd242310d9b980b1c31e9faf4f79101a
- type: file
- url: https://files.pythonhosted.org/packages/5d/e9/f296186e2a91f1472b9da74346163411196dc1b17f425acf088f293b32cc/python_socketio-5.8.0-py3-none-any.whl
- sha256: 7adb8867aac1c2929b9c1429f1c02e12ca4c36b67c807967393e367dfbb01441
+ url: https://files.pythonhosted.org/packages/24/79/aaf0c1c7214f2632badb2771d770b1500d3d7cbdf2590ae62e721ec50584/qrcode-7.4.2-py3-none-any.whl
+ sha256: 581dca7a029bcb2deef5d01068e39093e80ef00b4a61098a2182eac59d01643a
- type: file
url: https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl
sha256: 58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f
- type: file
- url: https://files.pythonhosted.org/packages/f5/2c/074ab1c5be9c7d523d8d6d69d1f46f450fe7f11713147dc9e779aa4ca4ea/setuptools-67.8.0-py3-none-any.whl
- sha256: 5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f
+ url: https://files.pythonhosted.org/packages/bb/26/7945080113158354380a12ce26873dd6c1ebd88d47f5bc24e2c5bb38c16a/setuptools-68.2.2-py3-none-any.whl
+ sha256: b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a
+ - type: file
+ url: https://files.pythonhosted.org/packages/6d/ea/288a8ac1d9551354488ff60c0ac6a76acc3b6b60f0460ac1944c75e240da/simple_websocket-1.0.0-py3-none-any.whl
+ sha256: 1d5bf585e415eaa2083e2bcf02a3ecf91f9712e7b3e6b9fa0b461ad04e0837bc
- type: file
url: https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl
sha256: 8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254
@@ -478,29 +508,32 @@ modules:
url: https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl
sha256: 939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc
- type: file
- url: https://files.pythonhosted.org/packages/be/ea/90e14e807da5a39e5b16789acacd48d63ca3e4f23dfa964a840eeadebb13/Unidecode-1.3.6-py3-none-any.whl
- sha256: 547d7c479e4f377b430dd91ac1275d593308dce0fc464fb2ab7d41f82ec653be
+ url: https://files.pythonhosted.org/packages/24/21/7d397a4b7934ff4028987914ac1044d3b7d52712f30e2ac7a2ae5bc86dd0/typing_extensions-4.8.0-py3-none-any.whl
+ sha256: 8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0
+ - type: file
+ url: https://files.pythonhosted.org/packages/e4/63/7685ef40c65aba621ccd2524a24181bf11f0535ab1fdba47e40738eacff6/Unidecode-1.3.7-py3-none-any.whl
+ sha256: 663a537f506834ed836af26a81b210d90cbde044c47bfbdc0fbbc9f94c86a6e4
- type: file
- url: https://files.pythonhosted.org/packages/4b/1d/f8383ef593114755429c307449e7717b87044b3bcd5f7860b89b1f759e34/urllib3-2.0.2-py3-none-any.whl
- sha256: d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e
+ url: https://files.pythonhosted.org/packages/d2/b2/b157855192a68541a91ba7b2bbcb91f1b4faa51f8bae38d8005c034be524/urllib3-2.0.7-py3-none-any.whl
+ sha256: fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e
- type: file
url: https://files.pythonhosted.org/packages/58/6a/b4b5c582e04e837e4422cab6ec9de7fc10ca7ad7f4e370bb89d280d39552/waitress-2.1.2-py3-none-any.whl
sha256: 7500c9625927c8ec60f54377d590f67b30c8e70ef4b8894214ac6e4cad233d2a
- type: file
- url: https://files.pythonhosted.org/packages/c2/2f/f0dc628295bd23571c962d5a349307d9c8796a05bfca6571659eaded38e2/Werkzeug-2.3.4-py3-none-any.whl
- sha256: 48e5e61472fee0ddee27ebad085614ebedb7af41e88f687aaf881afb723a162f
+ url: https://files.pythonhosted.org/packages/b6/a5/54b01f663d60d5334f6c9c87c26274e94617a4fd463d812463626423b10d/werkzeug-3.0.0-py3-none-any.whl
+ sha256: cbb2600f7eabe51dbc0502f58be0b3e1b96b893b05695ea2b35b43d4de2d9962
- type: file
- url: https://files.pythonhosted.org/packages/5b/fa/c9e82bbe1af6266adf08afb563905eb87cab83fde00a0a08963510621047/zipp-3.15.0-py3-none-any.whl
- sha256: 48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556
+ url: https://files.pythonhosted.org/packages/b8/8b/31273bf66016be6ad22bb7345c37ff350276cfd46e389a0c2ac5da9d9073/wheel-0.41.2-py3-none-any.whl
+ sha256: 75909db2664838d015e3d9139004ee16711748a52c8f336b52882266540215d8
- type: file
- url: https://files.pythonhosted.org/packages/8b/a8/3ab9648dc08d2ab7543145ec174a2d982d08fb996d50d9a4d3e057da7132/zope.event-4.6-py2.py3-none-any.whl
- sha256: 73d9e3ef750cca14816a9c322c7250b0d7c9dbc337df5d1b807ff8d3d0b9e97c
+ url: https://files.pythonhosted.org/packages/78/58/e860788190eba3bcce367f74d29c4675466ce8dddfba85f7827588416f01/wsproto-1.2.0-py3-none-any.whl
+ sha256: b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736
- type: file
- url: https://files.pythonhosted.org/packages/7a/62/f0d012151af1e8cc0a6c97db74b78141143425dcdf81bc7960c498e28960/zope.interface-6.0.tar.gz
- sha256: aab584725afd10c710b8f1e6e208dbee2d0ad009f57d674cb9d1b3964037275d
+ url: https://files.pythonhosted.org/packages/d9/66/48866fc6b158c81cc2bfecc04c480f105c6040e8b077bc54c634b4a67926/zipp-3.17.0-py3-none-any.whl
+ sha256: 0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31
- type: file
- url: https://files.pythonhosted.org/packages/2e/a7/f20fa91d9de799f8e19bacf225bc993b8a53b5fc6f41ffa20d64f0850579/Cython-3.0.0a11.tar.gz
- sha256: e4672491fb31546b9abb63677f638e738085dc9321398170956ef6fbfc0e1726
+ url: https://files.pythonhosted.org/packages/fe/42/f8dbc2b9ad59e927940325a22d6d3931d630c3644dae7e2369ef5d9ba230/zope.event-5.0-py3-none-any.whl
+ sha256: 2832e95014f4db26c47a13fdaef84cef2f4df37e66b59d8f1f4a8f319a632c26
- type: file
- url: https://files.pythonhosted.org/packages/a2/b8/6a06ff0f13a00fc3c3e7d222a995526cbca26c1ad107691b6b1badbbabf1/wheel-0.38.4.tar.gz
- sha256: 965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac
+ url: https://files.pythonhosted.org/packages/87/03/6b85c1df2dca1b9acca38b423d1e226d8ffdf30ebd78bcb398c511de8b54/zope.interface-6.1.tar.gz
+ sha256: 2fdc7ccbd6eb6b7df5353012fbed6c3c5d04ceaca0038f75e601060e95345309
diff --git a/flatpak/poetry-to-requirements.py b/flatpak/poetry-to-requirements.py
new file mode 100755
index 00000000..973e3c2e
--- /dev/null
+++ b/flatpak/poetry-to-requirements.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python3
+import toml
+import click
+
+
+def format_version(dep, version):
+ if version == "*":
+ return dep
+ # If it's a dictionary, assume it's in the format {extras = ["socks"], version = "*"}
+ elif isinstance(version, dict) and "version" in version:
+ version = version["version"]
+ if version == "*":
+ return dep
+ elif version.startswith("^"):
+ return f"{dep}>={version[1:]}.0"
+ elif version.startswith((">=", "<=", "!=", "==", "<", ">")):
+ return f"{dep}{version}"
+ else:
+ return f"{dep}=={version}"
+ elif version.startswith("^"):
+ return f"{dep}>={version[1:]}.0"
+ elif version.startswith((">=", "<=", "!=", "==", "<", ">")):
+ return f"{dep}{version}"
+ else:
+ return f"{dep}=={version}"
+
+
+@click.command()
+@click.argument("pyproject_filename")
+def poetry_to_requirements(pyproject_filename):
+ """Convert poetry dependencies in a pyproject.toml to requirements format."""
+ with open(pyproject_filename, "r") as f:
+ data = toml.load(f)
+
+ dependencies = data.get("tool", {}).get("poetry", {}).get("dependencies", {})
+
+ requirements = []
+
+ for dep, version in dependencies.items():
+ if dep == "python" or dep == "onionshare_cli":
+ continue
+
+ formatted = format_version(dep, version)
+ if formatted:
+ requirements.append(formatted)
+
+ for req in requirements:
+ print(req)
+
+
+if __name__ == "__main__":
+ poetry_to_requirements()
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index cc3e8ed6..ca88d895 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -1,6 +1,6 @@
name: onionshare
-base: core20
-version: "2.6.1"
+base: core22
+version: "2.6.1.dev1"
summary: Securely and anonymously share files, host websites, and chat using Tor
description: |
OnionShare lets you securely and anonymously send and receive files. It works by starting
@@ -20,8 +20,8 @@ architectures:
apps:
onionshare:
common-id: org.onionshare.OnionShare
- command: bin/onionshare-launcher
- extensions: [gnome-3-38]
+ command: bin/onionshare
+ extensions: [gnome]
plugs:
- desktop
- home
@@ -30,10 +30,12 @@ apps:
- removable-media
environment:
LANG: C.UTF-8
+ PATH: $SNAP/bin:$SNAP/usr/bin:$SNAP/usr/local/bin:$PATH
+ LD_LIBRARY_PATH: $LD_LIBRARY_PATH:$SNAP/usr/local/lib
cli:
common-id: org.onionshare.OnionShareCli
- command: bin/onionshare-cli-launcher
+ command: bin/onionshare-cli
plugs:
- home
- network
@@ -41,42 +43,15 @@ apps:
- removable-media
environment:
LANG: C.UTF-8
+ PATH: $SNAP/bin:$SNAP/usr/bin:$SNAP/usr/local/bin:$PATH
+ LD_LIBRARY_PATH: $LD_LIBRARY_PATH:$SNAP/usr/local/lib
parts:
- launcher:
- plugin: nil
- override-build: |
- mkdir -p $SNAPCRAFT_PART_INSTALL/bin
- cat > $SNAPCRAFT_PART_INSTALL/bin/launcher-setup << EOF
- #!/bin/sh
- export PATH=\$SNAP/bin:\$SNAP/usr/bin:\$SNAP/usr/local/bin:\$PATH
- export PYTHONPATH=\$SNAP/lib/python3.8/site-packages:\$SNAP/usr/lib/python3/dist-packages
- export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$SNAP/usr/local/lib
- ORIG_IFS=\$IFS
- IFS=":"
- LIB_BASE=\$(for D in \$LD_LIBRARY_PATH; do echo \$D; done | grep \$SNAP/usr/lib/)
- IFS=\$ORIGIN_IFS
- export QT_PLUGIN_PATH=\$LIB_BASE/qt5/plugins
- EOF
- cat > $SNAPCRAFT_PART_INSTALL/bin/onionshare-launcher << EOF
- #!/bin/sh
- . \$SNAP/bin/launcher-setup
- onionshare \$@
- EOF
- cat > $SNAPCRAFT_PART_INSTALL/bin/onionshare-cli-launcher << EOF
- #!/bin/sh
- . \$SNAP/bin/launcher-setup
- onionshare-cli \$@
- EOF
- chmod 755 $SNAPCRAFT_PART_INSTALL/bin/launcher-setup
- chmod 755 $SNAPCRAFT_PART_INSTALL/bin/onionshare-launcher
- chmod 755 $SNAPCRAFT_PART_INSTALL/bin/onionshare-cli-launcher
-
onionshare-cli:
source: ./cli
plugin: nil
override-pull: |
- snapcraftctl pull
+ craftctl default
rm pyproject.toml poetry.lock
after: [tor, obfs4, snowflake-client, meek-client]
@@ -155,17 +130,22 @@ parts:
- libxslt1.1
- libxtst6
- qtwayland5
- - python3-pyside2.qtcore
- - python3-pyside2.qtgui
- - python3-pyside2.qtwidgets
+ - libgstreamer1.0-0
+ - libgstreamer1.0-dev
+ - libgstreamer-gl1.0-0
+ - libgstreamer-plugins-base1.0-0
+ - libmysqlclient21
+ - libxcb-cursor0
+ - libxkbfile1
override-pull: |
- snapcraftctl pull
+ craftctl default
rm pyproject.toml poetry.lock
cat > requirements.txt << EOF
# onionshare_cli
click
- flask==2.0.3
- flask-socketio==5.3.1
+ flask==2.3.2
+ flask-compress==1.13
+ flask-socketio==5.3.4
psutil
pysocks
requests[socks]
@@ -177,31 +157,32 @@ parts:
colorama
gevent-websocket
stem==1.8.1
- werkzeug==2.3.4
- flask-compress
waitress
+ werkzeug==2.3.4
# onionshare
+ PySide6==6.5.2
qrcode
+ packaging
EOF
override-build: |
- python3 -m venv $SNAPCRAFT_PART_INSTALL
- . $SNAPCRAFT_PART_INSTALL/bin/activate
+ python3 -m venv $CRAFT_PART_INSTALL
+ . $CRAFT_PART_INSTALL/bin/activate
pip install -U pip setuptools wheel
pip install -U -r requirements.txt
pip install -U ../../onionshare-cli/src
pip install -U .
deactivate
- sed -i 's|'$SNAPCRAFT_PART_INSTALL'/bin/python3|/usr/bin/env python3|g' $SNAPCRAFT_PART_INSTALL/bin/onionshare
- sed -i 's|'$SNAPCRAFT_PART_INSTALL'/bin/python3|/usr/bin/env python3|g' $SNAPCRAFT_PART_INSTALL/bin/onionshare-cli
+ sed -i 's|'$CRAFT_PART_INSTALL'/bin/python3|/usr/bin/env python3|g' $CRAFT_PART_INSTALL/bin/onionshare
+ sed -i 's|'$CRAFT_PART_INSTALL'/bin/python3|/usr/bin/env python3|g' $CRAFT_PART_INSTALL/bin/onionshare-cli
after: [onionshare-cli]
tor:
- source: https://dist.torproject.org/tor-0.4.7.12.tar.gz
- source-checksum: sha256/3b5d969712c467851bd028f314343ef15a97ea457191e93ffa97310b05b9e395
+ source: https://dist.torproject.org/tor-0.4.8.5.tar.gz
+ source-checksum: sha256/6957cfd14a29eee7555c52f8387a46f2ce2f5fe7dadf93547f1bc74b1657e119
source-type: tar
plugin: autotools
autotools-configure-parameters:
- - "--with-libevent-dir=$SNAPCRAFT_PART_INSTALL/../../libevent/install/usr/local"
+ - "--with-libevent-dir=$CRAFT_PART_INSTALL/../../libevent/install/usr/local"
build-packages:
- libssl-dev
- zlib1g-dev
@@ -227,7 +208,7 @@ parts:
- go/latest/stable
source: https://git.torproject.org/pluggable-transports/snowflake.git
source-type: git
- source-tag: v2.3.1
+ source-tag: v2.6.0
organize:
bin/client: bin/snowflake-client
@@ -237,7 +218,7 @@ parts:
- go/latest/stable
source: https://git.torproject.org/pluggable-transports/meek.git
source-type: git
- source-tag: v0.37.0
+ source-tag: v0.38.0
override-build: |
cd meek-client
mkdir -p /build/onionshare/meek-client/install/bin