From 28571c793954d60efface6f45bf1b13eab152b5f Mon Sep 17 00:00:00 2001 From: Bilal Elmoussaoui Date: Tue, 3 Sep 2019 00:07:06 +0000 Subject: [PATCH] Well, I'm doing this. --- .editorconfig | 14 + .gitignore | 11 + .gitlab-ci.yml | 80 + CONTRIBUTING.md | 16 + Cargo.lock | 2267 +++++++++++++++++ Cargo.toml | 30 + LICENSE | 674 +++++ README.md | 1 + build-aux/cargo.sh | 24 + .../com.belmoussaoui.AuthenticatorDevel.json | 69 + build-aux/dist-vendor.sh | 10 + build-aux/meson_post_install.py | 21 + code-of-conduct.md | 77 + ...ssaoui.Authenticator.SearchProvider.ini.in | 5 + ...ui.Authenticator.SearchProvider.service.in | 3 + ...lmoussaoui.Authenticator.appdata.xml.in.in | 174 ++ ...m.belmoussaoui.Authenticator.desktop.in.in | 12 + ...m.belmoussaoui.Authenticator.gresource.xml | 29 + ....belmoussaoui.Authenticator.gschema.xml.in | 45 + ...om.belmoussaoui.Authenticator-symbolic.svg | 61 + data/icons/com.belmoussaoui.Authenticator.svg | 386 +++ data/icons/meson.build | 11 + data/meson.build | 122 + data/resources/icons/qrscanner-symbolic.svg | 337 +++ data/resources/style.css | 56 + data/resources/ui/about_dialog.ui.in | 49 + data/resources/ui/account_config.ui | 16 + data/resources/ui/account_edit.ui | 51 + data/resources/ui/account_row.ui | 180 ++ data/resources/ui/accounts_list.ui | 64 + data/resources/ui/accounts_widget.ui | 55 + data/resources/ui/add_account.ui | 272 ++ data/resources/ui/password_widget.ui | 238 ++ data/resources/ui/provider_image.ui | 110 + data/resources/ui/providers_list.ui | 51 + data/resources/ui/settings.ui.in | 110 + data/resources/ui/shortcuts.ui | 60 + data/resources/ui/window.ui.in | 772 ++++++ data/screenshots/screenshot1.png | Bin 0 -> 146996 bytes data/screenshots/screenshot2.png | Bin 0 -> 136887 bytes data/screenshots/screenshot3.png | Bin 0 -> 142156 bytes data/screenshots/screenshot4.png | Bin 0 -> 96174 bytes diesel.toml | 5 + meson.build | 76 + meson_options.txt | 11 + .../down.sql | 2 + .../2019-09-02-103718_create_accounts/up.sql | 6 + .../down.sql | 2 + .../2019-09-02-123920_create_providers/up.sql | 8 + .../2019-09-02-132153_fill_providers/down.sql | 606 +++++ .../2019-09-02-132153_fill_providers/up.sql | 606 +++++ po/LINGUAS | 23 + po/POTFILES.in | 22 + po/ar.po | 665 +++++ po/ca.po | 673 +++++ po/da.po | 637 +++++ po/de.po | 729 ++++++ po/en_GB.po | 365 +++ po/es.po | 625 +++++ po/fi.po | 381 +++ po/fr.po | 693 +++++ po/hu.po | 368 +++ po/id.po | 675 +++++ po/it.po | 622 +++++ po/ko.po | 602 +++++ po/meson.build | 1 + po/nb.po | 751 ++++++ po/nl.po | 747 ++++++ po/pl.po | 371 +++ po/pt.po | 570 +++++ po/pt_BR.po | 673 +++++ po/ru.po | 604 +++++ po/sr.po | 583 +++++ po/sr@latin.po | 578 +++++ po/sv.po | 729 ++++++ po/tr.po | 590 +++++ po/zh_TW.po | 535 ++++ rustfmt.toml | 3 + src/application.rs | 114 + src/config.rs.in | 8 + src/helpers/database.rs | 0 src/helpers/keyring.rs | 0 src/main.rs | 48 + src/meson.build | 83 + src/models/account.rs | 36 + src/models/accounts.rs | 106 + src/models/database.rs | 74 + src/models/mod.rs | 12 + src/models/object_wrapper.rs | 102 + src/models/provider.rs | 38 + src/models/providers.rs | 37 + src/models/search_provider.rs | 0 src/schema.rs | 18 + src/static_resources.rs.in | 21 + src/widgets/accounts/add.rs | 113 + src/widgets/accounts/list.rs | 61 + src/widgets/accounts/mod.rs | 7 + src/widgets/accounts/row.rs | 36 + src/widgets/mod.rs | 7 + src/widgets/providers/list.rs | 39 + src/widgets/providers/mod.rs | 3 + src/widgets/window.rs | 135 + src/window_state.rs | 34 + tools/twofactorauth2sql.py | 74 + 104 files changed, 22906 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml create mode 100644 CONTRIBUTING.md create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 LICENSE create mode 100644 README.md create mode 100644 build-aux/cargo.sh create mode 100644 build-aux/com.belmoussaoui.AuthenticatorDevel.json create mode 100644 build-aux/dist-vendor.sh create mode 100755 build-aux/meson_post_install.py create mode 100644 code-of-conduct.md create mode 100644 data/com.belmoussaoui.Authenticator.SearchProvider.ini.in create mode 100644 data/com.belmoussaoui.Authenticator.SearchProvider.service.in create mode 100644 data/com.belmoussaoui.Authenticator.appdata.xml.in.in create mode 100644 data/com.belmoussaoui.Authenticator.desktop.in.in create mode 100644 data/com.belmoussaoui.Authenticator.gresource.xml create mode 100644 data/com.belmoussaoui.Authenticator.gschema.xml.in create mode 100644 data/icons/com.belmoussaoui.Authenticator-symbolic.svg create mode 100644 data/icons/com.belmoussaoui.Authenticator.svg create mode 100644 data/icons/meson.build create mode 100644 data/meson.build create mode 100644 data/resources/icons/qrscanner-symbolic.svg create mode 100644 data/resources/style.css create mode 100644 data/resources/ui/about_dialog.ui.in create mode 100644 data/resources/ui/account_config.ui create mode 100644 data/resources/ui/account_edit.ui create mode 100644 data/resources/ui/account_row.ui create mode 100644 data/resources/ui/accounts_list.ui create mode 100644 data/resources/ui/accounts_widget.ui create mode 100644 data/resources/ui/add_account.ui create mode 100644 data/resources/ui/password_widget.ui create mode 100644 data/resources/ui/provider_image.ui create mode 100644 data/resources/ui/providers_list.ui create mode 100644 data/resources/ui/settings.ui.in create mode 100644 data/resources/ui/shortcuts.ui create mode 100644 data/resources/ui/window.ui.in create mode 100644 data/screenshots/screenshot1.png create mode 100644 data/screenshots/screenshot2.png create mode 100644 data/screenshots/screenshot3.png create mode 100644 data/screenshots/screenshot4.png create mode 100644 diesel.toml create mode 100644 meson.build create mode 100644 meson_options.txt create mode 100644 migrations/2019-09-02-103718_create_accounts/down.sql create mode 100644 migrations/2019-09-02-103718_create_accounts/up.sql create mode 100644 migrations/2019-09-02-123920_create_providers/down.sql create mode 100644 migrations/2019-09-02-123920_create_providers/up.sql create mode 100644 migrations/2019-09-02-132153_fill_providers/down.sql create mode 100644 migrations/2019-09-02-132153_fill_providers/up.sql create mode 100644 po/LINGUAS create mode 100644 po/POTFILES.in create mode 100644 po/ar.po create mode 100644 po/ca.po create mode 100644 po/da.po create mode 100644 po/de.po create mode 100644 po/en_GB.po create mode 100644 po/es.po create mode 100644 po/fi.po create mode 100644 po/fr.po create mode 100644 po/hu.po create mode 100644 po/id.po create mode 100644 po/it.po create mode 100644 po/ko.po create mode 100644 po/meson.build create mode 100644 po/nb.po create mode 100644 po/nl.po create mode 100644 po/pl.po create mode 100644 po/pt.po create mode 100644 po/pt_BR.po create mode 100644 po/ru.po create mode 100644 po/sr.po create mode 100644 po/sr@latin.po create mode 100644 po/sv.po create mode 100644 po/tr.po create mode 100644 po/zh_TW.po create mode 100644 rustfmt.toml create mode 100644 src/application.rs create mode 100644 src/config.rs.in create mode 100644 src/helpers/database.rs create mode 100644 src/helpers/keyring.rs create mode 100644 src/main.rs create mode 100644 src/meson.build create mode 100644 src/models/account.rs create mode 100644 src/models/accounts.rs create mode 100644 src/models/database.rs create mode 100644 src/models/mod.rs create mode 100644 src/models/object_wrapper.rs create mode 100644 src/models/provider.rs create mode 100644 src/models/providers.rs create mode 100644 src/models/search_provider.rs create mode 100644 src/schema.rs create mode 100644 src/static_resources.rs.in create mode 100644 src/widgets/accounts/add.rs create mode 100644 src/widgets/accounts/list.rs create mode 100644 src/widgets/accounts/mod.rs create mode 100644 src/widgets/accounts/row.rs create mode 100644 src/widgets/mod.rs create mode 100644 src/widgets/providers/list.rs create mode 100644 src/widgets/providers/mod.rs create mode 100644 src/widgets/window.rs create mode 100644 src/window_state.rs create mode 100644 tools/twofactorauth2sql.py diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..2d4dc9d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +root = true +[*] +indent_style = space +trim_trailing_whitespace = true +insert_final_newline = true +charset = utf-8 + +[*.{xml,build,sql}] +indent_size = 2 + +[*.{json,py,rs}] +indent_size = 4 + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..09d1e22 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +.vscode/ +target/ +build/ +_build/ +build-aux/app +build-aux/.flatpak-builder/ +src/config.rs +src/static_resources.rs +*.*.in~ +*.*~ + diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..fb698e6 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,80 @@ +stages: + - lint + - test + - review + +variables: + BUNDLE: "authenticator-nightly.flatpak" + +flatpak: + image: "registry.gitlab.gnome.org/gnome/gnome-runtime-images/rust_bundle:master" + stage: "test" + variables: + MANIFEST_PATH: "build-aux/com.bilelmoussaoui.AuthenticatorDevel.json" + FLATPAK_MODULE: "authenticator" + MESON_ARGS: "-Dprofile=development" + APP_ID: "com.bilelmoussaoui.AuthenticatorDevel" + + script: + - flatpak-builder --stop-at=${FLATPAK_MODULE} app ${MANIFEST_PATH} + # Build the flatpak repo + - flatpak-builder --run app ${MANIFEST_PATH} meson --prefix=/app ${MESON_ARGS} _build + - flatpak-builder --run app ${MANIFEST_PATH} ninja -C _build install + + # Create a flatpak bundle + - flatpak-builder --finish-only app ${MANIFEST_PATH} + - flatpak build-export repo app + - flatpak build-bundle repo ${BUNDLE} ${APP_ID} + + artifacts: + paths: + - $BUNDLE + expire_in: 5 days + + cache: + key: "flatpak" + paths: + - .flatpak-builder/downloads/ + - .flatpak-builder/git/ + - target/ + - target_test/ + +review: + stage: review + dependencies: + - flatpak + script: + - echo "Generating flatpak deployment" + artifacts: + paths: + - $BUNDLE + expire_in: 30 days + environment: + name: review/$CI_COMMIT_REF_NAME + url: https://gitlab.gnome.org/$CI_PROJECT_PATH/-/jobs/$CI_JOB_ID/artifacts/raw/${BUNDLE} + on_stop: stop_review + +stop_review: + stage: review + script: + - echo "Stopping flatpak deployment" + when: manual + environment: + name: review/$CI_COMMIT_REF_NAME + action: stop + +# Configure and run rustfmt +# Exits and builds fails if on bad format +rustfmt: + image: "rust:slim" + stage: "lint" + script: + - rustup component add rustfmt + # Create blank versions of our configured files + # so rustfmt does not yell about non-existent files or completely empty files + - echo -e "" >> src/config.rs + - rustc -Vv && cargo -Vv + - cargo fmt --version + - cargo fmt --all -- --color=always --check + + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..c6c51a9 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,16 @@ +# Hey newcomer, welcome to Authenticator + +The application is built using Python3, Gtk 3, GLib and other GNOME technologies around it. It's built to run on GNOME & Librem 5 phone. + +## If you're a translator + +You can translate Authenticator here: https://l10n.gnome.org/module/authenticator/ + +## If you're a developer + +You want to work on fixing a bug, adding a new feature, please first join our Matrix Channel and ask if there's anyone working on that already. +The Matrix Channel: https://matrix.to/#/#authenticator:matrix.org + +We suggest you to use [GNOME Builder](https://flathub.org/apps/details/org.gnome.Builder) as the IDE supports Flatpak and you can hack on Authenticator, click on run and voilà, you have got to test your modifications without having to think about installing the dependencies or how to build the application itself. + +Thanks and good hacking. diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..5d5875d --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,2267 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "adler32" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "aho-corasick" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "arrayvec" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "atk" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "atk-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "atk-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "atty" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "authenticator" +version = "0.1.0" +dependencies = [ + "cairo-rs 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "diesel 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "diesel_migrations 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-pixbuf 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gettext-rs 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "gio 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gtk 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libhandy 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "nanoid 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "pango 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "reqwest 0.9.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", + "url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "autocfg" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "backtrace" +version = "0.3.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "backtrace-sys" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cc 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "base64" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "bitflags" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "bumpalo" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "byteorder" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "bytes" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "c2-chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "cairo-rs" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cairo-sys-rs 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "cairo-sys-rs" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "cc" +version = "1.0.41" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cfg-if" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "chrono" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "js-sys 0.3.27 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "cloudabi" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "cookie" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "cookie_store" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "publicsuffix 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "core-foundation" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "core-foundation-sys" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "crc32fast" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "crossbeam-deque" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "crossbeam-queue" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "crossbeam-utils" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "diesel" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "diesel_derives 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libsqlite3-sys 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "r2d2 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "diesel_derives" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "diesel_migrations" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "migrations_internals 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "migrations_macros 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "dtoa" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "either" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "encoding_rs" +version = "0.8.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "env_logger" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "error-chain" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "backtrace 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)", + "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "failure" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "backtrace 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)", + "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "failure_derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", + "synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "flate2" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "miniz_oxide 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "fnv" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "fragile" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "fuchsia-cprng" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "fuchsia-zircon" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "fuchsia-zircon-sys" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "futures" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "futures-cpupool" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "gdk" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cairo-rs 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "cairo-sys-rs 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-pixbuf 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "pango 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "gdk-pixbuf" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "gdk-pixbuf-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "gio-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "gdk-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cairo-sys-rs 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-pixbuf-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "pango-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "getrandom" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "wasi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "gettext-rs" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "gettext-sys 0.19.9 (registry+https://github.com/rust-lang/crates.io-index)", + "locale_config 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "gettext-sys" +version = "0.19.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cc 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "gio" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fragile 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "gio-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "glib" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "glib-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "gobject-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "gtk" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "atk 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cairo-rs 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "cairo-sys-rs 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-pixbuf 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-pixbuf-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gtk-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "pango 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pango-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "gtk-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "atk-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cairo-sys-rs 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-pixbuf-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "pango-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "h2" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", + "http 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "http" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "http-body" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", + "http 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "httparse" +version = "1.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "humantime" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "hyper" +version = "0.12.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)", + "http 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", + "http-body 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-threadpool 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "want 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "hyper-tls" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.12.33 (registry+https://github.com/rust-lang/crates.io-index)", + "native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "idna" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "idna" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "indexmap" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "iovec" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "itoa" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "js-sys" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "wasm-bindgen 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "kernel32-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "libc" +version = "0.2.62" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "libhandy" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gtk 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gtk-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "libhandy-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pango 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "libhandy-sys" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "gdk 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gtk-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "pango-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "libsqlite3-sys" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", + "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "locale_config" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "lock_api" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "lock_api" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "lock_api" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "log" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "matches" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "memchr" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "memoffset" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "migrations_internals" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "diesel 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "migrations_macros" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "migrations_internals 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "mime" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicase 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "mime_guess" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "mime 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)", + "unicase 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "miniz_oxide" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "mio" +version = "0.6.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", + "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "miow" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "nanoid" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "native-tls" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl 0.10.24 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-sys 0.9.49 (registry+https://github.com/rust-lang/crates.io-index)", + "schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", + "security-framework 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "net2" +version = "0.2.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "nodrop" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "num-integer" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-traits" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num_cpus" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "openssl" +version = "0.10.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-sys 0.9.49 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "openssl-probe" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "openssl-sys" +version = "0.9.49" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", + "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "owning_ref" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "pango" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "pango-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "pango-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "parking_lot" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "parking_lot" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lock_api 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "parking_lot" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "parking_lot_core" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "parking_lot_core" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "parking_lot_core" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "percent-encoding" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "pkg-config" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "ppv-lite86" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "pretty_env_logger" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "chrono 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "proc-macro2" +version = "0.4.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "proc-macro2" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "publicsuffix" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", + "idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "quick-error" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "quote" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "quote" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "quote" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "r2d2" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "scheduled-thread-pool 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "getrandom 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_chacha" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_chacha" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_core" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "getrandom 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_hc" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_isaac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_jitter" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_os" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_pcg" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_xorshift" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rdrand" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "redox_syscall" +version = "0.1.56" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "regex" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex-syntax" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "remove_dir_all" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "reqwest" +version = "0.9.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", + "cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cookie_store 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding_rs 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)", + "flate2 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", + "http 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.12.33 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper-tls 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "mime 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)", + "mime_guess 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_urlencoded 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-threadpool 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", + "winreg 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ryu" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "schannel" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "scheduled-thread-pool" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "scopeguard" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "scopeguard" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "security-framework" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "security-framework-sys" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "serde" +version = "1.0.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "serde_derive 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "serde_derive" +version = "1.0.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "serde_json" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "serde_urlencoded" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", + "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "slab" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "smallvec" +version = "0.6.10" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "stable_deref_trait" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "string" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "syn" +version = "0.11.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", + "synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "syn" +version = "0.15.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "syn" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "synom" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "synstructure" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "tempfile" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", + "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "termcolor" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "wincolor 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "thread_local" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "time" +version = "0.1.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "tokio" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-threadpool 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "tokio-buf" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", + "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "tokio-current-thread" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "tokio-executor" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "tokio-io" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "tokio-reactor" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-sync 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "tokio-sync" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "tokio-tcp" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", + "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "tokio-threadpool" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "tokio-timer" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", + "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "try-lock" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "try_from" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "unicase" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "unicode-normalization" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "unicode-xid" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "unicode-xid" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "unicode-xid" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "url" +version = "1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "url" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "uuid" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "vcpkg" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "version_check" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "want" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "wasi" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "wasm-bindgen" +version = "0.2.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-macro 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-shared 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-macro-support 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-backend 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-shared 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.50" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "winapi-build" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "wincolor" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "winreg" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ws2_32-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[metadata] +"checksum adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7e522997b529f05601e05166c07ed17789691f562762c7f3b987263d2dedee5c" +"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d" +"checksum arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d73f9beda665eaa98ab9e4f7442bd4e7de6652587de55b2525e52e29c1b0ba" +"checksum atk 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "86b7499272acf036bb5820c6e346bbfb5acc5dceb104bc2c4fd7e6e33dfcde6a" +"checksum atk-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067531f752c01027f004032bb676e715aba74b75e904a7340a61ce3fb0b61b0" +"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90" +"checksum autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b671c8fb71b457dd4ae18c4ba1e59aa81793daacc361d82fcd410cef0d491875" +"checksum backtrace 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)" = "1371048253fa3bac6704bfd6bbfc922ee9bdcee8881330d40f308b81cc5adc55" +"checksum backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)" = "82a830b4ef2d1124a711c71d263c5abdc710ef8e907bd508c88be475cebc422b" +"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" +"checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd" +"checksum bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad807f2fc2bf185eeb98ff3a901bd46dc5ad58163d0fa4577ba0d25674d71708" +"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" +"checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" +"checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101" +"checksum cairo-rs 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e05db47de3b0f09a222fa4bba2eab957d920d4243962a86b2d77ab401e4a359c" +"checksum cairo-sys-rs 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "90a1ec04603a78c111886a385edcec396dbfbc57ea26b9e74aeea6a1fe55dcca" +"checksum cc 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)" = "8dae9c4b8fedcae85592ba623c4fd08cfdab3e3b72d6df780c6ead964a69bfff" +"checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33" +"checksum chrono 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "27429a03ca54100bf6bdc726c09adc46a74187ac93f9ce96dc7aaa9594ebf707" +"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" +"checksum cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "888604f00b3db336d2af898ec3c1d5d0ddf5e6d462220f2ededc33a87ac4bbd5" +"checksum cookie_store 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46750b3f362965f197996c4448e4a0935e791bf7d6631bfce9ee0af3d24c919c" +"checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d" +"checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b" +"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" +"checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71" +"checksum crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9" +"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b" +"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" +"checksum diesel 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8d24935ba50c4a8dc375a0fd1f8a2ba6bdbdc4125713126a74b965d6a01a06d7" +"checksum diesel_derives 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "62a27666098617d52c487a41f70de23d44a1dc1f3aa5877ceba2790fb1f1cab4" +"checksum diesel_migrations 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3cde8413353dc7f5d72fa8ce0b99a560a359d2c5ef1e5817ca731cd9008f4c" +"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e" +"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b" +"checksum encoding_rs 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)" = "4155785c79f2f6701f185eb2e6b4caf0555ec03477cb4c70db67b465311620ed" +"checksum env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3" +"checksum error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ab49e9dcb602294bc42f9a7dfc9bc6e936fca4418ea300dbfb84fe16de0b7d9" +"checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2" +"checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1" +"checksum flate2 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "2adaffba6388640136149e18ed080b77a78611c1e1d6de75aedcdf78df5d4682" +"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" +"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +"checksum fragile 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05f8140122fa0d5dcb9fc8627cfce2b37cc1500f752636d46ea28bc26785c2f9" +"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" +"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" +"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" +"checksum futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "45dc39533a6cae6da2b56da48edae506bb767ec07370f86f70fc062e9d435869" +"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" +"checksum gdk 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6243e995f41f3a61a31847e54cc719edce93dd9140c89dca3b9919be1cfe22d5" +"checksum gdk-pixbuf 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9726408ee1bbada83094326a99b9c68fea275f9dbb515de242a69e72051f4fcc" +"checksum gdk-pixbuf-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b1d6778abf5764b9080a9345a16c5d16289426a3b3edd808a29a9061d431c465" +"checksum gdk-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ebe06357212127f50575b535bdb04638f5d375bb41062287abc6c94e5b8067b" +"checksum getrandom 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "fc344b02d3868feb131e8b5fe2b9b0a1cc42942679af493061fc13b853243872" +"checksum gettext-rs 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a668364fec5934bb278781a431e1200acb8ad41a25e149f97206a4b4cc81fca5" +"checksum gettext-sys 0.19.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e034c4ba5bb796730a6cc5eb0d654c16885006a7c3d6c6603581ed809434f153" +"checksum gio 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6261b5d34c30c2d59f879e643704cf54cb44731f3a2038000b68790c03e360e3" +"checksum gio-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "778b856a70a32e2cc5dd5cc7fa1b0c4b6df924fdf5c82984bc28f30565657cfe" +"checksum glib 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "91a70db179515473b57aaff8b879167f1f8460bc5523e97beacf6d1026a8b99d" +"checksum glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4b86a9169fbc9cf9a0ef315039c2304b09d5c575c5fde7defba3576a0311b863" +"checksum gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "61d55bc9202447ca776f6ad0048c36e3312010f66f82ab478e97513e93f3604b" +"checksum gtk 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "709f1074259d4685b96133f92b75c7f35b504715b0fcdc96ec95de2607296a60" +"checksum gtk-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bbd9395497ae1d1915d1d6e522d51ae8745bf613906c34ac191c411250fc4025" +"checksum h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)" = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462" +"checksum http 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)" = "372bcb56f939e449117fb0869c2e8fd8753a8223d92a172c6e808cf123a5b6e4" +"checksum http-body 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d" +"checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" +"checksum humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ca7e5f2e110db35f93b837c81797f3714500b81d517bf20c431b16d3ca4f114" +"checksum hyper 0.12.33 (registry+https://github.com/rust-lang/crates.io-index)" = "7cb44cbce9d8ee4fb36e4c0ad7b794ac44ebaad924b9c8291a63215bb44c2c8f" +"checksum hyper-tls 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3a800d6aa50af4b5850b2b0f659625ce9504df908e9733b635720483be26174f" +"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" +"checksum idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9" +"checksum indexmap 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a4d6d89e0948bf10c08b9ecc8ac5b83f07f857ebe2c0cbe38de15b4e4f510356" +"checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08" +"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f" +"checksum js-sys 0.3.27 (registry+https://github.com/rust-lang/crates.io-index)" = "1efc4f2a556c58e79c5500912e221dd826bec64ff4aabd8ce71ccef6da02d7d4" +"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +"checksum libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba" +"checksum libhandy 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7195919b261667e13240c14004c3fdc1a07a77ee865a9e0da5c2a4e134171c25" +"checksum libhandy-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "17019593005fd387b0d2f6e5b29533796e3206e9f433dbf74846a609ceeb5fbf" +"checksum libsqlite3-sys 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd6457c70bbff456d9fe49deaba35ec47c3e598bf8d7950ff0575ceb7a8a6ad1" +"checksum locale_config 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "73ac19ebe45489e5d53b4346d8b90bb3dd03275c5fdf2ce22a982516d86b535c" +"checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" +"checksum lock_api 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ed946d4529956a20f2d63ebe1b69996d5a2137c91913fe3ebbeff957f5bca7ff" +"checksum lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8912e782533a93a167888781b836336a6ca5da6175c05944c86cf28c31104dc" +"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" +"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" +"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e" +"checksum memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce6075db033bbbb7ee5a0bbd3a3186bbae616f57fb001c485c7ff77955f8177f" +"checksum migrations_internals 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8089920229070f914b9ce9b07ef60e175b2b9bc2d35c3edd8bf4433604e863b9" +"checksum migrations_macros 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1664412abf7db2b8a6d58be42a38b099780cc542b5b350383b805d88932833fe" +"checksum mime 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "3e27ca21f40a310bd06d9031785f4801710d566c184a6e15bad4f1d9b65f9425" +"checksum mime_guess 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1a0ed03949aef72dbdf3116a383d7b38b4768e6f960528cd6a6044aa9ed68599" +"checksum miniz_oxide 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7108aff85b876d06f22503dcce091e29f76733b2bfdd91eebce81f5e68203a10" +"checksum mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)" = "83f51996a3ed004ef184e16818edc51fadffe8e7ca68be67f9dee67d84d0ff23" +"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" +"checksum nanoid 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6be8d687c9ec5a00841748752f817ca496787eb68486d23038033278eb151fad" +"checksum native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b2df1a4c22fd44a62147fd8f13dd0f95c9d8ca7b2610299b2a2f9cf8964274e" +"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" +"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945" +"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09" +"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32" +"checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273" +"checksum openssl 0.10.24 (registry+https://github.com/rust-lang/crates.io-index)" = "8152bb5a9b5b721538462336e3bef9a539f892715e5037fda0f984577311af15" +"checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" +"checksum openssl-sys 0.9.49 (registry+https://github.com/rust-lang/crates.io-index)" = "f4fad9e54bd23bd4cbbe48fdc08a1b8091707ac869ef8508edea2fec77dcc884" +"checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13" +"checksum pango 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "393fa071b144f8ffb83ede273758983cf414ca3c0b1d2a5a9ce325b3ba3dd786" +"checksum pango-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1ee97abcad820f9875e032656257ad1c790e7b11a0e6ce2516a8f5b0d8f8213f" +"checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337" +"checksum parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fa7767817701cce701d5585b9c4db3cdd02086398322c1d7e8bf5094a96a2ce7" +"checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" +"checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" +"checksum parking_lot_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cb88cb1cb3790baa6776844f968fea3be44956cf184fa1be5a03341f5491278c" +"checksum parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" +"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" +"checksum percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +"checksum pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c1d2cfa5a714db3b5f24f0915e74fcdf91d09d496ba61329705dda7774d2af" +"checksum ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b" +"checksum pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "717ee476b1690853d222af4634056d830b5197ffd747726a9a1eee6da9f49074" +"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" +"checksum proc-macro2 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "175a40b9cf564ce9bf050654633dbf339978706b8ead1a907bb970b63185dd95" +"checksum publicsuffix 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9bf259a81de2b2eb9850ec990ec78e6a25319715584fd7652b9b26f96fcb1510" +"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" +"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" +"checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" +"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" +"checksum r2d2 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)" = "bc42ce75d9f4447fb2a04bbe1ed5d18dd949104572850ec19b164e274919f81b" +"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" +"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" +"checksum rand 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d47eab0e83d9693d40f825f86948aa16eff6750ead4bdffc4ab95b8b3a7f052c" +"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" +"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853" +"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" +"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" +"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" +"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" +"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" +"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" +"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" +"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" +"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" +"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" +"checksum regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88c3d9193984285d544df4a30c23a4e62ead42edf70a4452ceb76dac1ce05c26" +"checksum regex-syntax 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b143cceb2ca5e56d5671988ef8b15615733e7ee16cd348e064333b251b89343f" +"checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" +"checksum reqwest 0.9.20 (registry+https://github.com/rust-lang/crates.io-index)" = "0f6d896143a583047512e59ac54a215cb203c29cc941917343edea3be8df9c78" +"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783" +"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +"checksum ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c92464b447c0ee8c4fb3824ecc8383b81717b9f1e74ba2e72540aef7b9f82997" +"checksum schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "f2f6abf258d99c3c1c5c2131d99d064e94b7b3dd5f416483057f308fea253339" +"checksum scheduled-thread-pool 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bd07742e081ff6c077f5f6b283f12f32b9e7cc765b316160d66289b74546fbb3" +"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" +"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d" +"checksum security-framework 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eee63d0f4a9ec776eeb30e220f0bc1e092c3ad744b2a379e3993070364d3adc2" +"checksum security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9636f8989cbf61385ae4824b98c1aaa54c994d7d8b41f11c601ed799f0549a56" +"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" +"checksum serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)" = "fec2851eb56d010dc9a21b89ca53ee75e6528bab60c11e89d38390904982da9f" +"checksum serde_derive 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)" = "cb4dc18c61206b08dc98216c98faa0232f4337e1e1b8574551d5bad29ea1b425" +"checksum serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "051c49229f282f7c6f3813f8286cc1e3323e8051823fce42c7ea80fe13521704" +"checksum serde_urlencoded 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "642dd69105886af2efd227f75a520ec9b44a820d65bc133a9131f7d229fd165a" +"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" +"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7" +"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" +"checksum string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d" +"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" +"checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" +"checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf" +"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" +"checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f" +"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" +"checksum termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e" +"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" +"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" +"checksum tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6" +"checksum tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46" +"checksum tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d16217cad7f1b840c5a97dfb3c43b0c871fef423a6e8d2118c604e843662a443" +"checksum tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "0f27ee0e6db01c5f0b2973824547ce7e637b2ed79b891a9677b0de9bd532b6ac" +"checksum tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926" +"checksum tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6af16bfac7e112bea8b0442542161bfc41cbfa4466b580bdda7d18cb88b911ce" +"checksum tokio-sync 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2162248ff317e2bc713b261f242b69dbb838b85248ed20bb21df56d60ea4cae7" +"checksum tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119" +"checksum tokio-threadpool 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "90ca01319dea1e376a001e8dc192d42ebde6dd532532a5bad988ac37db365b19" +"checksum tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "f2106812d500ed25a4f38235b9cae8f78a09edf43203e16e59c3b769a342a60e" +"checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" +"checksum try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "283d3b89e1368717881a9d51dad843cc435380d8109c9e47d38780a324698d8b" +"checksum unicase 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a84e5511b2a947f3ae965dcb29b13b7b1691b6e7332cf5dbc1744138d5acb7f6" +"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" +"checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426" +"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" +"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" +"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" +"checksum url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "75b414f6c464c879d7f9babf951f23bc3743fb7313c081b2e6ca719067ea9d61" +"checksum uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a" +"checksum vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "33dd455d0f96e90a75803cfeb7f948768c08d70a6de9a8d2362461935698bf95" +"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" +"checksum want 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" +"checksum wasi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd5442abcac6525a045cc8c795aedb60da7a2e5e89c7bf18a0d5357849bb23c7" +"checksum wasm-bindgen 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)" = "dcddca308b16cd93c2b67b126c688e5467e4ef2e28200dc7dfe4ae284f2faefc" +"checksum wasm-bindgen-backend 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)" = "f805d9328b5fc7e5c6399960fd1889271b9b58ae17bdb2417472156cc9fafdd0" +"checksum wasm-bindgen-macro 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)" = "3ff88201a482abfc63921621f6cb18eb1efd74f136b05e5841e7f8ca434539e9" +"checksum wasm-bindgen-macro-support 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)" = "6a433d89ecdb9f77d46fcf00c8cf9f3467b7de9954d8710c175f61e2e245bb0e" +"checksum wasm-bindgen-shared 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)" = "d41fc1bc3570cdf8d108c15e014045fd45a95bb5eb36605f96a90461fc34027d" +"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" +"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" +"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9" +"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +"checksum wincolor 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "96f5016b18804d24db43cebf3c77269e7569b8954a8464501c216cc5e070eaa9" +"checksum winreg 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" +"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..ad4737e --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,30 @@ +[package] +name = "authenticator" +version = "0.1.0" +edition = "2018" + +[dependencies] +gtk = { version = "0.7", features = ["v3_22"] } +libhandy = "0.4" +glib = { version = "0.8", features = ["subclassing"] } +gio = { version = "0.7", features = ["v2_46"] } +gdk = "0.11" +gdk-sys = "0.9" +gobject-sys = "0.9" +glib-sys = "0.9" +cairo-rs = "0.7" +pango = "0.7" +log = "0.4" +gdk-pixbuf = {version = "0.7", features = ["v2_32"] } +gettext-rs= { version = "0.4", features = ["gettext-system"] } +pretty_env_logger = "0.3" +lazy_static = "1.3" +failure = "0.1" +diesel = { version = "1.4", features = ["sqlite", "r2d2"] } +diesel_migrations = { version = "1.4" , features = ["sqlite"] } +serde = "1.0" +serde_json = "1.0" +serde_derive = "1.0" +nanoid = "0.1" +reqwest = "0.9" +url = "2.1" diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..e27281a --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# WIP Authenticator + Rust diff --git a/build-aux/cargo.sh b/build-aux/cargo.sh new file mode 100644 index 0000000..2c667a8 --- /dev/null +++ b/build-aux/cargo.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +export MESON_BUILD_ROOT="$1" +export MESON_SOURCE_ROOT="$2" +export CARGO_TARGET_DIR="$MESON_BUILD_ROOT"/target +export CARGO_HOME="$CARGO_TARGET_DIR"/cargo-home +export OUTPUT="$3" +export BUILDTYPE="$4" +export APP_BIN="$5" + + +if [[ $BUILDTYPE = "release" ]] +then + echo "RELEASE MODE" + cargo build --manifest-path \ + "$MESON_SOURCE_ROOT"/Cargo.toml --release && \ + cp "$CARGO_TARGET_DIR"/release/"$APP_BIN" "$OUTPUT" +else + echo "DEBUG MODE" + cargo build --manifest-path \ + "$MESON_SOURCE_ROOT"/Cargo.toml --verbose && \ + cp "$CARGO_TARGET_DIR"/debug/"$APP_BIN" "$OUTPUT" +fi + diff --git a/build-aux/com.belmoussaoui.AuthenticatorDevel.json b/build-aux/com.belmoussaoui.AuthenticatorDevel.json new file mode 100644 index 0000000..08824b2 --- /dev/null +++ b/build-aux/com.belmoussaoui.AuthenticatorDevel.json @@ -0,0 +1,69 @@ +{ + "app-id": "com.belmoussaoui.AuthenticatorDevel", + "runtime": "org.gnome.Platform", + "runtime-version": "master", + "sdk": "org.gnome.Sdk", + "sdk-extensions" : [ + "org.freedesktop.Sdk.Extension.rust-stable" + ], + "tags" : [ + "nightly" + ], + "desktop-file-name-prefix" : "(Development) ", + "command": "authenticator", + "finish-args": [ + "--share=network", + "--share=ipc", + "--socket=fallback-x11", + "--socket=wayland", + "--filesystem=xdg-run/dconf", + "--filesystem=~/.config/dconf:ro", + "--talk-name=ca.desrt.dconf", + "--env=DCONF_USER_CONFIG_DIR=.config/dconf" + ], + "build-options": { + "append-path" : "/usr/lib/sdk/rust-stable/bin", + "build-args" : [ + "--share=network" + ], + "env" : { + "RUSTFLAGS" : "--remap-path-prefix =../ --error-format=human", + "CARGO_HOME" : "/run/build/authenticator/cargo", + "RUST_BACKTRACE" : "1", + "RUST_LOG" : "authenticator=debug" + } + }, + "modules": [ + { + "name": "libhandy", + "buildsystem": "meson", + "config-opts": [ + "-Dintrospection=disabled", + "-Dgtk_doc=false", + "-Dtests=false", + "-Dexamples=false", + "-Dvapi=false", + "-Dglade_catalog=disabled" + ], + "sources": [{ + "type": "git", + "url": "https://source.puri.sm/Librem5/libhandy.git", + "tag": "v0.0.11", + "commit": "f5909a897f70143bdd2f89f47a63c1bf848330ce" + }] + }, + { + "name": "authenticator", + "buildsystem": "meson", + "config-opts" : [ + "-Dprofile=development" + ], + "sources": [ + { + "type": "git", + "url" : "https://gitlab.gnome.org/World/authenticator.git" + } + ] + } + ] +} diff --git a/build-aux/dist-vendor.sh b/build-aux/dist-vendor.sh new file mode 100644 index 0000000..14d84fa --- /dev/null +++ b/build-aux/dist-vendor.sh @@ -0,0 +1,10 @@ +#!/bin/sh +export DIST="$1" +export SOURCE_ROOT="$2" + +cd "$SOURCE_ROOT" +mkdir "$DIST"/.cargo +cargo vendor | sed 's/^directory = ".*"/directory = "vendor"/g' > $DIST/.cargo/config +# Move vendor into dist tarball directory +mv vendor "$DIST" + diff --git a/build-aux/meson_post_install.py b/build-aux/meson_post_install.py new file mode 100755 index 0000000..6a3ea97 --- /dev/null +++ b/build-aux/meson_post_install.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python3 + +from os import environ, path +from subprocess import call + +prefix = environ.get('MESON_INSTALL_PREFIX', '/usr/local') +datadir = path.join(prefix, 'share') +destdir = environ.get('DESTDIR', '') + +# Package managers set this so we don't need to run +if not destdir: + print('Updating icon cache...') + call(['gtk-update-icon-cache', '-qtf', path.join(datadir, 'icons', 'hicolor')]) + + print('Updating desktop database...') + call(['update-desktop-database', '-q', path.join(datadir, 'applications')]) + + print('Compiling GSettings schemas...') + call(['glib-compile-schemas', path.join(datadir, 'glib-2.0', 'schemas')]) + + diff --git a/code-of-conduct.md b/code-of-conduct.md new file mode 100644 index 0000000..50201bd --- /dev/null +++ b/code-of-conduct.md @@ -0,0 +1,77 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies within all project spaces, and it also applies when +an individual is representing the project or its community in public spaces. +Examples of representing a project or community include using an official +project e-mail address, posting via an official social media account, or acting +as an appointed representative at an online or offline event. Representation of +a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project maintainer at bilal.elmoussaoui@gnome.org. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq + diff --git a/data/com.belmoussaoui.Authenticator.SearchProvider.ini.in b/data/com.belmoussaoui.Authenticator.SearchProvider.ini.in new file mode 100644 index 0000000..4e273e4 --- /dev/null +++ b/data/com.belmoussaoui.Authenticator.SearchProvider.ini.in @@ -0,0 +1,5 @@ +[Shell Search Provider] +DesktopId=@app-id@.desktop +BusName=@app-id@.SearchProvider +ObjectPath=/com/bilelmoussaoui/Authenticator@profile@/SearchProvider +Version=2 diff --git a/data/com.belmoussaoui.Authenticator.SearchProvider.service.in b/data/com.belmoussaoui.Authenticator.SearchProvider.service.in new file mode 100644 index 0000000..30fb290 --- /dev/null +++ b/data/com.belmoussaoui.Authenticator.SearchProvider.service.in @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=@app-id@.SearchProvider +Exec=authenticator --gapplication-service diff --git a/data/com.belmoussaoui.Authenticator.appdata.xml.in.in b/data/com.belmoussaoui.Authenticator.appdata.xml.in.in new file mode 100644 index 0000000..272c08f --- /dev/null +++ b/data/com.belmoussaoui.Authenticator.appdata.xml.in.in @@ -0,0 +1,174 @@ + + + + @app-id@ + CC0 + GPL-3.0+ + Authenticator + A Two-Factor Authentication application + +

Simple application that generates a two-factor authentication code, created for GNOME.

+

Features:

+
    +
  • QR code scanner
  • +
  • Beautiful UI
  • +
  • Huge database of more than 560 supported services
  • +
  • Keep your PIN tokens secure by locking the application with a password
  • +
  • Automatically fetch an image for services using their favicon
  • +
  • The possibility to add new services
  • +
  • Dark theme and night light
  • +
+
+ + + https://gitlab.gnome.org/World/Authenticator/raw/master/data/screenshots/screenshot1.png + Main Window - empty state + + + https://gitlab.gnome.org/World/Authenticator/raw/master/data/screenshots/screenshot2.png + Add a new account + + + https://gitlab.gnome.org/World/Authenticator/raw/master/data/screenshots/screenshot3.png + Main Window - Accounts List + + + https://gitlab.gnome.org/World/Authenticator/raw/master/data/screenshots/screenshot4.png + Settings Window + + + https://gitlab.gnome.org/World/Authenticator + https://gitlab.gnome.org/World/Authenticator/issues + https://l10n.gnome.org/module/authenticator/ + https://liberapay.com/bielmoussaoui + + + + +
    +
  • Use the new libhandy Settings widget
  • +
  • Settings: add an auto lock timeout
  • +
  • Various fixes
  • +
  • Translations updates
  • +
+
+
+ + +

+ HOTFIX: if you had an issue with your accounts being lost after the latest update, please update to this one. +

+
    +
  • Database migrations: ensure users won't lose their data in the future
  • +
  • Fix edit account issue
  • +
  • Improve the provider image widget
  • +
  • Translations updates
  • +
+
+
+ + +

+ Authenticator 3.32 is out! Here's an overview of what changed + Please backup your accounts before updating to the latest version and restore the data after update. +

+
    +
  • New settings window
  • +
  • Download provider images using their favicon if possible
  • +
  • Night Light feature: not working yet!
  • +
  • The possibility to enable/disable a password without having to reset everything
  • +
  • You can now add new providers and set images for providers that we didn't find an icon for
  • +
  • Mobile ready
  • +
  • New icon by Tobias Bernard
  • +
  • Click to copy the PIN on GNOME Shell Search provider results
  • +
  • Hide the results from Shell Search Provider if the application is locked
  • +
  • Bunch of fixed bugs
  • +
+
+
+ + +

+ Since I have moved the application to GNOME Gitlab's World group, a Flatpak build for each new commit is available to download from the site's website. +

+
    +
  • Backup and restore from a basic JSON file
  • +
  • Backup and restore from an encrypted-GPG JSON file
  • +
  • Add andOTP support (free and open Android 2FA application)
  • +
  • New Settings window with 3 sections: appearance, behavior and backup
  • +
  • Fix Flatpak Build with the latest GNOME Runtime
  • +
  • Move the project to GNOME Gitlab's World group
  • +
+
+
+ + +
    +
  • GNOME Shell Search provider
  • +
  • Codes expire simultaneously #91
  • +
+
+
+ + +
    +
  • Revamped main window to more closely follow the GNOME HIG
  • +
  • Revamped add a new account window to make it easier to use
  • +
  • Possibility to add an account from a provider not listed in the shipped database
  • +
  • Possibility to edit an account
  • +
  • One Time Password now visible by default
  • +
+
+
+ + +
    +
  • Fix python-dbus by using GDbus instead
  • +
+
+
+ + +
    +
  • Fix the QRScanner on GNOME Shell
  • +
  • Add a new entry for the account's username
  • +
  • Updated database of supported accounts
  • +
+
+
+ + +
    +
  • HOTFIX: App not running in DE other than GNOME
  • +
+
+
+ + +
    +
  • Rename project to Authenticator
  • +
  • Cleaner code base
  • +
  • Faster startup
  • +
  • Remove unneeded features
  • +
  • Switch to pyzbar instead of zbarlight
  • +
  • Flatpak package
  • +
+
+
+ + +
+ + + SearchProvider + ModernToolkit + HiDpiIcon + + Bilal Elmoussaoui + bilal.elmoussaoui@gnome.org + @gettext-package@ + @app-id@.desktop +
diff --git a/data/com.belmoussaoui.Authenticator.desktop.in.in b/data/com.belmoussaoui.Authenticator.desktop.in.in new file mode 100644 index 0000000..de28685 --- /dev/null +++ b/data/com.belmoussaoui.Authenticator.desktop.in.in @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Authenticator +GenericName=Two-factor Authentication +Comment=A Two-Factor Authentication application +Type=Application +Exec=authenticator +Terminal=false +Categories=GNOME;GTK;Security;Utility; +Keywords=Gnome;GTK;Verification;2FA;Authentication;TwoFactor; +# Translators: Do NOT translate or transliterate this text (this is an icon file name)! +Icon=@icon@ +StartupNotify=true diff --git a/data/com.belmoussaoui.Authenticator.gresource.xml b/data/com.belmoussaoui.Authenticator.gresource.xml new file mode 100644 index 0000000..72a186d --- /dev/null +++ b/data/com.belmoussaoui.Authenticator.gresource.xml @@ -0,0 +1,29 @@ + + + + resources/style.css + + + resources/ui/add_account.ui + resources/ui/accounts_list.ui + + + resources/ui/providers_list.ui + + + resources/ui/shortcuts.ui + about_dialog.ui + + resources/ui/account_edit.ui + resources/ui/account_row.ui + resources/ui/accounts_widget.ui + resources/ui/provider_image.ui + resources/ui/password_widget.ui + window.ui + settings.ui + + + resources/icons/qrscanner-symbolic.svg + + + diff --git a/data/com.belmoussaoui.Authenticator.gschema.xml.in b/data/com.belmoussaoui.Authenticator.gschema.xml.in new file mode 100644 index 0000000..2245d50 --- /dev/null +++ b/data/com.belmoussaoui.Authenticator.gschema.xml.in @@ -0,0 +1,45 @@ + + + + + -1 + Default window width + Default window width + + + -1 + Default window height + Default window height + + + -1 + Default window x position + Default window x position + + + -1 + Default window y position + Default window y position + + + false + Default window maximized behaviour + + + + false + Dark Theme + Whether the application should use a dark theme. + + + 15 + Auto lock timeout + Lock the application on idle after X minutes + + + false + Night Light + Automatically enable dark mode at night. + + + diff --git a/data/icons/com.belmoussaoui.Authenticator-symbolic.svg b/data/icons/com.belmoussaoui.Authenticator-symbolic.svg new file mode 100644 index 0000000..06972fc --- /dev/null +++ b/data/icons/com.belmoussaoui.Authenticator-symbolic.svg @@ -0,0 +1,61 @@ + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/data/icons/com.belmoussaoui.Authenticator.svg b/data/icons/com.belmoussaoui.Authenticator.svg new file mode 100644 index 0000000..9b28652 --- /dev/null +++ b/data/icons/com.belmoussaoui.Authenticator.svg @@ -0,0 +1,386 @@ + + + + Adwaita Icon Template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + GNOME Design Team + + + + + Adwaita Icon Template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/icons/meson.build b/data/icons/meson.build new file mode 100644 index 0000000..5fb58f1 --- /dev/null +++ b/data/icons/meson.build @@ -0,0 +1,11 @@ +install_data( + 'com.belmoussaoui.Authenticator.svg', + install_dir: iconsdir / 'hicolor' / 'scalable' / 'apps', + rename: '@0@.svg'.format(application_id) +) + +install_data( + 'com.belmoussaoui.Authenticator-symbolic.svg', + install_dir: iconsdir / 'hicolor' / 'symbolic' / 'apps', + rename: '@0@-symbolic.svg'.format(application_id) +) diff --git a/data/meson.build b/data/meson.build new file mode 100644 index 0000000..b271251 --- /dev/null +++ b/data/meson.build @@ -0,0 +1,122 @@ +ui_config = configuration_data() +ui_config.set('app-id', application_id) +ui_config.set('version', meson.project_version() + version_suffix) + +ui_preconfigured_files = files( + 'resources/ui/about_dialog.ui.in', + 'resources/ui/settings.ui.in', + 'resources/ui/window.ui.in', +) +ui_dependencies = [] +foreach ui_file: ui_preconfigured_files + ui_dependencies += configure_file( + input: ui_file, + output: '@BASENAME@', + configuration: ui_config + ) +endforeach + +resources = gnome.compile_resources( + application_id, + 'com.belmoussaoui.Authenticator.gresource.xml', + gresource_bundle: true, + dependencies: ui_dependencies +) + + +# GSchema +gschema_conf = configuration_data() +gschema_conf.set('app-id', application_id) +gschema_conf.set('gettext-package', gettext_package) +configure_file( + input: 'com.belmoussaoui.Authenticator.gschema.xml.in', + output: '@0@.gschema.xml'.format(application_id), + configuration: gschema_conf, + install: true, + install_dir: datadir / 'glib-2.0' / 'schemas' +) + +# Validata GSchema +if glib_compile_schemas.found() + test( + 'validate-gschema', glib_compile_schemas, + args: [ + '--strict', '--dry-run', meson.current_source_dir() + ] + ) +endif + + +# GNOME Shell Search Provider Service +search_service_provider_conf = configuration_data() +search_service_provider_conf.set('app-id', application_id) +configure_file( + configuration: search_service_provider_conf, + input: 'com.belmoussaoui.Authenticator.SearchProvider.service.in', + install_dir: get_option('datadir') / 'gnome-shell' / 'search-providers', + output: '@0@.SearchProvider.service'.format(application_id) +) +# GNOME Shell Search Provider +search_provider_conf = configuration_data() +search_provider_conf.set('app-id', application_id) +search_provider_conf.set('profile', profile) +configure_file( + configuration: search_provider_conf, + input: 'com.belmoussaoui.Authenticator.SearchProvider.ini.in', + install_dir: join_paths(get_option('datadir'), 'gnome-shell', 'search-providers'), + output: '@0@.SearchProvider.ini'.format(application_id) +) + +# FreeDesktop Desktop File +desktop_conf = configuration_data() +desktop_conf.set('icon', application_id) +desktop_file = i18n.merge_file( + 'desktop', + input: configure_file( + input: 'com.belmoussaoui.Authenticator.desktop.in.in', + output: '@BASENAME@', + configuration: desktop_conf + ), + output: '@0@.desktop'.format(application_id), + po_dir: podir, + type: 'desktop', + install: true, + install_dir: get_option('datadir') / 'applications' +) +# Validate Desktop File +desktop_file_validate = find_program('desktop-file-validate', required: false) +if desktop_file_validate.found() + test ( + 'Validate desktop file', + desktop_file_validate, + args: desktop_file.full_path() + ) +endif + +# Freedesktop AppData File +appdata_conf = configuration_data() +appdata_conf.set('app-id', application_id) +appdata_conf.set('gettext-package', gettext_package) +appdata_file = i18n.merge_file( + 'appdata', + input: configure_file( + input: 'com.belmoussaoui.Authenticator.appdata.xml.in.in', + output: '@BASENAME@', + configuration: appdata_conf + ), + output: '@0@.appdata.xml'.format(application_id), + po_dir: podir, + install: true, + install_dir: get_option('datadir') / 'metainfo' +) +# Validate AppData File +appstream_util = find_program('appstream-util', required: false) +if appstream_util.found() + test ( + 'Validate appdata file', + appstream_util, + args: ['validate', '--nonet', appdata_file.full_path()] + ) +endif + +subdir('icons') diff --git a/data/resources/icons/qrscanner-symbolic.svg b/data/resources/icons/qrscanner-symbolic.svg new file mode 100644 index 0000000..fe179ad --- /dev/null +++ b/data/resources/icons/qrscanner-symbolic.svg @@ -0,0 +1,337 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/resources/style.css b/data/resources/style.css new file mode 100644 index 0000000..88e3d7a --- /dev/null +++ b/data/resources/style.css @@ -0,0 +1,56 @@ + +/* Empty View */ +.empty-logo{ + -gtk-icon-shadow:0 2px 12px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.5); +} +/* Common */ +label.head-title{ + font-size: 26px; + font-weight: bolder; + color: @theme_fg_color; +} + + + + +.insert-image-box{ + border: 1px solid mix(@theme_fg_color, @theme_bg_color, 0.7); +} +.account-name{ + font-weight: bold; +} + +/* Common */ +.progress-bar trough progress { + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; +} + +.progress-bar trough { + border-radius: 0px +} + + + + +/* Accounts Widget */ +.provider-name{ + margin: 6px; + font-weight: bold; + font-size: 18px; +} +/* Accounts List */ +.accounts-list { + margin-left:6px; + margin-right:6px; +} +/* Account Row */ +.account-row{ + padding: 6px; +} +.account-name{ + font-size: 16px; +} +.account-pin { + font-size: 14px; +} diff --git a/data/resources/ui/about_dialog.ui.in b/data/resources/ui/about_dialog.ui.in new file mode 100644 index 0000000..c92862a --- /dev/null +++ b/data/resources/ui/about_dialog.ui.in @@ -0,0 +1,49 @@ + + + + + + False + dialog + Authenticator + @version@ + A Two-Factor Authentication application + https://gitlab.gnome.org/World/Authenticator + Bilal Elmoussaoui + translator-credits + Alexandros Felekidis +Tobias Bernard + @app-id@ + gpl-3-0 + + + + + + False + vertical + 2 + + + False + end + + + + + + + + + False + False + 0 + + + + + + + + + diff --git a/data/resources/ui/account_config.ui b/data/resources/ui/account_config.ui new file mode 100644 index 0000000..f43b08a --- /dev/null +++ b/data/resources/ui/account_config.ui @@ -0,0 +1,16 @@ + + + + + + + diff --git a/data/resources/ui/account_edit.ui b/data/resources/ui/account_edit.ui new file mode 100644 index 0000000..7c57f6e --- /dev/null +++ b/data/resources/ui/account_edit.ui @@ -0,0 +1,51 @@ + + + + + + diff --git a/data/resources/ui/account_row.ui b/data/resources/ui/account_row.ui new file mode 100644 index 0000000..b92e44d --- /dev/null +++ b/data/resources/ui/account_row.ui @@ -0,0 +1,180 @@ + + + + + + False + + + True + False + center + vertical + + + True + False + False + 6 + 6 + 6 + 6 + Edit + + + + False + True + 0 + + + + + True + False + False + 6 + 6 + 6 + 6 + Delete + + + False + True + 1 + + + + + main + 1 + + + + + account_row + True + True + center + False + + + True + False + + + True + False + False + center + more_actions_popover + + + True + False + view-more-symbolic + + + + + + False + True + 3 + end + 0 + + + + + True + True + True + Copy PIN to clipboard + center + none + + + + True + False + center + center + + + True + False + edit-copy-symbolic + + + copy_image + + + + + True + False + emblem-ok-symbolic + + + ok_image + 1 + + + + + + + + False + True + end + 1 + + + + + True + False + start + center + + + + False + True + 3 + end + 2 + + + + + True + False + start + center + end + + + False + True + 3 + 3 + + + + + + + diff --git a/data/resources/ui/accounts_list.ui b/data/resources/ui/accounts_list.ui new file mode 100644 index 0000000..74b7d1d --- /dev/null +++ b/data/resources/ui/accounts_list.ui @@ -0,0 +1,64 @@ + + + + + + True + False + vertical + + + True + False + + + True + False + 96 + image-missing-symbolic + + + False + True + 0 + + + + + True + False + Some random provider + + + + False + True + 1 + + + + + False + True + 0 + + + + + True + False + none + + + + True + True + 1 + + + + diff --git a/data/resources/ui/accounts_widget.ui b/data/resources/ui/accounts_widget.ui new file mode 100644 index 0000000..7e7bdb1 --- /dev/null +++ b/data/resources/ui/accounts_widget.ui @@ -0,0 +1,55 @@ + + + + + + + True + False + True + True + vertical + + + + + + True + True + + + True + False + + + True + False + 600 + 600 + + + True + False + start + vertical + + + + + + + + + + + + True + True + 1 + + + + + diff --git a/data/resources/ui/add_account.ui b/data/resources/ui/add_account.ui new file mode 100644 index 0000000..5c25f98 --- /dev/null +++ b/data/resources/ui/add_account.ui @@ -0,0 +1,272 @@ + + + + + + + + + + + + + + + providers_store + 1 + True + + + + 1 + + + + + 360 + 600 + False + True + 360 + 600 + True + dialog + + + True + False + Add a new account + + + True + True + True + add.back + + + + True + False + go-previous-symbolic + + + + + + + Add + True + False + True + True + add.save + + + + + end + 1 + + + + + True + True + True + Scan QR Code + add.scan-qr + + + + True + False + qrscanner-symbolic + + + + + end + 2 + + + + + + + True + False + + + True + False + 600 + 600 + + + True + False + center + center + 42 + True + True + vertical + + + + + + True + False + center + baseline + 24 + True + 6 + 6 + True + + + True + True + True + Account Name + True + + + + 0 + 2 + + + + + True + False + True + providers_store + True + 1 + 0 + + + + True + Provider + provider_completion + + + + + 0 + 0 + + + + + True + True + True + False + dialog-information-symbolic + Enable 2FA for this account + Enable 2FA for this account + 2FA Token + pin + + + + 0 + 3 + + + + + True + True + True + Provider Website + url + True + + + + 0 + 1 + + + + + False + True + end + 1 + + + + + + + True + -1 + + + + + True + False + start + + + True + False + + + True + False + + + False + True + 0 + + + + + True + True + True + end + + + True + False + window-close-symbolic + + + + + + True + True + 1 + + + + + + + + + + + + diff --git a/data/resources/ui/password_widget.ui b/data/resources/ui/password_widget.ui new file mode 100644 index 0000000..983780c --- /dev/null +++ b/data/resources/ui/password_widget.ui @@ -0,0 +1,238 @@ + + + + + + diff --git a/data/resources/ui/provider_image.ui b/data/resources/ui/provider_image.ui new file mode 100644 index 0000000..eae4ae0 --- /dev/null +++ b/data/resources/ui/provider_image.ui @@ -0,0 +1,110 @@ + + + + + + diff --git a/data/resources/ui/providers_list.ui b/data/resources/ui/providers_list.ui new file mode 100644 index 0000000..d34a49a --- /dev/null +++ b/data/resources/ui/providers_list.ui @@ -0,0 +1,51 @@ + + + + + + + True + False + True + True + vertical + + + True + True + + + True + False + + + True + False + 600 + 600 + + + True + False + vertical + + + + + + + + + + + + True + True + 1 + + + + + diff --git a/data/resources/ui/settings.ui.in b/data/resources/ui/settings.ui.in new file mode 100644 index 0000000..ff6e1af --- /dev/null +++ b/data/resources/ui/settings.ui.in @@ -0,0 +1,110 @@ + + + + + + 0 + 60 + 1 + 10 + + + + + diff --git a/data/resources/ui/shortcuts.ui b/data/resources/ui/shortcuts.ui new file mode 100644 index 0000000..932081c --- /dev/null +++ b/data/resources/ui/shortcuts.ui @@ -0,0 +1,60 @@ + + + + True + + + True + shortcuts + 10 + + + True + General + + + True + Show Shortcuts + <Primary>question + + + + + True + Preferences + <Primary>comma + + + + + True + Quit + <Primary>Q + + + + + + + True + Accounts + + + True + Add + <Primary>N + + + + + True + Search + <Primary>F + + + + + + + + diff --git a/data/resources/ui/window.ui.in b/data/resources/ui/window.ui.in new file mode 100644 index 0000000..1ba6ba8 --- /dev/null +++ b/data/resources/ui/window.ui.in @@ -0,0 +1,772 @@ + + + + + + False + + + True + False + 10 + 10 + 10 + 10 + vertical + + + True + False + False + slide-left-right + + + True + False + start + 10 + 10 + True + + + True + True + False + reader.zoom-out + + + True + False + zoom-out-symbolic + + + + + False + True + 0 + + + + + True + False + True + False + reader.zoom-reset + + + True + False + 100% + 5 + + + + + False + True + 1 + + + + + True + True + False + reader.zoom-in + + + True + False + zoom-in-symbolic + + + + + False + True + 2 + + + + + + reader + + + + + True + False + start + vertical + True + + + 146 + True + False + + + True + True + True + start + library.sort-ascending + + + True + False + view-sort-ascending-symbolic + + + + + True + True + end + 0 + + + + + True + True + True + start + library.sort-descending + + + True + False + view-sort-descending-symbolic + + + + + True + True + end + 1 + + + + + + False + True + 0 + + + + + True + False + start + start + vertical + + + Name + True + True + False + library.sort-by + True + True + + + False + True + 0 + + + + + Date + True + True + False + library.sort-by + True + True + sort_name_radio + + + False + True + 1 + + + + + False + False + 1 + + + + + + library + 1 + + + + + False + True + 0 + + + + + True + False + + + False + True + 1 + + + + + True + False + False + win.show-help-overlay + _Keyboard Shortcuts + + + False + True + 4 + + + + + True + False + False + app.about + _About Authenticator + + + False + True + 5 + + + + + main + 1 + + + + + 350 + 500 + False + 360 + 550 + @app-id@ + + + True + False + True + + + True + False + True + slide-left-right + + + True + False + True + + + True + True + True + win.add-account + + + + True + False + list-add-symbolic + + + + + False + True + 0 + + + + + True + True + True + + + True + False + system-search-symbolic + + + + + False + True + end + 1 + + + + + main_headerbar + + + + + True + False + True + + + True + True + True + win.add-account + + + True + False + list-add-symbolic + + + + + False + True + 0 + + + + + empty_headerbar + 1 + + + + + True + False + center + True + + + + + + locked_headerbar + 2 + + + + + + + True + True + True + popover + + + True + False + open-menu-symbolic + + + + + end + + + + + + + 350 + True + False + slide-left-right + + + True + False + center + center + True + True + 12 + vertical + + + True + False + center + start + True + True + 192 + @app-id@ + 6 + + + + False + True + 10 + 0 + + + + + True + False + center + start + 12 + True + True + There are no accounts yet… + True + end + + + + False + True + 6 + 1 + + + + + True + False + center + start + 24 + True + True + 12 + 12 + + + True + False + start + Add a new account from the menu + True + end + + + + 1 + 0 + + + + + True + False + start + Scan a QR Code + True + end + + + + 1 + 1 + + + + + True + False + list-add-symbolic + + + + 0 + 0 + + + + + True + False + qrscanner-symbolic + + + + 0 + 1 + + + + + False + True + 2 + + + + + empty_state + + + + + True + False + vertical + + + True + False + + + False + True + 0 + + + + + True + False + 300 + slide-left-right + + + True + False + True + True + vertical + + + + + + results + + + + + True + False + center + center + True + True + 36 + vertical + + + True + False + center + start + True + True + 128 + system-search-symbolic + 6 + + + False + True + 10 + 0 + + + + + True + False + center + start + 12 + True + True + No results found + end + + + + False + True + 6 + 1 + + + + + empty_results + 1 + + + + + True + True + 2 + + + + + normal_state + 1 + + + + + True + False + center + center + True + True + 36 + vertical + + + True + False + center + True + /com/github/bilelmoussaoui/Authenticator/authenticator.svg + 6 + + + False + True + 10 + 0 + + + + + True + False + center + 12 + Authenticator is locked + + + + False + True + 6 + 1 + + + + + True + False + center + start + 24 + True + True + vertical + + + True + True + center + False + password + + + False + True + 6 + 0 + + + + + Unlock + True + True + True + center + + + + + False + True + 6 + 1 + + + + + False + True + 2 + + + + + locked_state + 2 + + + + + + + diff --git a/data/screenshots/screenshot1.png b/data/screenshots/screenshot1.png new file mode 100644 index 0000000000000000000000000000000000000000..8770bfe92ef23c33c441b412e643ca3926ca6eea GIT binary patch literal 146996 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 Uf>rby&j0`b07*qoM6N<$f|P~PTmS$7 literal 0 HcmV?d00001 diff --git a/data/screenshots/screenshot2.png b/data/screenshots/screenshot2.png new file mode 100644 index 0000000000000000000000000000000000000000..60efa9b0853bf60c4f6b1570663b7ddd9eece08c GIT binary patch literal 136887 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
cV<$Pbva4fmc!_m< zVN(gf&`?E%IBY>aEOdqw)>H-EM#z%ukAf_#PUT1O+BybQ+^cl-_bkX-rgEQ1*iH)s zt(Osa<@Wl@+}?5U7~<^n9*Ae*%229Gx5~`Tb=T&Dncox`+0auUG07eN;xpKTo%ApY z2HD%XOq9^DCe+s6XCS8|w%OOQ3hNctw~HPS2jzg{GRhu`s!xI3r`q zLzb9lRW4po2Z*A=a~uRUK7f}!aR#{A1%TV?fo1s-NKtE?Rq4B?wWDdk$imbwZJyUk zD}5tI&a7(5%sQs^*a=%qnQ8pax;kb9&CGDApTSf)j?G(Me|(8jWZXtyBlA@$x{FY> z#k@(Ql`(%%vtO_YT+hh+`G*-%NUi)DOP9*7 zdDtkUs=mgr5#Py=0>G?W)6V!5T3u&OCdYqMXo=tq$beJ3`kf8W{mC-zEUqUYvdoo$ z=ql^OVuq3-YSDeFYFZrB2>D!zBM_M4;>Bt6=qHa8X2XBPQUG0ZxXyHJ^9pf?Z1b4Q z&n z+hR$U4||mR1r7oL3V!#_d_tu4tTs#E48~9Yy2oBdNa2#qUx3!=0YTI_WnHC4L*r!Q z+hP0U7+vRB0Ij(l;Ha3XnD%z_V8xqY+D6j(zG>zbw&hPDZI#Vb>tEbpCDL-oacguR zhHm;7IqBH_lu6;;HGBSASyNI#`yqQWqU?p01B=fCO+kG}Wva5?i|ypd=Xp!5Z(s0C zB09}WQA-PIC`F4_8DnBY0CI0g!JHHzt0g=<`Pqmp#_%|I=psW`xj%&YrV$=X=enTe zH@646nOX1N9(CsvQO5c?t00j(dptsMc{L0sYeN8#6g~q*b4YKi?BI$WHqGQlNk+s5 zSK3ytx)fY|mG$LpCA{S$`Ll^bCgZf~)fcCxDo&wsq&f-Qv|r5d3ZjJOeNs8m{oF4? zA3ls`>Uj}A8UyMEpSAT}_xx$So)%P`{f#x*7B|QVATE%)zZm8nH!^c_rR&?qV*mBD zS-koWwF6I>OEjI=0U&Lq37-DF;@?}o7Ej)mR+xAMlkqazVLF&P?_WSLC0>e4QE0mh z$w*Wx;SyXGDGJ)TMLz*YXfAzJ2xO5%5zIB@p9qIQFv`_T^mlQB=RD|r zHocdR5B&f0P*v+0Hd`TQzf~;4q1th#SgNIrW{!A#$Aja-%Q=6(DGaSL>U^2HPixm)H$&m(^AC=& zdZTGgn!xX8I9?x&Jtl7XRQ|0z^T@wyf(NoN$(GQNli9K|(RWj_cVK?fAg<2)i53L+>^It_ZHuM;m+hcs=2(b3^ zOZP7dB_k98X-L5klcxBZ;7rA!Xq8MD2|Tp_O3(l`PIx*BMmK2M;*%JHF(I?_`u*u) zli67pn}xN^s@@Pc90HPj(ND_3fB4|JG1zHoyHl*0u~6!xVDoq> zdXC(gU2V)|;54erN~w3?wiwBdJIcD?o54NiwM^nI7IL3Aib`xL%BEgO7pLY|$XFRMm~)znTGN2cZ%4UaOG*l#33PtJ`6fQR(D1Lz zO6B)OzE1QCC8#6E6$~l&KJxps$7QwTp)8DYr`X7)RZY%vD>f)NC%?{Xy*lH>p);Gh zQG6mI6y}mG(Bowps0$rqcyJV|-6<5MNN1w{G#InuY1?st$!Moz^nLJuH?;7ZD_D5% zziu!>Kj9;!8PVRws)oQRKnqL5=nF-@g#hSC2)LJ0DlronQP9vq-1Zq@{p^uv_;*lr zGC<1AL?2;;CR?$*`5)xhG!-0Ba|ieq4MxhUbyO^$B9`q1iZI>TImQ;)qJ$zb7xj7Q zF(=$g;Z7IN#A1{6mN|ck&H0pt-Ixp2&25bBSWatpC4=Eys%k7`D$vl^EU_`YHBZ@x z0*VARX`lfLZit^f&VWQ{Movyf+W`oxaMoHv+Y@6=fWQ2A&QS+)+!VUFw03l(bK>@_ zT)DX`rVnVm7fV|{HO5)M51ZUZJ=yWy+(?f(N2S|JOGmVe7pS`%ek*8FU(i}jDh2-B ztwLoKmmrTR^s6)iOSXwFXy0^S55ak0dkq*-#0v zjmW?#rkZ?lQxDykPA$k6Z%6(EW1Oc+OqCHGP`dB zoDQ;3EL1*d*(RwV9yh!;#iwFYsU`bH%o)j*I^e z>**jMCCX`YO^E04D`n79!GwoV*>#I9GoZYuz9r8s1AdN5$Set+uTG+~`A9Kc(JRKr zWU$4`Ik<9hf;@5L1ik3Z7y%Om0ZWgif2@45`br&$3Lq5_@cE7VbxZn7QN~ilml7um zuI!v2l&b2@{9F^b;_kBVW0R@qVstdu@Y)Q;KkM~c*qJq=Lc)+fum0&FO>nSQ6kppW zayf<87qPki+XlBjyGt{hv%#aI(KZ5P&5CT>Tk;=d!KDhH7@d|+RVhnO7GcImQRGD6dmbM&N86(E$eCqnCrS7Mpf}mi2#BDCLu%80gA|Jy zUf5^Iv|Ns==!riQ1?-ImtR%2B%sqAVBT#*nXcb0oCb+UDJ52fv4LTvK=2g%EiklSFqU4I*fP~w9w!4D46<{^gnykbbcd0|5ni%Z*(dOeKxe0 zb)`>WJlvS3J3gbA_4Ow22mE^9fPdBRAPeQ@lji*0el;`rbAMjTtUvE~uw<)a?f4@1 ziw7|6RW7*fxyt?*FcWT=MU+oT>y8ef=0%C_-@+C}h8g8BY)Ud}yPI3w_Ky>$vhX?^ z+p_M2tt|F2Hnm4vX>bJ5u;ER(9v;GpivO@VUc_8y(j-h{rO*~OH)g5U%jT&~GSou@ z*&=$X;-u+e!#8`$F(yuh(=UL*O4s9{LfR3;oh|#78WoVd2x>Lz!>S8(n~mQ-S1i>P5l zMO{m0t_GpuKe^G^Pk0TGi^~h;jox-o$W#_iP%TcazByKc z!}iNW^XFQQk}@rt99SA!Edg8C3&tiOur^gfY$&J?E;LDObjCPub%Ie)g@x9B?~!FO0^$v|25 z0luIZppA^KGVFq+RI{YRH@71-zim|GmHnsjFCRyqL@t6ao(dyLWByT(&o{Q<)99UB zNs*YDnSK4+eLl1e&EMy38WFo)^g&tGzY}l1jemcZ$Fbo1jS8TprM(zc4gigRW*O*u zxNbag{I=bN%hcfbv$Nq1|NFfpvvCix>(f)?uh*wtDzXQe+OYnK`$K7w7+5?OaZhCo zbb(V=zn2r^`dVjGQ{dal%lSyp(^;gU$4}gYp4S^_z1+M<$Lm0%QQKmDX}zGyH)0Wq zyqU(nB5@~&&O?**oIW zPBewE?~Y@a;lWR%D|a_5$m|M#fYf6n9C>VUcp}7F!?U{Z)igpyBoa!8UY4U9H?J&0 zf=K3fq4056GSp9`Jw7@bnb>o~`7m1mKVPQ<w7kR+tVex%4l*ZbdNoz~s?e1;oR^U(XfykS;fyb(aPL~&3z~5rB z?OG^>?Fv+tz`i<-eyF;SjZxC@X&UhI6Pvx zuBwzK%*nE1QSrP9G*(4bOj=wVXUVaEBSC#^aC$~PcVwb>ZEo%U8PuxogglpG+R`V# z@2b@JXTEp^5y0(|hEvzBOf^Akp7OqT);#aG!({3cfi5U`UX~GT!hMVifA0J1$fNzbcdW zF@wkoRh&d!5p?{LBVLxr2QJro3%hkn;fEP|LzEG^4pCJmB6jXZKL&eIiC_;vu|w&G zCyR8yA}1W3hhn++9?tA%z0kg!_r%F3h*LxVeHdovJI?Jis|AnGT=Q~D>a#~)Y$qdV zV1f;TI323Kh_XdaZG%W#^6FE@7w$X;2|4Y~-f@tJ$=rUbDQg&(cG0?TtfhZ7w;8J+`1sx+aN z&-46x{`PvV)9J?GL1V~uaw{eCkUR~n9A z8!q2|&Ht!n;J&D-1GVp9-u8&XLW;kC{|fG!CB(%+-d^r7M(pF!@IM&nJaw0sBZ@pH zz9GH6OH4@EvAX*iITVWz3&``@K}N&CFuVKdiScyWc~ZxFyJB{EW>@b&eB#sg-yk)xXNTQYr${IyX^yrIw)B^*O?iFON zT(K$7b($NcGlO1)zvb-?zyCBS0;S>h+IoFzJnV&aUQm@bnKVn>Ui%dI-g6^BfKr}tryYhtaW)O%dW1kO5jhBD|&g)qA^c^-ww zha?K!4Q@W2hGO_1O0-tkSz9CJ-w)EwEdGoay4}DIbeiJxIxLK|9kJog_JR_|U*?|s zA%1}>ZTy3^jeWjP-M{gOTg_$fU!WxYWLi)Y`#t_;*ZA$m*m=#Se7mN33M!b9hXlwF z2^5Yg>QxT7N?mh)e0;nZH-2^T-H0I4`W3+R@9$5~+2^x>(}URGbon6Lrg3Fqi?T1* z6MaT31~42VbaQp6xtEgBKX60|=oQIv)J_-HDuoY(f>)wLxF@#Fa~nXRH5b1LCvbnP zF>b4fA{uJfmI~wFqROk`I{YT#{$y%TdU1F}J8_m;$%anaqZ@uZInyM&vwEVT7UqNz zgo!ow_H=kLaOtnL?;f=g-Ehbc6Oqp;Q`#Rb%Fq#|VQ$V|OLU1~EMiOXuo`?lEkYJa z?8ge#c_QuWx-%g5I4u0P;1}ONekY!Yi~V);;k0>Ln0G4()@fD} zfBUok9t;~lf6TwFnEwzN*xQFl5(YIAeB;L*{6>=j1i!m)zx>x+g(Z1BtXzckNRjU!ISP}cCm z!or5hFFk*0PMc2Zye2cPc4$!Xcc7{P>&JZmWE!@=2i|hzKpEb*Td5Lxf#+UN>zDbS zKf^_M4~PXjE#GbW9+hstw6$^PKqavLb2t=ve#J$S1rP)VtXh11*w1bh#-eplp3uUY zMb&hWce**(fOBVtG-@21kwzy{ApB7)4@)X@IG8}AK=HO8lgpao$~Um#OD3Xo)nvNV zwTrDZ8_*|SXW7mvvn8R;3X6xum5N~eKbo#8EUu;565QS0o!}N+gS)%Cy95aC1b6oV z2AAN$9fA$+!QCw+cgXqgewwG*`|IvnwMx3y-6ND?cPUR$4U{}((1%L@wQM~vdv$e) z90#*rbsK@`DqR-Dfu1uSN`@{u;5@YKPI;NC^`{jgzb}%#eJi_k?JVG4{k>)LZ$klK zO&x(V;&etL5)xpy721yikvsIRN3p^WGM^mBl4-tQ_PpjlJjJ33qSNKNK%)9SPh5Wn zk3}bP?z$%EhJ!d=sv8*xd+lkmKNLou;|x#F5@_M{zn^QF%-4>NjzqP!@iyK0q8q$sf`J6zQ z%KVY1=?-~#i0@#RXF8CgsG@25Cj`@xgoBqB+S6|9Fp;^@DV9q!mC9|y=hCA>=axDl z;!^g`cDxMVkdSCZnf@VrLDI9=1!@;X!TG>J+TUMbb#2Xi`MT|4ha$ictZAaDsfZ!l z+|p81QbN^JAOEU@4de9vkDtNoxpPT(H%Z-F_tt=}b-`QnB?=14PNwC=)iP^Pw21Gi z{`F9GZT|!szeOjIX%7HyUF}?=l!4&e1)Kd-U0};pz`;zxH>ig#vTs5UI_LMbwI7Ln z2Qi*9s_TX~{m;XLx=yODHq%-3ufQTcojN^V_}>M8!j@QQevc^!Ai|M(pri6_Lwvce zs=j&w(~S({K;LDj%`V@k@r>TM`%@6ud|uQI+{S30o@as*z$X9byBTa9nH8Ae;prI; zrmA*prKiH4n%34df<&wbKpuLH<8F}f2PzdSSdXuW4Y5>X$%k2)H=|qCRhB$Mgo%|9 zeUb3^t0=oUZrfbjF;sIWGb)q>)zWO$BK_d|j2o+lnu4U7T# z7qHtuVv^yT%(TcOm{C+XI7u0il}z|3SC)BWnRenA+sDuU;gyGx01gHog0-8rLs7FE z?$3I+0bP?hYmB-HBk8j|Jv~haB2bilbHRFJq<^2nS-0P16yD`vTI`pE z_x-&$Jn?uOmcM>`yEono!&3U;)OoIzgN{y4`bAprc)_f|sl_W`A(>{m%W{He>1sO^ZTA2y z?LoA872)V~t6<8l^ysa!363|+bMyDxskH~o3@UMPAHJ(!AtZ6br$=^psY-sx z8|UaEfU?|4WmIJJ!tmzxxY=M3VFKuLKrN{B{0e*A!*ucTTZ?qGCf zrCDTfeB2HTX~0|9rjhuLAaU2^Z4Cj23vwL|97|7&g;0*4rmY!>A5Yvg_LE}P#0x@b ziZa$UnZwmS+MyC_X}U1z@6h!6O87hadv65r=6|`7?K+&3SJlKZy3Jm4@LYpI!rcbP zX`4lVcc$|M@W4`2M6P`>c-ys|m&0{IZ}we##j*9T;NYw@MF|q(o!F86eHv-7nj);x zZGzRNWkH03g8F_^RbB6Ot_Mz-Z6D+~iGzU$e7OInUY>&q!*Z7|r|@mojLAla=ezF9 zb&CJRiqq-1kKOO%watjnf!9dyFS#0}`nDZG0(^a$?=OpU-(&CJ zfEvS2+{bl));~whx4}G$9d10@Yy=2a>^CCm>U|BhCd(ieQn44_9ZEWqlp9}uO zTquaArnX)ZG~p-mKhFh!2{!%Tc^x<{u<6fi@Ev`G#W>*>taJEJ?r%4m&SmYqZSNAi zR`2obz^A&N7rWm}%7GyxWI@DW&56GeTf*nfg+!T3;2rO&7qinMf2cwYPozpw>Vw2j z+ccl>71z^elz#cDyb-gj!I}_ufT_eW-PmYMX@L^0iZobLTA4>(WQ?`;vSuH!;E%(B zkx4vE3lF8NWs{(-^ZjR06Vvi-R&mR{e6Omw1H)|93CKSSnp8(1i{-OL8@1}#>ZDSc zNfNj(y0NyZDoDKE#-nvnP?_&qvg@IxZfFuCoc9O`&38RBjJ%>jot0q%#p+Y+dK)j_9i^;M0g1bMpT7t(S*3 z*Kvjlhc-`3LGFi5f9K!euwbzJaXob4-Gz5Nnf*Q=5lNU=5b&I?)Ky1Hr*ha92jS=}{e%84ar~`Iqe~!@pq6dM41H1^k-Qu3eL3_(7?o$miS)jznprID zjL~J=FyS}PoJ%;&ni>)?iR1v)e2fhvD-%onjvJGd35~ECQV#~sho5{*gX=%k!*%gV zx@eAhY0`-B(gjx`IPvsNAr!7aD)NDFOo4kHmp@jSO{f$NF0#yakWtho0+nq(R66 zmmMSSo4uZf${ALhr1sC(z&6vdq)3qp_jT`?4T!JmJ@ts^tU|==HWE9lKjJZKZQx>H zf7<+L$E24_WP;HCYFM<27unhh>F)P+DhDB-0al;+qv%d2NNoNHkl)Uwn(V-Ot%IT2 z`W3yhCClNwlcX)GNqmerA$J8{+7^wouP-!ORZk<==K+!P_2@=D_GVIdQ={%Hb!Mm= zC{@9$U$S_T1@H1#3IbMewVYZv?uI}6^F6ayAkQKVAM#Y==VruRJBT2KORD@wf{mgfBq6?Ma5)B~< z%)Vo4#hA7Fn5-`fm*x2_SGy6v9H*kceGFDzjUcfW1C;Kc42HZ;Gzk_p*#mh7d@o*ZpD@wsbUXl^{N#qf=i~c zXskLdK%tyeDELq7tAOqK{Hbs|v;L+yZnnMUY%_zMML<;EmqkAuhD2uw&TY>|k6jmN z4lG#B)np5q`PrOCpmf&e=p3p-kA5AAYNNc^w$E*nkuWl^k{_Z)KR_7yQsUIp&X)d+e6T+fp2UgDlkN*gr^i|A zL9e*BQ=f=2A&`J=`KDvnV zCVz^)kSv8U>=c984ZBRFIVhzU;(mN@gim5O{P{IzQFCKyE`SnPj*+sl+ z6ezMZFfZiGn!7Uh9eCMr7f@wq%jl{U-KNlD-zizdnW4-><3QI5Pp9+uENh{mWZe_R!w+;w4h2)M6&;o^?7VROba*SMer9E`rVHky}{`{58tqKLj( z1z;+)FKZKYe5Ai~1VNJDK*(;<`sbL1WShW?vUtiXWiGpO1=3+t?y4RZ(fc{B5JU|+ zA*f_nndGISYVMr~K|aS&E{m&qD#FLgjm6U^GG>LUOrd4i@$ZpWqP*n`-|eE$Ys}rU z$DmxGjdk?9N|ixd@0oCTgD)srOrlTL{|FO;5gfa;T`THq@>%dxMOyUv3NBTDDNC|G zI*uzXrqpzFZKhZgV@$b=NY?gbh6!4$FE9Pfby3$;g5`#wT5b?bCZoR4SD2iFOf$mO-QNQmK?N6I# z(=QGVSu%KLIIDwZ7oJo22gO@Mmkb zoKF>ln@6}5f^BmU*M8(AbLkOEY^7>kY4jtKAMS@N=L$!ZiSDZm<79TRqmX`%G0+gG zP_DT@i;b(HnIHh|BUk`whZb5z4ny1+ymI(rD}e@?Dz%5%Y@oLj;cvnIw6m88?uV&1 z%?#0)!MO*q*Vv8}UTnaua>$~mjuZgnac`Xkdh44K%-ClLOP^&r*ywrgaAH}ZiuXo5 zE6j6}yrZMsP!wh1;D*^G-0*`082@h#v#Jg{kMV_5d^%E`*x2f^nYkn80)=H(VMkEJrv-|5f zf5GBoU3?h4B#le{KDcZ(Z0@aGY%R>@yv2hI9;HKto#d%?eYqUTdP7$;eLMvoNnUK=Og=nk-HZZY+-LC@huQPAg) zjshQtlD0as^JBi=V?JJpc~Cu^iVNF9Qj!reT*RIZY;$TQ@ehUqa-E*>+q~^jsBk2# z?l_rw_Z-BfIpDC!q!PbeW0ppg@3(7h%@*QV3pf1Z8MEZlI#t1vEMaI?NJu#fCb(T5 zWZ*6S23K@@C)BOCqe=Z3zV|B6?jB?`_=+{{EwHq1zF5L0N6|)GHR)UU$wMB=SH|(| z^Kw4Q25w~N4UROL3j6of$9V5Z5V^?_V+#{q<}@InQVfQxjH~m7MTAgVXmH4qksGRz z!#AQ_{&_K%-HIZ&N>9ph&+>KK^_0nm8lXpPxRX)z^p8NX92aFY`2Od6w_DLm~;y>E`%U8CW9DSrrrG z0Pj_qNBKn#0i#yBX+7Ehzeac^NgO5iTI^eUu}QVBXzaNlz|Hb|4!Y*&^ z_YQ}@X}?ZB(Kd@yL#mHpsyuhdr869lH76z|+v=ah6Rm0}h=xh-CFhQ~$}eOwn&X^V zx*@&d#w(uQ>rm^pnTRqbr}^=Ox9}a{N*J)@a!{uUG!_l+RnxIw$I{|9r)AEsz-mJ( z#ZN@bvzX3IQozgO7mtUf(U z3mlzn0SRlWsF16YnAV{k0jktr&zc^ED<0Z7ZYNml5H>2TUk1UCzF6-NooinuJPz`# z-!x{pzqD(|D!F3%7}$bV#c( zJ<74DF>qk!Q1UbS{b>tH|D-rq^%EI!H7rG@Z1~F*b^hWfv3BQ<$6!XIPtB$Y*5(Nc zhp3V(M%0g1xD4j!y(#r|6Rl(9cLTM`K`8M-AJ-eG=az?ty|p8<58*|=9@R~b&@b;} zfJ3k^FV0&of7X3m8ux4t4}vrqZM?l@mR{qOZhzc{w6Hz10rSGQ*~9f6*S2gOa^u0d zep*^5(kV0(@`2f0a`yCVl_F_0tKYak>8BRsGdioi^HM_kJ|&@!B>v^fXTqj4olkF^ zdUMq54K>S{mInq3%uU+37{?E#DgJR|L0rV=b7Y5Rw#&kST62AFyg4qo;QuSVPt@D8 zH)Ojrl#}KOoDy0J>CSm9jH)mjz^jL~v#l}~`1!l_8Ed&T8P^4`XlTBPQ3g1w_VP5IECIyP=oe=PmeFb8|LJ0{4+Gzib@cKR$TNHlh6a;zA`Z2K&ic<21#b&Qn@3ED@S{!u> zNL`j>JYKOm<=D_(0yqnKA4Ml({B*Zv>5FuADxW)n|hs=@L4*BWy>v@SCd z@%D#<%L}oFDV36SK{D84WGCD7AcrXRi0onuP*Yx$&lD$8aSvwH5rUtbun7ON!xU2Y&O>)!!e=orEY6fIv0H1r+_&YePiDo3zc8;Pi zJG?yTrvfs8zcTId@a`|-zSKI5&IQ=5;Vv;aqVS@hMwbOiYVDrw^!W$(oX4d>a$?!bVAhHgdPUdr<4%7bCIRoIY=8I?lh`z$Lc~&o+R2UJLf*(2q_biJd|Pe>=UB6 z>EDy6$RM*X_XE7^o#+>&m&+t%Me?q)x7%5rW4L6(`7KL-&foWE5M`j9T4qL6sxAM} z;s=i_^6!*zLxG_fcsn`4&f16V}c4LpHDe)yryks=BP+A26R8V19n(_6_6WcqI) z`^vRVB{IK_k~t6=p+#K@RaoTQ0L*B&jH7^{q#jGlmOOY|89r+{gn&_y=imUD*5>d1 zeE+B=3Gb8gTc>OyxU!sP*IHr861I*0zyD!*@TXFPYE4PE($W_p;*Lkhw5VTQY37FA zf;RT&7W|YY-M`Ay)je_Q9N;+>x2j{Kqt1@Dfw8t!Mqs~~-46M^`_5EXMZc~>`D@aF zK188ai@;wQ5ci58EkDc`|6_lFzSU~mn-5+o9S6Gv)7Yj&=3JMDAg2SlrkB~<#VuPm9ca<#Tvo17u%Nt3CJOwb?Cx(wsDmL*W| z2SY=oyycN&W?d}D{)P1lPo)WW**H#7)ofTgD$Do)Z|Xj6Tk33qaigCYxOmp{jm7PG zg_>+cIhwD+gSem!0pU0Gy_JHC_FlXT;>+c84>lcqt8lBJqaAi-@X9Ex^9kz3j?ViD zu?1By4BJwY_tT4QEc_U@QFFMkMu<; z3d3=zMRLQnu`^!Sn2fwq24j$XP?5D;5K|?&1y-6#4smnT~!&S|DL1 zMPMa0ba@O-^X~1w(%IfE?f}$11OqlhZ`%&-1>WKCn(P~Oa>E}RP*(Y=DKmD1SmRqWIk2=sWr*Eqh@oZt48{DDM3R+tHME zt+m{OAzz#3_Qa&))t12_43lIy;2wd-xxd0X~Y(X;&CdlssU&Al9i2pc>Pu8!_`kqwzTLh2oV(u_Z zch9j1vh)>y4krTRNLtIzYF>oq{O@ji55nDNV4yxHis1^q=bI!i3wzaSq-iXQyAacC zr*4jojfegbgAv|iYEi<9BBn#rOtWFK%AcrcrlP^hU89iVp6shcpOO7oD&beGy`h4- zb?R%)H+31fBn`XE9YR_o0u}Azt^O!;Y7)Vyqzu5STm)>P0 zswp0<9qRPYcXnXe#S$){U+XKEbT(=Hi$sn|E@&r^r|2!S_BydZI^7s@#ZMRRPSdkV6(p{9(BR@O-=o~M*Ukt1sPt??-Y5jZ#zm1LK(vU+`sviPNTq0 z<M7#8Ocb48U%?mWlaiWBi7 z=ye&khqaUUdks7#dLs=?RghEmJZQoNJT+`QJ9Uq~AxOd4u^r`H-qD%WBqwW?!NbWE z_JxQ-$&R@2jIYP@@J=o$-jIAPV~wV0Dn$dJi$i zSo2Eio6sT|W+M@OXMY#HynV*`0@3O_<1n@L*}5n_VT!BHIZk|~a7Dh&%u2bRi<$G4FB z6DF*Ylmi1>vb_ESNwlP+)8_IA>HwRzj$Eb0kL%Z;EIDM#9h#aX`VnWej%W`;<2P+K zK1n9_1Ub%H%2)^~>-kq(w6?`<9Zu)?e(`K=_V}Ef^t#LTWmxaGh7g&dw#WxG?QZRI zeY*YAQa8Y*gF0Lb^7-B?I%fRZOWM?8n3HU0w-V_wsBvszIY`2|_G#|rgv zdO8Q!as0vf_G1`m*ewy)2@Y_+t4q}#r@_RYxG-3!Uh3q}A)rNMm*cVyBmXR{lR<`5 zS^?vr?DrpAH7z~zs2`2pYKPF&&xskO=Rv{BjZ!fDxn~vFqSaVvt)am^oaSh=n?bB{ zSbM;c$~~`eZd9=ze+W8x2$@Qs8Rm>pvueq#>c>BZVF*u@nIkABabbn!z1R4}^UK|l z$g0j9n;~>AMrO;d+|^zn;lQetN)~o@KDPZofI*J#bo=xGZCwiH+*rTw{4A$581x%d z1hJ`!?qwTBqqItyb0n5+oKY*urG)t{VceS{rUfD|#Fr4vQ}Doj-1p4xe8~I=t7#;6 zgol~pQ^f8;Vnf=9G~RjVA5SFttKvUDzOE}ftug0DEOEr*;Y-T;HdtJ#zSFME?-cl? z-BL>P_$S$+d3lMFJQg^b-A!hh>n$sno4SIoVv)+|dv(SE;WXr2SA# zNjvZXatr2d6}_NLYetF(eh(9y*bu&1)$7xweR>pJw*!J5wlEZwN=M8mp7S+WXI||n zMC3UW(-h9uYsJjqf3^@`;=7RWjXQ)fDVmE+7tn|>=_cdVO3Th7j$jhn+b{ zt3O9IC@qbbYc<7bTv$XynpH= zqM*DMla)hUS&>u6M6py8P+MztGSxC5)etE7N6~+2_cxP#mfhMrsmd7<)rwC^Hqb&V zWGr_5}|EWiI78`ppOA8t++M~6W&3JG=Ob)M0}cpeoDI&9BjjDL9LEbww^yI6xZcy7&MYW!~I3LHkG}8)#ECWf|VsNN-X91$SotFUItrB zn~f449{VM!t{}J+TKpSf6&oOv?Ou3_*qAJPNDRr1nmCxtk1q1Xgxe13(r(xo`~GfMvtWffvNVUye3ZYi1u60cSyeBf z@i8Cu)!C@6cG33GRdHl^xUQ{5yWG=+F(^$+q23NypUtqUnwJ_@)xa5jrN?q799W~T z9nIMOmApeECqx@UZkYk-6O@Qie%-*R657%@pSDJq7MoE39$##JcY(2gma56vN)-A1 zoeC?g<5x)yV;&~j71lxk%i)y>aU{w_2`{#bv*Ls~=Lv+!dkW4jt(ka|gS#5()MFzX zxx*xJN4TYf0Z&32^DnICn-ycC>k=ef_HCv(IV`M5Cvr>F+|k3DXe3Rzgmjn!9P+J` zq+})8gZPcxa@VUB*8bsYjI9}8l6*SIYD&ccgvB9pQkMG<=P`zYd$TFZI|}q@n|-)! zS`I<{*hT*VE~b$-c=pBA4K6DT=QZ@MN?VQT&WT89)JrPPZAa;T&GdE@E)7U!19i6i zz-zH`Q26WFOMU&ad*rHkON_VV!^b4tGD@NBgp|=w*2%RLQJNg4oxfU9<{Ym$Z0-uC z6x||UN~JnlVYB2s!6}3VHXILp1v%GZ;?rDHMhv`l6-K(ww7jlg&)Q_JzKEU9-B1GN zEipi6!39si{MK(Qw*Po)xRpC^j81rBY(%Q`oU4=6M1o!scHQ4BTeR^}c&=iVs9^HY z(a!_VpOb5-)PU2RHK3Ey{N4C;+}3{ZG`?ql>BIn@NDZ%OkZRA_=GpzUoB>uSOcdg zHfUa^{Fy6|v`jX7quF?r)FQfG{~2w3|CuPO`S?%X4^XaI$X_T!(hIp)$}I!@oqe&d zWLe4`@ms`rC9k4lbF(=*K>Q8*0+_HxGnEUD>bi62ADsOG*Drvsv>GwgzT;%NOsE=` zs7W(TilN&X&}rAlKLl}DbLm=>bUryABGH&hG?Yd}C=Dr(F@8@SOiXR*y!C-&B^BS2 zyl3d!F4gc#R!`p87%_?>a-`hX3*O<~$3E&+gvZX5icQ?C{IitBbPz_|KDQ>eg;o<=6H~JDN ziLx@uAp?Nk>5tOmfPA~v%w&$$1xsf@Z*xVEdA@dae3f6DOnG2ls(xDI8hn-7Bez=9 zs+ZByd5xNsj!cfwu|cX|VPH}5FdrWqc{3LxV}mc2A6|7~Y|5wIzyn1+*NRWtN9!9Up- zBKp9T7Tq)UctUcyY+O5iqSz_|_BOuM8joRYJni}6I&EWx!Za%Y9mOdM9<)Z03cmYi>laSpOqGIzF#tH-<;NMqO=Di4xhdAxxbB|7 z0nF9~;EY6euC;rATx^&~U~v446H;U_rtL-( z9Pb$N`=_{^Kv=T#!Kp`j_a7+jC1dRw?OIw2qZU3cs9tWP8~D#t_7y$O4hf%>4QCG? zh2{O}B#3sRZ4j+83XSVlrL}J&rSJ!}47=mSvf&(Ym=G0r6_KvGkGX!(8|PV&Sact% zDpcbaioojLKE@N-ztLF2VBLXCGY^eo~ z-QP362Ro~H$|+W_B^53uUdzxD9!Nsu{cL}Osw`Nnt;);n5B!ld%`#=;_&8CRy2%Z{ zY1m@{Uz&dV{#Ee0*;IJpRbcUJBX{Wx2nS~gqs2FGwh2(i6w)8wj1(vrE`-3dDPqaG( zIz4z__4p59j03JQ_Wuy<_q{HUVVt`5!SY6H*m7$l@*AKG+LLv$l>gY|q4Ue5`t#2` z>WDx-R6(VL9rN1>n+cRjedlF7m#?KsdJhH>Ke@U=QaSL8W<4J1*g1T%b7VpfNXsV% zmW&I8gj=h!yeOM!c@YK9a5tWRbTvsL^QEy#P~r-35SbmU6Wj_18242-nH)I zd!X>$_m>PC6W6s0YB%n=t~^a+JY`Z(d~@~3r@XF2Q?ot9BBa$h-3WB{ zp;wj*7sz_I4uy4M)B)U?!ty6N;C0-1jAmJ-$~dYs5ypwIdTr9DG&Z}sj}SMXtj=f4 zhl!^rt0~zrS=uQU+dic}^rO&+^cd;=ya`zHRSuGe_nhc**yHa8^d3 z?C(QK`rQz;i;NGd`Tjv5luV05GBjLSd$Sb`AD7e*SxpR(o{)dOv!g(1KF) z?_0e!4_r!CphVzm69nky@VNTF{H0f-JGW4Y-mWSgm#k52wq+dJbsdH&Ak4OlV0&6r z7~3C)CBNLzmfAts1xtTE?c>?&V1W_Mft(2w4iuy!X ztD(FV^};#YluKpRe5 zN1Ej43sP0RJI``?XvQPE8jn|zByv-t^T4M1iC;7CysHf&x)rU8A{I*{b`G>U>Dj?z zeEEp{N+LPeP8V7gCBrTGxmX8QTMJCjA+G0#Y<&7q=c6KP zI#rrE;L0~FjKi3sb_o1TW2PDjsOm-G_A)bV<}_wCnE&!3->iHRAq&0!YALr#+i7vG zBAeP^2=d!eP!gV$8MQHMhprbm2O$Y@Kw7Rt`e zhT>g%bX_Al){p_TZm|~rke*kYTkvE5cE;!KiT`CA_w!>fg0%qN6ZTM!?Au&wIZXna zmVeZmALjr@FL#0XucEU3nneRqiElRNiU~31`zRP>hVD=xk&Jl+d<#$3> zUX0<|b=V-ZB{#v{)s1bPlsPUh3I_PoN-n@R%-AU&uO3Fi(&$NfTyqp7YT>BkVPpYi zu-F$Vz1!`xbjAVF-TpCwR}fBQ>fZ9i5I{7}{qFMy z=4m~;*)W-)+)DjgOe4%tgt{8(=u*%4bvLDR+O~Lhu9d$llCs?hp8ryBu(P9OS~`>S z6*S+;hl)BJEsvdCXJK{Cnt!qF&6O;;MtRcPE|SFHuVQc98S+w133@Du>FQI(-1~5< zw{5e~XYse3tQ_2_jg;n5amB9f{0`r*j-BCuiFYnMq+4!~rY4{xP%O_jH%p!h#wOGp zBXDrg(A2!5Y`E_zpB-ziwWk`>*l0cV`4MgYX_?wFa%DmPzW^E5S6->1hIvhcNn*x2 zD8bQb1+%OpyM-@lGvD<}5Cm+*>mr-CPf9vZC9FeJNvdMUS_slQ6(cyfUrI~b?%t3% z4lV#xxS??tnnhgnynYbm^W0@N9V7}2Fke3Tt3}rq%2ib-dS(Zm?K#7<+>8{Y(OKOM z-6!`+>8E;U)&&lR_Akudx_Nr=EiSWN$36juISbJFv(4iv?W^tMB{k1LB@nOa8*<9o zw#yh0&c<`&O1kIb2`u$CT>A|>I|6e_qyKV4z1fpq72va28;Np3JlD1SCRa&h6=4)v>OtQXTVcO3c&&#vQP$>yQ$ z_hDLVKRqD6J(7faXi2TiDyFdrzV-7bwxEcRJ)~+W<->YIkSKenUt*-`Q=+JGh=X^>K|)EF{7VXea#$8FP@5Gmp0APMNXTBsD-Tn$;=ZbJBcuE{4`N0i$U*Z zn62QCqY82uGeoyNRkN$6i(k zJv$_NLNRIwRX6lp$UHDA*Cgx}Ta>W+Ah3CxXU*X#01{lxRo2WMY2?c6$htnP3Fyc# z_t^S?lI#>uTf47nLyK;^w4}5I68sKdZLc_{bf(cgC25zlydiOoibH2SE}GfmWLLx^ znM`yOk3=5%%Z?&ciAXHjz!EXyJyhO=wRly84b@c;nEaRxjE6t%F-w|VXQLx91x*zu z$0N*S_Q(4HG>)Z(lUS5?tLJ=ad&w$%;{`$I7W%*1qVuKtbyU(QC4L>l>G*wU!!e?f z4i3h2l4#VNp^dc;ZUs1?&9@97l7AkQxqEB&!Y|=hwjfey9dwYm8L#pC51IvG2nR(s zC#E(+zakGdM=K+#bpd7(Y|u0G=sy0{)d#vOz*L{mrmb0vdgsdq60(;kSI3`hhMrkU zPjELDYHeV!N><_88dnPkSjx6k>kc*Z%-`3rd^#OA_f%FrCv6FB^b+(TNf085T$SNa zW5dQ{SMN_k`mCG^EK-JTmFRQ2LVz*+P%gV!|bzxR+;*` zv0^Xbgu6kM;{%X&w@bx{=Z;Co%p?4yWC~zkq4DB+@GgI1AalbL@Wg_Te&U-J!*g6~ z4yj&EtW#oWu==w+-=JB{uh|+W{0Z*ERI77SapeKWuYpQ#@w4RiulTH-j6R=b45A2p z|67qp0m{(oV5Rln^_*O zfwmKC$9aJhD@=@FzIh@f#Ml#4$${=%?s9ulW#V5KTuZGxSN?TCD}ehS-Mn31AOi@i z#>PnM9Ca6VTLCDA`K4e71Y+ID^BaMUFOsR;ddfAu=`A(ZB$UPlXnB2lKwMSZ!+a|_ z?J3SeMRX#{LOuV07V+{DsSh}~!9#JJFuq2S`9F*TgmTS2k;uDG@Pe{O)Y0AXSjbF#NyQ8fp4KS&pcq=eW7q&UA5 z(N@RZ@^w#9Ka|ZCt50N~WTQ$xoD28neo77WU@>8*FRUYBE;s1+w)Os0; zL;Ab|_bI=#scKRVn>I6N(l4tM)^Zwk`IhHuc!XVPF-&I+@m$UW;2% z90Axrvz+7t4Cby23w_sO5HZ;u#NJA&!g%#_I@(a!P_kT7=qnI2;NNa3|FCpD|1-^A z!p4Y|fyzdls8$xCH2XypT{CK3bluH)eHBgdALiX3ZI_ybB8;R_*c`?3vV0c^`m(L` zyte588^1=raen%Q?FHKwLxI7S z(~pvk;_-&QXa-i1T7xdGDjc#lf<97QyY=Aj^NyY zE}9xerY6&1v||4yfuwPdY^hY5ApBFKSM9WQpacZJ8X`KRS76ftZ~0ADx`LmsBY<_& zNFCb?dm7zHWcBu59qRT-8|@?ncSioSFPz6#fQR|Jj`bBSm%bqi4uVF~r>H=3D%r;# zZpi^9)-IPeN$pU{J&OT&{I84J;OLU|&k3{mJ)Jrd2i>@%M*? z7RoZu3;%W{bFB)5D##&z^3VqAva<;XCC?o-i=^qaBY9c6Pg?Hz7>@hB%$#}x2565} z-%pbuk;Yj7%j$dAC21Y3N^jGX=iJd+8OYf*#Vat_B$Mz9@S$F@uuC|}d_%o46>Z)0 zOx<#v^(oLz!+c9sAYM8E90FHGOorge36_RWS{j zu8f6s+bf6lz0eL6-S#MSK1juFn{SZo|lR%Ff z=LuC`wc<6y@dE7)EXG=Ku0K^xq%R3JPUSQmv|1@$v3Jv+*1Dl<{g;`5Mum0Hy!%=y zs`ra#rA4mdYjG+iMsxiANYa-Q0V<=Ch@Z{($(1VAlCd-%ttbMb+`NuIE2DSoyea#y ziS~ywG7P#jlxKI3w+e6RHB!!s(v=sk zYyE3Fno&L-Eplar0U_h7YX&ubid<4MzQ_OxM%^f_N~UfG9;M3Go&th^e=dx#_z&DH z17%A~a%J^|P|pxw4`Wbn&H5&)Y?`KUhpyRb8%L`SQyPgdW=&c)^gtSk znJG8==Ac^WTQA3?mm*J2;BhvwL! zOg?{B#`lTZ7A8C#+^jpEpRv<+?(8m)WQ;@N<-1UStr++(B)0f@HsV-sRFa5t5t`b= zM^B1#Fuy(D9j})trbt`pQ6+4YI-pcN!Q5*~g+qF++X>nGiqE~3eAdcX7%I{BQ z_~(n@#SQuTkx%Ive#WYpV?mTwf1=hID{Ls}aS_euPZOx_WWiJncX;rIoh_4>P?7{J zm&&L*D>s zu=eX?G5-n{zwyjAfn%K5& z+qP{xnb@{%8xuQuV%z4IbI$knTK&I!uie#E`@ZU~mDwfDFw|tx3|&4J4W{=2F)m+Ua%VfATVW*2!I%xI?HXD?v+}LTNI-5Rft?DrlUb z)C-h(oI2BRg#yte1^Loylt&D@5!pa`MI6lgr1~?=(UmjHd2&n4pTy(r!R#@X4nfUl znH#STl5zRg;dgGKe#)A%DP)s&`LcQO_RlKT4_fU2X`d?T<}+fw-ye=f88D*x!p>*3 z@1~(>#aBL>trq=H$tacZiC53ZEE?Y$_Hszd5Kfa64>J3(br19^i|^;Br}V2s_y`urXHP&bW!TZ0eFL|Y1X zYd}sp)n$mtox03Xnmc77YIQ&U#;y>}^hi+^JJrhkLN56Frln zSxghOUB5e^^4;Q?oj!kxl&?&-tHBW}-j<-g2T}*b35&Y>r&Koc|F9s66tw zcEi1y*H+qN4Ny2n`@39CSVAqrPBrn1sw%gJ`^)|CP9#8+Xe^QSt6}-zS7>dJLYGTp zr~<{$YKk7Fl>g zPF1}mbVJSEH&NW4RMn%+>1kBMmUE@UnW)ao_XqZ|wseFVyl0Q=u1She#LG$P_3O=8oip zwk-hBZUAetG8`y1{;Nnmn`Ms7T9N{RY$VGD9+(?a0*)+y{KS-x#638(wA3QEnzDC@ zp(R7D4Y#RC5vwU#h{zJ%nIZ4j(Z%!5<$hsiM$9+`2Yvq_58)@^ZT0Mg^$!NfqtiRlZDgPy{KTRETpR3~H(|j+GXs@$Ftr5N?Vq>< zn|4?35svk(7(LjuluM)w;ae-^f6$^)gYRH+_^PVx(4zVm_pv5wyc}F=D3Ek;b4HrY zyQ7X^d|rFl%&^vEjhSiACwP1@6KcOx00|w!d&C zRPtO~L!UG`Xz=89)K`)x^|W-xOB9)YdWe?%uSd-v0q4@V|2g^iV+)}mB^Aa_a8iHs zVU*9^b8zM6n#H?%>qv8T!5Ss$Wdu=oJLLhF3_F^L z=t@i%d`{4({pK+jSL~U#{hsG=PuRmqcZ(`&=1jB7UKNwJx91>AjB0hSd`Cued0;Hh z*7`k9EV9R=$Q4|jhQNBTYWU-wAqG$=hpVd;2noDkxDxf)Lfuo+tVo%8ce`PiNYaXGk6wK$9`1t?t>Q*_)|;d7Kix#=GEqenAcn3C zH=grRq0PH?dm`p_aqM+vzI)+3+A#1-L%k<-luyIsOC-Q09~b>2Az?@0z(RE4f;nfr z1?3l5HE;~GH73-nRRkUhW2Vne3;U`xDkZhiw@l(`tT9_tWmQ|Y?)_Z#pfegW0l%iz zdHuKwe}n{OW|Y5RwRz&V`9Y1EqCITzCxMQPNjc8{J(obRAh%TBSy`GXY@ku@v>_>5xfW+BTA7)!)kMMpFN|0zSl6 z^Co5^3)xI<=PA6UIJU6(4_Uo(v#u3UWuZ_(;uTIM5XTtsvK^J}w%#F%at`kI$U`bB+P z@q1V*Knxb|TJQE|`y>2wA=knC$!EIvwX>_NZUV$HnS{wCvzoXYBEw`r`5Iv$cS%#P zT=;o(wf9tqz~X=& z*nsXgjZ+zfSD;y38roPKVqF9t-JIKoL{=rc{@)Ut4b~y?$<$e?QQ1tOB8O$s@S-g1 zmyYA>o>7ncEz;+X*T!pS@92K2-pwt+C#-DlH>sItfN0-hNgZC^R0{q=%P#b+y!i+e zM;QPzXLcf_IsSGvXW(eNn&{L2;3AN8DLy}mKn|Z277BPfMm3h8GfnCRnxXT8a zwP1z;zAGYa6JkKQu9@f*$GF|_whCevdB1kd(ae z>jyd9J6D@o^V#PeZM`-cg=vlD0OZ#DzC!bTkAF{8Cw@n{^*+nBvHONad0xP*zz5h~ z8fjS-szXI5ycBs{QBfW*g$|hE3AP>;V=tCIT90j}?5k15k6K9&8H5Ka%u^Z1t zCeUdXLR2i}k(0`xWRR04`}^6Y+%#qT4CmhD7z52$xpKZoSLzue%fdZ#m(S zxj{m<63A(>IC&VYzmrDedP6(i)Op?GJUyj3)(FL5%s`&63(Q*Ezjr`sdA}+A9{0Z^ zAfJ0@KCi!wasbeFmIA`q{~{y)fLS6dhxXaB=3>+*B(@R3EUmllDwv;HKmdr5BNpvC z&`o~1MXN(528+4}0pv>*35NtTvKf)9-xOX)tf2fF@+h|mDh9tk{W}dM4MVl4I1y`Y zjtu-l8~3kCf2v9mYVQA}(YID%2tp-31L2Z~;#6Gi2e12Li-6H2MEu`wSAFqBoy8o> zDk>L6eRHvo=A%~+tj|}zV^Lw>IiufKxwrjpUxcmOpIq9DzpPffVDO`3*p+u$Tv4zC z2Z+R%1&XO`HL@4xlf{MHoKE_UXox-O;kb@%OuKI*RS1~F@}zIqZ`>21&CZtJF68<} z#6ZN|w@qc5D6%Y>YfX(c^O2rfJQVH%(I2CTwJJ;gD=OfMJ{VOfV}vXuPE`J|O|(>< z&)fM~xr3(&0O$^Kil2Z`^!JL-B%lyHHnz>>8u;C7b~K02K9*etV!Tu%5Ik!eP4nso7j>wZ^j4L%S?;ecx-C<&v8tf zhkLGXakzaKf3@EIQsVIiKKIVaSLf*kU0# z&l_#)HMjovtC;u0g5PlU=C7^Kuj_lsnRerqb+mURRDs2}aHb9wyMlKdI0SE*o_zqVscW5p+O(w6o-XKA&rGzs78(wfe@iZw!${rsPd*}NkkIm* zmz_mjPo<7X{BrsOm!=;06z@O#fx)2=X~!LM05+%B9mZ{%-Se8~;sA|nv!C{X5jnY> zzmAL)(ooC>h3WbMDX5`Mug@`ea}C=K-+L@G%x_%I?}5+$d&|z@E8A~ON_I`l0fj{8 z%($?1uFPZE{qh3f4+RsXozI0J;q1tqf6j8klZRrdRTCLnc9fB$Z^tqyiFs~L?@5{+ zx@R#L%a~9eyl$b)-b_61^jphFu+I3wBj;3%eJoVwV4dFgzXIh-RAGbT?U~c^e#qSx z&%w0K#S7Tlb!pP~`n(2I0{jyb}>0b-=eaUWStDN!{n;Es!qEp-#Cz-l}y5*^tGJF76ll?6@$Aw<*Y zT*DJI4-ZKTjh&0Ne8;cDX1$fhMcu?w;&9U*v20rygCJADmF26he;K2-Nvo%lV+}WV2?Fmbp;O;Kx6Tt$4 zrtoLD?P=6?h}|xGze&;mr%me-r?_49ZvyO_f=C$yD#jG|w)C>ehrI<=T?FUHh$G!K zW~u@yTTG2Y3ZnGS&rY>Kc{J;a2OMK_a_o;UXdmb3US4xQ>9V%J{2{mBd32Kj+RHkX z5}LxvYmaG0tV-%&{W2_y?L_ztt&`@wTbp53(6Nru>sa9PgNr2Mk(vE*z5j4bQPJSf zNPiT7+BH4i)T(L(1#$jFnMbARB83H+N=K>Q zWA3Qv66I+kR~vs7%NT1_x-cv9$q2-3-!eX%t>f~}ZkJ?~ILqcALl>iAiN{oQm;Y+m zzCM2yx!Wkto{i0Eg)D4JQ69%|1Qq5|XqXqZ5TZEytKGBjcT#fj3Z(>;<9`Ag=JJBk zLl7dzXZH5t$MrX_9Bt3hKEa1mEdDom>p>t~UcWq=GHPcLisSQ(d%U8!&m4ki@ z95)5ZA82folE9RX7Ea=wLY;!wB>By^9n1bQTKqH4t&|G%(2;pUQUJFjQ=m@ga3{a| zUA)<0Wh`e_eDM3%#p8eZG6!{2ghm@Mw?N|gLdK+vENS#Y&z2iLdq6C8?fpM`)DF$b z(Af7LJalW7iw{;u$AR%`uA8M&?vLT#{f9(?yRGXFC0bWRcb&MdRwAy(9m zB3A?JxAxLje>U+9)ZSg6oT1<6Ss5VN0X|{*ZZ_>ZNZ;0uE4y*9X=sR}h*Qo=AzTle z{7+$?4jfMNErDf*3A=M|BDES&;@8J!rX7pq}A*Zs)$oVU<)VvYy=t< z)F-AWQIF7nDi}IFkS^LXl9|^OV)SVyPphfT+aXI^*?Yff-^2L!Oa1QX+P#he8}D0u zN6A_BttfBUVpMD`ee<98#jb^&9mo};apbzsO*kww8NR;z!`M}C!d<0~7q`;4asbgz zNJ7Qh66IQnde%MK_2OX%6_&$+bQ~l)7EFpV^D6xkp6&l=(^Eo73UZqzti?+#q?)of zDd>@?W*dW3eU`?gGCD~{`0c8Vgf3_IOg3reIum`wr}9lo>^eJ746fI}|DL~SkH262 z{+%a=%rq=xe5`!&S%=u;$L+A?M$eO9NKU6T(?ym-$bpV^PJV5P1o#A=T*1i+WN$#lQpFu;2Y#@mbpVr|4@|p(x!|w^(MHzRXv&I{W z^q)NqjcK>ABC=6)82dH;M?Zqu9##rMqmF;B8{R5oE!>;%mTCKkWo#Ut!-2NJA^XXaIf9Aa7ixn6hvt8XAa2x zaae35c`p_ta}$IB@tm>Ne*ai~>RQErsAh)+BpRX9Nn%-*TB;6>uFgkeSNkT%;lylN zWvN@$v1p($+9+>)EEY(UO!@O1N(Pujv{%W$`e30VS*;VX9UFyN*$%$XI<&nn;C!En ze&bx%-f^AVUvxj3Z))?9^Qr8t;5E{%GmY%i-W)APe5uK85{!s~(xj>$gYb1psl`f~ zHHw8+2aK9lH~_Xg{mtfa&cMDU1e=?Ks!6kTYZRz3f-!9^}H*UR-0@p_J0z4nB=GlDW0kGCYAh26#_qD>D0KGt;btwcgDJn+)Q zZH=Rbo>M>W!xOY)!=PlzBH=ms;Nj^p`pN3L?)S8yljAdArtj zg)-YnqNcmwp+lgXs~)0QT^(t{;@&8x+k13(E>CNxL=ZWCpF#G&9>q#zRp{t+q=ucs@7)L z?lXPE5f^ny*BL|IM~*exy0a8D*c-k(xWqbRgw?X){e&3zvBORb-s&;!5@(a+X8*Y^ zHJ1EoSEYR?YSnAZN4)Okx9QsZalX6VFl4J7U0kKD&26BA#=|8L>!u5_V2(LA4`5Ix z&Y=40rZk5JbO$C42Vvgg&n)E$yUOo>&Nax(coQUvM}+o!R;NJ|Ed^0m+Xkav9Q$?d zo$B7@9Mg&r;jl=&b#wMWvgwS$m7*h+FFL~g15MFt<>>v!m*e|l!vEam+aJ9CBzC?2 zK)`ev%|Ssn+vrsx(mjvVwyV6wP4a&J_BMIV39&lTj!0kK&pjkc2%jVrcxKFtY3#|CQ>bbM?Z_KqB{4CSd6@+S|z=BuB%z?5PPD! z+Y4m#dxU+u!rQ} z3QQbUx?}XF72X@9Ie2-Th*VT0y;>O<5MsnvQWVMY={{SrNt}N^eRu^lDjg12zR2r| zAweF7R4=6vo7}v;teH}zzskwUq)9K#4?aq+X={bFGekXZ;;MZ=WS#tS$ zQc~$Hn2Rp8Ls<^Zi<@`};l=rIZ3axm7-g}rYj?EN`lgeh1$}*`57URXT!VtxTxanu zXKn`Jk<=tV#M$hJwL#f%y}i@1W*K?a)RSjzRB-#%sB7WDleB3tS*MT!Si~-BalIHX zPVKQXqpAjn)f1X?#kMWIOzy6`bgWA8F^yOg@Dc2}6LvQYypKt9_`2rX%&{=|5~8|y z8;SiT4Xl~n%~2X`*CpxS{ps!* zZr9IfK1#bwQp-Q!`k|PgWV`zm1OunE-ef!!dJcp@N2nV#Q`td0%C7pnI$M@os~>nQ ztx-lYpQ%GmT5G@Ql(=~HA+{B5+B<^Q;<+ew{#|LQjl(m_M{j65Y{y&i%_h_BK6dOJT8# zEsP2^aFO~$IF2vYR@?1D-nZbmuRXv0j|(0A zk7d5Sf{i11E`k`2E}B=5Db14v3(@O^2b>bs4`CX3w7Wq*c5sQy=ld>X;X>*2eQkmL zSoPwLZNkr^be3h&q9A_qh^B}T;rt!T%7z!Q3K-Qrh>n^?^oJ8DDp(V@=!>P&kf?T? z$-uAA$ahIa^B5kSN{8c8Z6jN|7uDkUcx(gk`a`dGZ8OQ>!>qXZg6{V|sjo*zC5hW*yVudP8AXFW z-AU!h0NAW<0lRNQE^8?F_J^Uvf}6(3EoKWfCa9y%FHWCbU68)+G58g>DL+28jIOXr zZ-JP#xpg@huGd|0*%xIZ5iy=t1~48ZCUvx6^95;1ZNIKH*O!%vyDP)dRFNaW<|0Ga zyr|8`5j`VTSP=j1*)1Cir>oHIYE%tnX;M;7bZGWk2voWp?b%G-fC%cjKuWHP0Td^-g+%piyoIUzrs+WYJMO3?oTDO+ld zH(Qk`j5ljj4;`C?tM`$Ew9X`%(OKObx^LEUY1PO;HlLHCz_PSpQX>R-&)BCXJppS> zNp#~hsJi<^aQ_Tuk@FpSJ5kzt-?{Ezb8~k&Ezj%CAyy?hi=Nt^S#q|)TS=z=v2QSb z@AAHSa*S@>aqwvE9=Chml5n52E&Ay7Bfn?j@wRn(L^?S0BlGc#Qk|ZrlFNCK;czp_ zyc~5}Ey*!nL}AMm-lR&Wh&Pe!4!sgs!m0^HpUgYRl?K+TUvhP!nBsMi zY@uh?=6hBeUOwyG0WeY#??FTj?o)Fx6~#WXv99*susM8>(I$HGPtW7)$9&s~^|(dn zwxVub3~h;~FTOV#Gm6F~9+d`OLeErBXH(yRmDDHk6z!F4+*`-;;>u3X>os;F(g_d} zjXE&o5)&;y)jIh88%#R?UAa(r@lb<648lk}MWHF)1)c?|M@6ZgwlDjcc4WHBL%auN zm7{;phVAF=Qb2S)gPC%Ev6Xhc175xFbOx<_Lz$Z}TuI^EC50f;_9gFSWcby{Mt?`w zLi>;8iB7NBeJC_K%Jq@AEyAaTm;5z?g+>I=f6$Yv!hCxh=Ub*(VXA*%hT+jT8zt)c zOj!GcCKapg{i?XDu^2NK^j0@(oyddeG`vIY-gT4|Nh9YjXCBVQ2??{K#*|jpfAO~3 zI>=%si**M|-Z6x1Kno`-9=~#e0SU<|dkBi`V^SSv&CD@MFO-6A&dT)H(>I2^LD~3* zobB+|YB!NpQxjOxa6wE?{?DW^1DrTrY}!GfXq^Jx!ysx+%KF; zGJ^f-PQPFe7lPwX^mToDETU)y=L;S*z^`QLQ)WIb%KF=%EOlF)B3riUt9xqV@ff=* z(VbWePO|*(hP?9)JzuMVa}0!w*)A__DheWEA(ehID{~TsKMTA^c-}Iy>Q&cy)ONXWrovT%A5Lu^ z9Lw+cEU0>RR;$6KB`0nkztGF>&NPG-?!OuGRcNFu)d4oDQTgry_cvb!i@}?L@I z?e-=|5ZAbC*Gr;bkV*AaeDp|yd6%oz<|_1c+k&7_&ETE-eo9PK-j)Y+6!1(Z+QNem4$b+__W1>mP7SV}t7-|N7gH1VW z(!lsw%`6lW3E~6I#zXV^0W1#MTFW+cK>OS zuE5$->zhTII8!ImCFFPDr*!AJmwM@4w~aWSVh#|Tb`~e3m=6hJTOmoAY}H;XElHB+ z=*-sX;FdVXVq(thkl|L@Zim^en4>GmsX*Z>s9+eS;9b*T(1ivY5lN*ogUCx%^tJO> zp$fK{6sQP<1pn({jBbv*u%Pmn0XKme{-x{XUE3pKVM$ZuzmRDZI4f9A`@~Xa!!1}_ zH>FN&gloB-y9B0J8!#B^xeqm3+FI{*ho$H9#)P*7n#KEu+LaUMu=Xd0+(u}|&0F97 z!2KPs?)Ub2fsq};dTB6I_h{gFA<$EmA4TjccxJ~u>pXQUSkw_^P&KUk0~CCGW>Z1x zmc&mND+OfaU`4|pNCOUUHSIcP@>J*7xawhE0uPUO7mFA86-}HVBnJpaLm&t0!&&%k zZAY6}P1p{123a=WMCKf*nN@M()caM_z#6D;2{$?dQhOE{5Up5qu5rXfb*6_Ce%{Cv*B^>RR` z&XWm{812~8gQZHNaG`h2BfLwW#uP`jC+99UhSP`!lz< z+aF>nEgw+F3k)^f?!GXDfg9e7DEJxTVV+{?Z6p0`R%PaEq+@OT!^cB~F*h}TsKiUL zHqXly{gcPin)^ZO=Ofm2Vr{E_J2)jld-UMIwOH0!j9i4HPSKrXWfbdYEEtN+4)y)6 zK|;i3aNc7@(UNqT(H24(1)!%^g>j>l!hvW%M`IWB&r{JTjQz##3KYm7$%IGR+GA0l zNj|UB5Vh;cd;Px_^!bxn&gm+?Q-vx*67?MA67^o^u zjazY#0Q!bfaOCN3&cPzSMn(`5(va&@feoo%bPgpbV#XbrN%4q6!P8LsNKq@r4Ya~5 zEEJaJ*fqg%lNI4x5ZAJ!&)yh{=|r@DJUo8+Nc@iFYTX*W?DX@;OvSy>G%+u-60Uh0 z5W@Fa!dlfem}804c-S0nQG}V~=KHsKQ-d|2+w@@Vyz($%%ub=Tp1iuWVs+4p6$tOU zq=>xUoQuDNtOUC_;nf~@Rnu#2CtC>V=7abg4?oD8d4MI{5!9eHj(01S!Sq@t#7sVdKH7(83A zmncB0o{yb8h%~W~Zf9sB$daM;Kuuar^kqR#iWadXt`y0XOIj$og{t2Jg`V=ZfD;q4 z^Xo4jD0DV%LJM_Fbb_HeR3f(&Y0Htv!XJ$>hdJVA!_(P(kFh2}yH?@?)UND!O!O}D6;DhLfvVq)#tC3c1$|hqx+u_pXwjQ)J`lAO6C{G1Le|U zX6u-VSxg1w`AHr+L`Ng9?KHDJ{9?rT_fZ(#a*8mr+6v|quVzFEg*~`m111b%Jo}{;*QH~Fj0U5a`noC8 zHY~VfgdTCr@VNetS2r9+9%9b}Jsm}X6Ht8EU$T(knnWC4+;||gdodJd>FN8v!T)R; zsh2gSuKP~{g9dLHL#A?eOn7AL5*L|%{Qwu(OgV!q|D=jk9Cgk0&c&s);6uGtLpHZ7LZD_2w<^0A|flsy$4~ z1nq-jHB3TL4dsTNV(y_bFU6pn6zZ9f?2D0AaU>UDPo?5B32fGAQYomhokDJAMw440 zwm3xC$=u!7C2ae1q=hL!-!2-(wsiv>b6IH}DF0=fSA5ubH`7#Dlz}XWT?!J#Y_j~m zOLDIiHu-ByhJkBr>Pk_-m`b!CyopXgrTCw-^J9$`!=O^D4mvujarvKyV@Bj-D61P& z@+?dU99qzZz~IJ1w>-BEO_tSu2-kfG1lw$onVkJwJKxwPx88xD^F65AOZ;gw3VG4x zEZwva^xEhr@Q%L^&EKAxDQDL%Gn8An$Y|ZL?m4Ew9zul&<7pI(IE;6plcsASE2xe& zRD>~el=7-heCPcGfa+y0d4vpY(9g2G z(jBkoJN!n=kxWvo!I-Io&<7StaqmGNaT(15g7vH&uFuAE@(Qrq<{orD{-a7Zdee+7 z%7R~fxE3?DPf^fG+;3Q;IlN(NU;bdl{ z!pnMMJ^C<97?im(uPq2RNtV8n4TvqN+14~>XTPB-Z}*u8QiZphXhsKnMu}Pz-QQrV zkJi6{Vl9~v5aB8vBg|@hLUXMZwmQQco&8k@cf_?cp0fpUAdJcvpuTe`Fk)_A#j9`< zzlNPV)&JCwFwXk#Dh?ozb1Wr9?5dN?^9*_;gv@Z()~y+H7$FOxRcQu7dS(PF{id8e zBa|KK7|Qb7eK)l?!^9xh$e-Oavj`-ncFTj^W7+BCK={y6Nh-u;?{UHHq~jYU%l$&P zt+L&ne&-umI|Qc91V4n6mHhate~=;2dyQ?DmuGp0Fp61=D-jODX#o_Zh{i1QZ{DQq z7FLyOyj&Z1mC4&YsYN;`f{e5`Tr~1IDR=;9L-F@@)z5gtb`A?at~a{4!oOrCAQ#?P z`+3eW5wcFPemgdQkmh`ke^Ur&k1!C3hW&-op{_zuiT!1v49bJ}8?|LN8-4Msho~PM zsLG&|lKct9?09CE%*qpcq~k&~-3*n}=s1tW_0y0o$PsT3ld@=&*nEtL4}UzF=rXDpR@7 zwD5g9FB+-vNG;Jn`h6T#=OG%^bn}#vnNg+&hpGOE16y5xz8IZ3(_o4ow{deq*v%S3 z6_tiMZkmpivCq_wd;yG#3g*Li!$NwYFgPS7e0*Q=!c1NlrGz2}OmE!q63~w|QU;j{ zGDttdu~#s;qtr?yo_EQ>gl_B!HOZfF=H$;39$#bTfEz4!`9>u~ zj`R{;9Fkc|u4U!88856ezseu25kI}wC#!vv1bw}zsp(nkkfMj0n5dC4pbiR}E+0$s z-g&)JhI~n1Wh-0=8N}nmU{Xrl1+>&FSG}ek4(-xS0na8aH&`pNi_)C8lu;n!Dn5Od zUcJ3~nV#7P+!~l~U7wS8WG+ao?PX8N`>ygkkgJrh@AT6zvN0-hjVjq#(>q*STq>^g zS~%`W;F=QF74d6AfjazX({ju#Koqs zLi9d%ilU^+`=mV>TsjL>2V{BNF1Wkz`^CNikN z>^H}Np;D9dOrjv=-z)B1bhNO2I# zcoiq5iVxc#G$bZR${@C=FYO`7KpL^uYH1=?d3HpYC2F)|JV}NSyhlxJ=mDHF=KX`V zoxMjRZmZNXL|c6qMh2xYUHiu)T@06mKi*y!f zFYM$bU;2XOWNF)=Y@MtrdYo~ZzX#bC5KW1vu5uFaz@es=gZ z(sWB+d~+kIGMYF*zj76y9reE)}lai!^q*u_P@|dI# zXLg3?BoQK+$gTIFoHMTW{{_2$9SeL)?{VN0`{U>iB^K5Qey-sr7D7fvt+(b1DkfHx4%`* z?gu+ZC@F;ZZZyQ2M8TAMNsrvf98AMHh^NeP9BWP@<^YOV760-#&A=qcyU&9U>?XH9 zU%?uQnl$f&(3JLN!%a}6__su`Or2Z?D$II(r69=9&kkN3j8D$LSlgiHpVbG~jXnZ^ z6o$EqVlRWM|69EEOKd`P^5ktCD02YBs&P&ll$vvJjFjwSu5k&Ai|7!ucGrP&T3Ajcy??miM6FxAn=wy&4eCDU1LU8c!4uI`8zH~G10AWUUFtmB3>Yq zeW=J%?I`7a#L6l>ecvc(7f(*tJL0sTqC~6JztF}0`{olXYVPcCTjItbt4u(Y1i`qT z)<0wD5(_R7q%Wz0Zl;9{&OmwcFLE<81HJZROK$%d{DQK4Wt_NlYv?0tazgo>5qyaS zIXUvAWF>I|iR6GCL+=-d_fql)yD5bV3;Zp`vK2klNQM$n(i4+4xVuf+Ir_&7QdsMi z{@0O|_ibjbLFYU6RqwY^7loU{o6s`e|FHlJwdsW`?L3(dM|>MVW;48qfEWfkmE>-{UFcd{mJ zG*vK9O1WwW-5J-_DS)GzEa67e@YrJRKAF46%RvqWO7?iNWN}yew~pnP4sw)3&kcv6 zAsQ-f^R!3Kq^~+hUs#||`wLGoFv3G5q;T%XhZ#ryRg@@X0VWt32l%^Y?21+u_@YB> z&NLWY(jW_t4^+VjZGi9%9fVa)-KNY1eOqXe&?U+&x2$N#XZ1#46FZp=T{AA~uf&7K z70B>nA0DiFva$~2pM&=OyWi3vQ$t9eM|n-@28A5TPS$MjfJgM4?k~LiTZnUl9!NZ~ zGtZ**AmQkTx0tmBMj#Z-VmC8Rmx`!{9kp77VAl;rw0BWvzW)0BVXep z$u-S!(9HPJV5HVa{;@PT6f1WFjZ`2Y_SgeSD@OyPYk~Iw|>Lf`-l#2 zCvpy~b`B9gPKUZi8a-_&XWi7R-5NK@aC;wR6!<4t9n)Tl>qR~(*vEAZ1MFB7=%u9{ z`mKTLYDFnGd?iNsKV0s~~2_Fz}436iKv@v5P*P4{b&nA@q#BdntRq^BF)mA>z zd0`nb++B7IKq)ych|0QhjiHuv8sa~`TZxE>O6D0PgT{TPCgfi*baVtpyzBa()9>-d zs_?ooy1g`6h=qh}MQCl1M`*Yv<8tQRxeY5h{^ip=5PcI#%*EP}>N3b@%LTbK?D+C2 zLSAE^HsCx}Y_p)xtOtJw71~>ryM|9`Jg2GDRYJW=z2rm5g)|*x+{~T{`gM-G5#1|TR#iy|3NNpxE|O)FwP+CI1}!-9ua)juj>2QcW=N>v02{J z2m~A{56FPG2QF3gXLdw0t4Cd-6}z(2FqKe){iys{o_Vo4bsA`Y%z0V_pl!P50_`n9Y3)o z)ScY_q-I~?+QobI=In9hWg2$^(v5zTT^KNHxwww4!p_6=PuIZOQ@4Ogk%ZMe0hkQ8 z06Wz33Wi3&YL1z(L?MvDB|980&&?(q=n(iqsHHsx0yjMe4)rb9iCj{aJT26!nk7k- zVf0U-zdS9jQtFv^h~J?y9pM ztj=MN!DRDFpcv^9rXHQPS#z_2WUm2bCL4acXRf4Jy^y`oQ*L9#2gj$o2^hg(4wVJ) zR9@wh8ZE`$x-`K}XZ0demif46MjbWQ7|S+66MVos7g+zn;M zVj1_TX1SLI%{_uwOsoFv=r<1jyC-YQGEMSwqyJ^MOT}uII?w_Pv1A-zuU$lJpPd!hBP%TS5v!Q>py7RWH=AQE~jMs`+k#>~P z&>_HDmCVwZzi~Qu3Hg;?*`LAeXPAhi=%9=U%w;36%DEW!j(^ynsPm0@QnwF)RKIcw z4*n)wUIPWUq_eL8KMX`&RnT8NP5!uss&@J6kh({V%=0E`!%HuMLhGEZBsic46#tV4 zAV?mrmN>zpnoiIC5@XsXejI?%rMxN&W2yBH3=J5%mMN9#ABuFC9NmDzf2bxa;1FPC zW>jhL%UuWick#4V>E+9ct0S(?_`&ky<)_u;$=dg5=;!fQX_kY#`GuD`djPf>12n(pfDpVMl5RZVBQMDSVjv#O|dJ#mAHndWhPL;HR&T#I@i zC_mGE8C(I+H*bdEz+#2FkYL6qx}nB|p3xT#1$Q~}XtC1a#8Vk4WaelSX-=Ll8fz&A zn3UAEZ%{E$qGWk&n8HK0dm`oQjWNI~Z znUQw5q0CC${}J(nQ(B#DEZ|tLf)n0w(6IH8@nS`p2(5YuUlOi1_f2$A$zoj6VyeLX z>czyxSPQ79>K)IrQj8Va$ODQ*q;}PlTQmys<%h$K{sUjFWQD@%ij6k*Y(PkFY0>6z zLfl$zCA!$TE881C22Nmu2$50FHN^iWHE-Cpx+LN#ywJ2qVG79#$PkyQ z-rgI$FduevnAv>)aO9;AWO?j@Ch}GqbNBgcbU)jHr=8p!jKMp6TKqo4?DPYWEUZd9nrU#EUmG-=6f61FWqZqhgH;KDQxJZ}}RrX8jxG){+H|uhD zcR5=CgN(TJUlJXpJX$!yb~S>91}+ub9=t^SM%UH0whuw~ zMi{QHQo(k`mJ)!3sJn#rfxH|d_c&S&_~A6m=;4aL!@Se8M6@KP-25%+008U zZn(oaH{v`=KJkCj4+ariRbQ*Pd)eSBmuknb@bW14o*7L*s1bO<9TPTKpUnOhl@;}} ziG$1uYROCkzh0(uvOI5J=OBGaI!&8n=+-6R<4ka=4~|#m*~5QFe@G_!it?;ECSGVg z?`9ER;y`^I9tnP8RZcIi9MX^|XB$4}kuJd|{M!;Um;xl~K_o9!l$>!8zvQK--Y6-W z;a_8gkf`cpj}Xf>IegY%-w;M)D$f}$kIeqoE?tOZ1c1J2Z9)JM9>0))6_MPcASQZY z|GvRcqkEXBQPteTlAg}q*R|@)CG^ZT^Mz&*8*N*XrlqaMk?3`J;8vjff}`oL;(Blu zn5nreMIvhmQ;KYHVJY(e7d{=q;;+KJp{`<;1e1wyy|Up#bCgxVPD)G(L-71L-c{Nz zGT@Cdv2MY^0B_6|X2L~bGSk={C3?a3MU^#cVBO!$IdSc>cG&_#gA6WM8WXXRK?u{- zaN}Uc#l_e7=FJ6G@1COG*aqWOAP=2QSdj(~A;Ln4mFf#>y_guk_M;gLJ;7&T5NN#D zpbdIb?xBF{$bemu8s~2A7<&_N-iar&Z9^9c z#;QDmZBA$~5SGekwA2Xd9t9xwsYt-mOIC}r5dzY(4C4m(M#8KkJY4{aj-dHel@v{K z2Hh};+17a~6wJ<;}LtD@L8Ll6b zf%@EJ6zMsm$0~;>>p>eir3_;llx-S`g0W3|C*T-i03nk3)~kl?cE;J+7dTrx>Z4QC z<4rVhpP0ij7^R8K<@ju|ZX?u^3W^4aN=Ej-mpDKgltR#iRFp*EdZJMYMW~udd64wj z5?XfgR_o895tWWaI$J~hQycFJW6bEip8H;T-jB}J0JEkTmcdQ!Bk1^4^CUHftm9+#>mEwYz+-!ayhhBe`%9E(f% zH%wE*;nrdP0^gl~3%hfS&7C{&ZH2E&So8%EqX5&am9JlG!n46-6SAkJV#mW=d9~D4nfH*NOGxSW{Yg;bCbp5se-e?@CJ}%+gTuXx!CWZ_lFKBZ^ zSxtdPOb)Cj_;!QClM}RWzQ&io{u$Qa{2UM7`w=cT@8He6g){z~iEjY1BM!(ZLmg-# z?TKdcJ7Zn(Oe3@*=m$d?TE?=ZnMCiP%)p@3<0W%B-im#Rra3aWBt!>#8x=w6MnI)_ zEA-lxx1id8DNuPTDlw7goquOiQNMQ?Mj>xBY}+{9M4_(AbqF$d)aux-XY4MY;K{4! zm>%55bn^h%uA};{c2_zRs0x#;&@)LFG=vzGvQWLL&XVho@G`YlOUSzOuNOzlx^bYO zqBV6tt38r$o^4t&(I}DkiBP2Sn0tqy8A=WUD9?aJ2D*~b#xeEtI+Y1uQ+y+#bG=#| zYR$Fp$(w^=G18kyccl?glhU>!%#z8DbO6V&O(I-0KqiC1=M^r#o$%RT?{M>xTs}(TOWTmCahfb%yAg&rUyvhS`m$oIv&) ztpUs9u0qjKkx>{=mE{VE_I=S4F{hf=Syu>1AJhRZo*_+qqmXbBg*b;WmV)x>O;}zl zKd8y-XIAHoD77pY3;4B(d^SDL>J0~n4U@gXvo~L&-8#nf;UnO1jk!jhQN|*yG0BYZ zrM%Xr*>PH=LS>9W8HYeZBw=4L`&P7Mvf?ZmN5=*g!Y;NCy$)FN#)i?ki&6Jtbe6!#D$S$~$+ z^x$3d`=hZT;i2^woNN5OByu1+EaQg7vn^=J%p>V$DrnOY?C5*Aae4>4uRg~ozy2S% zxw(nkAN)C9?T&EKR%orJ)uE~_DF%b3k>CIwbv4EB1mN_i`tec#G1g9DX&1>G7(B&+ z7RHy7dSp=c5K4rH3JPW$pD8WS6{5P!v}{7o<}JK56lM<>jY&ZSTe$9>7)lUu(4<&t zd}$bbo+Ef$p`T)ogSEr_Ii9}$2GhM;Sf9QJ->xFWVpIf1!zFphC_iJLm5f$|)F@2A z>`>Xhl8vFkEs!O7i8Uw4btO$Akd=UP!<>=>92w&Zztx42yx2n}2(^&=!452Gn_D-m zJrt*mDcVX4@6$^3mbC%PPw&@&K+KR{v6TulPY50*0K%o4(?YE+z{sCCxN zWNa$ae#v}JQZPVgdL~2(!JHI7nZ{=Wp*ngDG8irsiu5&)$)QY`hr^|j#7Ra@B}q%o z(K8D5d}a8+QkDs)mnrS4gBz^F@LUTCP$DFA1Uaq20;I_EgdoCCL;9T!U=V!8s)vh;E%;e)f$PEsykVc|S{DaY92BbZf?Y2&1ag zmDviuS^=vS>d_%?-g|`0&p*b;fA^PoaQF9c=iVRV`S}_$RY78boX(6|*1 z&_nf_UR;;UN}fR^AxRUKxPQW2j)690UM!WU43kJ=iU+jT4IWm`bVF`P91^{>VSRNX zN&guNHRTNFFe413c)#q#}ilBJQ8;4R^?_#4cYW(z)VQb3epP4vN0$bANw>D^JFzV4$AB~9jB9FS4XP3~c- zmiwdoWs6b$ZB#1FhR$fcsfB1minKMQojN-Kg@BEG0wwMZh@}~nu$D()4oDd=+|!UX zwnoEkJQO0vMENC!su%-8&t$UUFlYTVZn$}zh19Wc2MiPDbH~?zyTid}m$?1g7425V z^NWVvjO3o&NNPc6*BN8?2v>$4VZ=gVQ_RvSj6RSw6TJhk-HkW2Rxp(k0pfw@vi1;E zz~1tnZJtp!HLrwqi)3&Q01q!Z1hl6$Br7*8VhpFI@Q(7T&8TBTXorj(W1a)-ICxP? zS`egUaIET#TPMKF7hmG>vcfcyeaz zfia}sizHLzHLg@tIpugRE!f!VmNaA555<;|5{WRftUFWX5lI-BdbHR%e| z8-_rRPljm$vN5_5eW@OY5!WsJV1w!C5Vsz@i>Dv|0#APS7kK}-{ssK-w{dncVUBJG z!y;=RkjX=-F*(%5o(`UCOS(e#G1gj(bW*^<29M7MuV#Gp2UcUMqFSawLcTQ1G4l!>g zLQa-8d3uW62$TF(ryfVj7VPm+=ANXyGl?>KSfHWb`Kox7%qY<&5U~kS%Lq2FiF_4n zQsR!b3z<=hVV)U}G|~&j_Sn3n+k`<-;gl5qP8d1)88n#5yU-hzbk*b5q0bp(ZL!|_ zr72y;lHUi3v{0PZ4YcmOQ1&CjkTRl;HM`Yvblh}i+e&FJUk39PE?zjk_{k-X?(T5! zcQ<&o0bcDI<{2n6m5Q|>0Hu$H5d)tGugv1Q7;H-~EYD_R;d%&tb|5OAZItrVm0lwO z6sLEIp@e~qQHD4cH0#c=vAJSw-NSmCw>-GPK?nsB-;?*5{6(m#z%%Pogl?o1J<+Kw zD+#QYh8st~eDMTdKm88n{w+**9>5PK%oBswG9(s?M>iDbpnHbtDFRBVR~>@l6ViNX z%`4SG?}1F24VRH|(PUI0ykTySxHXK2t~}nBR5L2kQK_afGFiVomyk@~ElqR*XI;rc zWWrjk@C;*;HrNen>d_2o6sU%*HIFzCg?vBU9Z-!|?(g1S8zJhs4Z@8y0JAhAn|oKP z{5{Z=x-e$)Fknh68BrO7u|OkiYryO%n;U4G4GxZPpgs5=KKa#8vAOs^c=Wx0jW??Y zcyqNzQ|7f&N!6f$S#H{8#gm31CO?c?XD=tH?<1{$bw|@uC?{+G)!|lSXG*Ql@VPHz zms0Q&4{l3nR^uI;f%h>E^8ps|!H|LR8*@kZzUKfMCNvxzICi@y`0nB*%Ka0pZy%#= zYV<-aVfDC2#(VVlE`$#0Y=H2&gf^cOirU`7E23-CEBXRwtk`-YU88`I0UJtr?g~Ve z5hRD%13im)MT9uYTVPvrFy<-9oZ00=y`s-Mm};CMxDK$x8FIx8*(XJI8nUeg~ zb*=M_d+@bY#pT%qWH6reTuV7g{vF_2%_r=Ln0s{Fvu;&+M>*U*It=x_8E#|<;pJ<* z{<`7ylS|zG9&q==HC|N5`BkHZL(j!$q<(2ba5sCKN?J#fk2oTV$LCaxx*w?dq3-tF z;B2Pgp{1=b;l|0OR$z6)j%@`sr_S&u=|4=lk=S^xQp~$%0a}l#$O1{ZD7>6Xhhj68 zZW1~q{DPzpw~m9&1)jh98oQGVQ}mjSFBb1OwACFs>F?K#n_ULQUn{z^Giyk+B4mC{~h$u6rcGmA>|a0__YM2|=z= zTbOCJMEot1%EowN+^=zsBW1qP!v)j~J;yOnyaab+=5zyC-h!+rgdyq+2SK7aj^3pV zsHmadp_GZoHhBs#=pWrQ(O$$=xtV#CpVltcA&x#Qc?fWmP-FrcZmfZ$HSFjRH}2fV z)n|W?kAL&uaJqen+wcDw&Mpse*(NkWf3*wb)P(8*D&3WmN1ktz1$zb$v^Nl=>l>MQ z>}bZK{Ic{8vn+&b9ogBvvHQ%=bgY*$VH0(eyyvSitRH*Z6KG%oPgew@RR--}Y?L#B zhV6i;u|^;eVN}mJ*Z}YscsajBySc*Z^dWG#Mw?0;PCx^>F&WZD$@Cn}fyVA=MtCxs z$15(W^%IZ99%t+@YkDo^nI$hsQCZTa64es&Zlw1VBbLaAt4o{sazIFW$S1`%t&SRA zHK^1|g+dSA_zZ*4y}>ForkS^p&2fkvIdch$i~$GKeh>82WBSbWALP2XA?^t*lvj@$u~ed6*)}s6Dq1V}_BS)i7Z~ zE7iidJhEtt&@#5j+DsF*$2FkycH_P)d0rc8W_q09?gvEe`kSp{g z(htntFL@s;jy4;{4kohxM@vE7DX9q0-)lwd~)!g8;*CS>AWO6TWsTb=ylxopOso{d)f zc+Q~`PI5l-2tfL0l9N6!!+P(>M8Nr#Qu=y=B_E>E!6S(8kUoHvL@5*tSwlsc8SA9* ztZJPZo_U56))uv~Wesd^VLJMKoIH3BuRi_=PyhDc;=$eD!|A<0!Sl;C8dk_dyiGAq zFd1%ySO=QUvVokoR=U&ZK!;;Hwv^}B5_l*O2Z&6b@6sb25u|SP$h(Y0n)tl%Mk*U? z96;=2@4&PeLuTQ0nN+z?4rgA1W3$=e`KwQHbueM|=qAb``Ip+&i)V#LjI}1*h`D73 zw}kpWDidp{xU$xjpHpNi)C74)15%)S3i*k}b_|c{bR@+rBXe*hM&u~RXPs9-1%qNk z>NM4h&lutP4x~29&u&b38{`D#$(X#O?^9bQHM$%v8iGwpTfB7EXarH@e3wcz>(u9# z{EJ;&Bb~JWovC+*$>DH9o*qHu>NwyN8w87@%I3 z%7_^T;pf&2`^ZGli9^S_0^fXIPVAgp-8!lx>OAi$2 z1@8enKP-h*Y;Q2DnjVaTcSaa0qv0aRaE9k8 zEyIA*fLOws9<(XB-1)GBDgXcq5=lfsRAO%0?}$|omRUuXIJMcY(Ol>}4x8Zxu04>)mB2EQ=Dvu%|dV3KOl6SIv+fXZpiR6iJVz zdl)g6$V)ib&UkhH4PIVcV0!lytD`NjnE2s zD3`p~bTV_*=+$Xe^XI^KWk6UKC=zKt_ekvnp|J$rXH7P1x!pZvM2TcQ%|pmIUs>#Cry7l(gHz2mtpr`U;1!+dX-skxBZLf$NoRBQ@Uw z-;KtCP&V(`wq}^p!{E;KOrxbG)PDzn70$nF`22rg;pCy=?hn>@xh;6JYiK)0#amJx z%x6SZCl)Z%qK4GkKl02`J0ZVA%3!9iJQ&Mv`H%-ZjJ-db_suwGw}Q0!B{_`=BFluy z9HY^b4*If%qZg#oP>bXE5U4oA)3e90`zKi6d2y~F(Jt0iWm4#doHDhwf4!E@@?1)Ih1(3feT;Ur!O_tP z{P9=#hhO|Pj_q&o;KM)18{ER1-8xD>B)d4zOyFXz^W2t67)wuc|EC6L*Vbla0PF5X-HVty@ztuambJ?ov1>^5-wKlxzTX03DDdSc15FCe1rwk<71McDTW`DjI)YkrWGBUHtf;oK1~q?P&h^nN>YNGrLhd_ zHSa#Rj#PN`1+c!YOd3LFuFoD>v~&@dyj**G#?Tk48%H=hUX&IvaN{5^oE^O6Oj+qh z#*j*VEmxxL)oKFK+m{}~JaTKJ(W;m}5OTJldpyk-ISc?&v5wUXIeIB+8uHUpIXSWS zJ%;v37*iinWqjGZ#@QDQFTT3K-5(U(eQ$-c>Nwxc(JHJB2{f**^mABHt(P7+VKyCf z3@?j>p;){c_+tBwVpghm{%I$#HbB!?Rak;qtg*dUPMy#;Q2nHUCsPlVEJ-2vypH_OgQk*sl1VbjhT(b(PxRueX_v8(y(oLCi-MWmIzAt6n z{{{^GkOEn=QTsX4a(cfS1Du{^C|P+IT*59yTkA02xbM7|-pg7~Et}R`21X1bYxEKU zG0SqJZe+^HLH-Nq)(2SJ)7wi#W&br86FCku*a{JYYX)0cG@U=%;^g*STz&Ql{{Gkh z8Mlw$!R>c{j2D+%T(%XQ24RYoW&>T8y~n;~EXynUIt{{5p1yccHk?SjqjXdle15f_ z%p*v6EKSOcSv_6*%kPbBP+T4g$CqA76mM*|4HI7B`PEa*M-$fXK7=2zk8~-~afop~ zSTuzZAIF}`AXLV`XT4%GyhgbeVuLnIc_`}0VaiW+G#V;fGUO5y@Z z0i96#dg|!0xwR-Zvp@<{68NaI8hOZ}p6=>DpynP%r^Kln^!yRqGOqd5xua)pDfPU= z7RuC$A*lmg1a>Q|6+HfEhxO-|xckF`qdNu9uYjxBQJPa3MdnsP)C0x54CG)fdJ<9bo)Nm+(IGoH`h#ju== z%u3`vN24K0ZVus01P|$P@p}qaKuK`1z>77Cu0SP|#w4sn#|aFm#?%a$ECd89u-XFK zHP**R*gSj(XCMCp-~G*B;GK8>7zd}nk5`u~T(LfMIDJqvz`l{P`1CFB=_MKnZ)-TR z%n3&(xmhaHWtX76eI019BN&!t%j5n4-AEcn6wf1U33C){SWk}aX2#j;&vAA%p**;S z_3;+-RA8%u*>yUPCFF}C=_(B@WqkXvcV)SLNcV*DkHIo0SD^R_b+ML(Zf8+qp@+3CqYp|K6J`&5;J9(5(lFh1FHBptVI@s zp)i>=QOJRpGU2j|Hp1J4v>VXRIYsiJ3|SxU)8H_b>o~ICKtRnba~tFshWj=0)0D~( z$kcaj(|)`oJ8zM~1?`y`s!y0-17H613Wv9Mxbr(JoZm3KJU8s-ZmotOi6ZFqvVh)& zWf32tqSLUNl9M8pI!CAG(H?GnMZtVE!!ZSO0j%eYxwY9A%#sQe5`d;XO{Ps{X7U7R zJxjw`Sf5jwaeM@Ldx~$*pTq7RV>-D7J6^-5;W-u-lcS}EktHeO_hFs8Cjlk^t5eV% zFi8*WbwyZ4OOZi%s-i`Lf|!ifyAbiK=wvGJ8X4l3*z_jr0F_u6#)+E>E6{ocJ=$)R5ND8;@ zh-fjMYlA!>dZS|u$D03+E=nGSm7ye`kQp5&_YtaPxlY`Oxi!^+d5G_#%PiZw-~R&@ Wb$aOPn8-H(0000f}!+@KTbZ%0NKCr9eO++E5Vx&6rLcef`&gxd=k(Kv-{csm#M*EGFhmtZ9_}L{5i=!fG&M&{B?2 zA`$(@;!v!Ff>6ckZQ8NgH5H%mfE|y!yXsVd)q22PZ)=#k3~%aO(5heGMULOAzEA94 zODpdS#fl&!3--SU2V^AVexwJ0AQCVO1oQOAC$Vj!flW7p&KhRGTHV$ixS?@`lpp!w zo*>Xn0Oo4Uk_U{2e1D8#lR??&KM45g)_fT-+c(_MRbTqyYJOB?Sz1W+Ha1IsPo_Zk z7vDD*tyq>j8#zmJou|`Z4Al>Z?7&ISSUYQo)wsGT&c1IC435O^g1;B9SJ-2W05@=^ z``xL3a%-y8t;nPWEv_F7%f_E_z49(zWpJ21kYe}Bi7`^Gg)m=P4UILmML zXDPf&#YF4at3tr(O@sEeiWc}D#@+LrU#}iUL_ZJ*KcIK+%Wiz9LVZfdjMgGEx)!A6Zz^#2Gks)l`0_@}&cEaa;s2N)?ploeKiqub%++}vn&vd3!nF_g>0o#7 z`D|Zoi3?tJFePa;*wf}R)?o2vNNU1N7~vle-|}Qemd@r6^+63nWs$JZY^cb9VwvKv zXm>R63Ak%F*4RS6VjM!qHF?M_j#@&A*K&NGvM=tdN2t7Q?T)+WBAfnr+}qtti$*7V5GIYrH=^IH9`s&Raj(YnOXhs4M3%gml{}NEP+NA@+NS z!aH~(&GyH#L`Fn0tKmG7jb<&{(=86uXeb3CB1p~ccdHKPX%XeNJ%|UUwlg*{GG77!BhT}6r6{` z7zDM4J1c&hNhqqK5m7}pRuT|q{<4=}?0;KN{>{krx{e)=r?j#(0qeIHBN-dmc@9kz zoPN^lTY*!bg9Cx}k6!SvEENo0Y)&uaob>A-R|}ms8dU5oHGoeMmucn;7~4;LzawqU z<_o4+{L~1>D?&+&gbEg!IMj%@^k4av1gbG)VIh(CX8zU3Lgr_t(6)+yGxJ=l9eQ|; z)fQGM&RD5h{1)FhCNSvPw+-QMor^C>68f5h1<^=DCX|FOkREU29$ghFw7akMywBtj zIvX8LVeg~o2OVz(a6w}UFj$ctWn!AMlC&b!!w?#A*bKzV-~u`2vtM!NAB6GP;m*R2O^6a3_d4`i=4?@>vX76`>1z z5DuKHN*}v--E>68w6AUPTZ1plp0nl+@$&=0uqQT`jSOd(Z&#aFtu1F=)9ias4?+rO zAyAf!Dg;avrK1C8?amvVPB5jY^?d>+S+FRLU~MHMDY<&fXsyyYuHF8`H(VAvg#$<^fT1@PK7cH3y$@1zp6 ze!A))%RRa^5{0F!g7}1FWaD%LaUE;-o!5Hih9*0Pgn-77g#;E zEkcQX^`w_Z93rvil0oNbW~ydzxDb4MV7OQ`Qz1E!6IJl;E<42fl=hS6aC)=j%KMu# zN#tcSy>a>$rW>^&(&U<(bX5W2f{hqVL~70`bxc(a7uDD~!W$n!#I3#US8u;hHYEK^ z`AR(M4n@t2mF@R0tigKFeB9$%H?F-*`*Y08KkCZ@n@|&RtW)Ew)FjHyUQs{n$+5};8C{n7Y#BX8QeSY&oQk%LCazU&evf#69>;sFx|@j)N1jf8NK<((Df)zL7a}+R<8~% z!44F(RakhS8D>02#|fDtX`|M??dY?DOLhhrVKX@wOB!iV81^JRtBW=uQYR6IGo$bY ze(Q|vx04ZbPon{q)xtk3|(yrW9pIv-003tUMQ zP}5?IGBt&-gU(28P0WZ^iaE+|XsS`MF)O-d7J@%8ebR4B_s@@QlDIZ(5s}`CW{7rx z$-N>}W|GeYW6G&ix3<6r%B_ebw;hbji32rq!^G9+uKa#tAwK+M54VlicrU-pF%&jm zKE48{4j|_cYiUbi%N4EphO@l#<^4elPLB4u-VbyLeQ^YK(wi=ae`8)ttIm)cHe2NA zkZeyJB{6>@iNh%MAftBk0ucp;5fJCl{k1J{6-COhn4GnhwudP}uvdm8(9$3OkXysV zR?%LGgHD8DI{ys%cF^94nf%M__4ZFEgKL9H3S(_nQGDW9^t!|%1xBRxv^M_R+B8Yv zXrFkj&u6jWnBTq)zJR;ac|j5ijghwY4riWDESq?g?wbc?k^_CW{O##bncTcvJ|z=| zxntkK^HB5bo^%?EU&*HeoL0oksV<6Z&d7}YPazvmvd&F7P6h*xMJ>++729rrD_C32 z2H(>B4r4h~9l5R?q{XpsIN*;Ye=?>-D2#BkI=;wu{{&Ye9Uiad!~4%GH$|7{`s$RvT zaug%w8}2qC*c03LJ1IQ!2R{|k-z=TI)sNz1XTo5@z1^XAvOT~9^}Lh4jTzMTnfMfD zg;E-@dLt#c`_0kn+1TI`bZ9SKhe>Bxy(3KigN_cnOHJ8Xs~J#Xd*C(7UThy$*4Zmr zie0-UQL^@St?_{T1zRZ)W;b`!Hp?Ppny(->PhLRMw9<^#eEg)ABxAx1zkoHWgajev zBvvMulkp*6`u=31kJJI;s_rp&3sc7mWD+V1v;S7&~1yYpe&9efX=>(t%>Acb; z{Lx(Deo`*~&B`=FTxY=f!5*)6)78InyB82nY>VRvg4o#mYi+tl*7Nfo{$T9^Edj0LQ z!4r6%HMZH^UCsPp_rU}_CmKcOja#A$rVwk0Li{AFV_q-<45)VDpC~Qv2OSfqgCnBIM5#qk!5ZU9aw7FgdYTX;Y5_Nr zN{0kPj3xVAQC^Y(c>9`Hx3(A$(bA4;rASAGf4;O}k{ZyeZxjT)e0)km*$c)wC=g*% zXQlY3jH@*3TgdF`7PI*dxcXK(oJ>v^$V2pa&L6L%yDza*=D3kGn9vjUI;(!$hz1OJ z@R6dJv3U$(l_`I2^<6xr4$?-^r5C;TiLSk8*rwUeWtWw#K^;cE8yJPF>jE}$(I5G0 zIl?v@OwW9OYPxF~{}L{$;J@ZQcTCl&h)Z3<+!VNtbfTgg=^`8Deb-ek7KhqGm#}}b zbgjuErV@>tHmhBKCP8jKajb?`VCfKz*{9pV5^?y(Y~V_w!9n!XifGm-=3_lR`&4!+ z@q`Czby!W|R=kvlS|EOIW{X;O+Q<(~s&F(5;E|TW%E?5Q+5}h44(CuJ{WJhpQ*FydEJ#}{_xe?NSBk(s`rQ4&TG8a*h=AA(w zptC!fx8sWIyO^oWTb7a^-IFM?TSMy$BSk45l0MH(0 zIwmmdR^D2>8-=*YShR5X@{jGKNo&PC7Y$2+K$xBtr&VJooSdT*@j;}qC_4yq3x>V* zi$15VZbzGe(>NVqSrfc|pupL}-Tn{~hH_gClmL#hwZP(k%Mw<{+eVrcW;E~mS=n9z z=zNb}%UT<@aS1O7w)=yiqnAB6^4mn!3JSQmSS~QfKt;=~e>AX-?IklPrMGy^H z{q!ix6VIB|+%X9gbvz^lH+0rUF@*x};}=5L9F1>=c)tUrMP}?r*IpM&svjNk>e0JG%;x^2j3-9 za`_If-D0QGQ;S6U|I+6+`w8}hbHrV^yeA8(G zu`pyYgMOG*sfWyMz8qmSJg95R7#6O9=lP%CEEN^V_Dq=F$Sy`YdC-RVMQa;p3Tla| zqOa=GUZhs-D<}YFxgG8p8m!!H&#}>bqrZxl;3-fv4l@14!vE$fAgGyWhQVPfGJ*uL z`Pl8fSg0H(no^m_N*>M&n3y1CfRx9{a7y{v+e1RFs0w@BO?tv!wA-D*Ul~S7sZ0+& zv#`Spk+tn?UsGWL*gR#3TrOu(!RWZy(@(OiT1F@?rT-BC&^@xvJ*%izH@+rGEWs)N zshJSb#xcOomzU2=Q}Go~6+hrk)Z~Zpq!>llD!Nbe)%9fAFt(lMoc{H@N#g>Y5BG44 zT>`uiOVnqm+f}kA0jUetM@qouqXn-FX;%J@%d}P_g)a7)_h?%&Q!q?yp|Swwa@9R3 z*I>`4znxtJoCKi}QYBYq*izx~7a0W2D8*v?{OQaLb6$2~AmjN32GN*t@Tn=Ym%?Qd z7m6&{j$>#WH^e9qsTqs~j3KeZF!qMr%^>=0j-IInkUjhjy`PL`Qo@u0V8^^Hbf)&v z+$7)_kQq2iR?`+~9Ze1hcNL-BM6Wj)4E+Rj_*!0Xy9V_%p|*m&3a!q-XX?(ba`H09 z)lzo(jNVdla=IE0SJDoef^eBHEbtZUrZ-O}QB7kGdV#(XW$?qUY_sjovYm`l+xV{o zQNf}5YXKNsQ4Wyb&6nCoO&wEKbu{sn7ymg-qNoN7QvzsEsotwAL+6Rv;{u>EIu{rL z7MFH0Uxy|jtD)K9D~llR!-^qG*m3hRb<|3-r!cc!RHF2h=p+ADI+3E(QgT?R#M4tu zGdZy6&Xgr5Jc|frABg^l#A5Lm>^0J=hWNR5ur?_>W#NzlNHY-tnP}1?} zpgEKFvbbu@*EhSwwz11SzOU{Yzcr?i>6WkQ1`Q-Q8`g&KUl^^%2vgQ-mcakRx7aI$ zt4j?>(jG(FQ>ZbOyBER4T?nEw8(!6q>UaTu|I~&Myyeh1%^H;3LHaMBrW2G6DkS%- z#=3N!;hHW<<-d^^qW1Xxr{!H=P(Rt;JR8vA0nU*zj4oO5I={}LC%Ja#jNrN+W{gl8 z5fL=p1M|*x+`Uwex=>5Gc%J7}*LVP0T!3OJun^(ujj8G=V#+=5LAbJQ<8Vf$VUPp1l z^}s9COn^B&%ZS}1yH=4`H+9uuFLMj3-@bsmNmBD0!>=l)+M+zD)kviisOc7P22mk) z9-Rd>)yz8Gc|Q*0fhZRygp^ib`8*kg&s1S5wqtE$#Yrki(kwHYXLC!_0F%b_U^1uN zNbaJjvdwY2N&L0KXr4@2OE&N2ME4{|GLu1@n&!ZaSk!JtjhT#D_8Kx{tJ{ew6p5K^ zT7~|?Wp8Zyi2|JA$EWR0t`YL>L387$!TDVr`I0&MgG;AR+{%y)7B6Y=--jBh{|PB- z+5&{Kye3txcVtHAcD`X;kkUQ4+`3*^%`8{)!EcGk_V_BnC>^c}^h93EdunqiqHxt~ zO&NH^;gtWDNiX61k@ju<^rk2AsGQM>u*dhdbCBUA6~G!FO@^f0sL5a&GwUfJs%D#) zm}(J1L#qDaP=9&!o@`;$x_q_AdNou$r!aS7H$?+IkPET}kkH02T72puWJ+rUk3VyJ z#5yA?&j0#Ll${|Uvmp}^H;_HY$A`-18pbrn+Rl^aHO2~NQG7{?7rA9@OJ^FaemhAc zXv!$ae2MmG?2I_O!9Z+~xs+E>FSX`sZ=bv6y~xj}PFULv%l@s8ivC@1N||@&lP$IN?5n=-XD(&l(ju7!Z=$l@0Voz^4K@yi;hc z102j!%l|q;wRN@Z)8`Vc>Np-cqIIvS4gi@4AfUL-k4uoqvY`I3WY5N6~I< zawU={=(Y%k32wa>s6I$ouNvdQxFn5gs4Bi?-+Z*G37*3RZUY-vfuwKnwk*L|F0Hr` z4=EN#-@rEABLIH_t1!D_WqzbbN-$?&jA>wGmwQ*4cqdvQ^16es1=XID+!9?<-Vdl9 z5BN)gX1EI-tzu~YdaUY<2DQVgDh`ep^O&^Jo>3Pu%;iGx$Ulgm_|@75$Qc%W8ddGa zSdT?z#{|_PNjr<`J`0c}qtnPWPQSRdPdPC|zctv&pWgD8t zXyQFYMlsQK1Lh>v%94R-+E%VqT|`LgTa>;RlNG%dt$Z0DwK^ah;Qbs+?U8I94D=== zs_#yxiLAP+7K`oXmW5VXoUHINv#r)Dw5hU#k&|>YY4{BUw2wliMB^fnn(#e8E}~hg zw7qTIk8^E&BlJMI3VOy+2k#kZCVD-IgUQ)KB%}os6Ks8%4luyl7S$S~ySu|DpeDcLSmWk~FrkJ! zBKK?$pR?>Ft%Ii>Iv?U8PprXTraJ#-z>gB6C9ZRWo7(C+c&Rk3&%Cd95`ERV)TM+( z^FeL+)=ZkXH7(rvQ5+Fz`3M>wkA02k*uCN0|NesDE01Gnh?KVsdTnl0)G=%L&8MnT zLSCp_ovNW!U`^dh6UUSfG0m8KRPd~{Qw(7OL!=55h6$w7^}Au!KFc`9CztK8 z=VMOPdkv1Kenc`d2?(#}om|q)-T>lm(SCnR!`oR`?Z7z@i9>!J;-#k#r4;RjeWk~Cc)(?m zdX-1n#1~txc5wj(s(M>2!~6F%S}Cw!(#fKkzC6eIXM2zkP;4FgL}xGE|VdI<}z~RI#s=VAY@9sTCX~c zK;af703~DU5v5t_1$w1|4~^Edn@1-JvqwUWTBD%tTjSr1r~>o)Br?o7Ik-j)MW(O0 zX1b{_9jv^FmKv~~vmhQ`5`HB!0hdTb#~-RyKFzDfwZ5JU--bNHyW;u|;~atfgUa#N z5~MkD6#I>Giw|D*jxQ2AZboDQ$Uf6(DiqwzXW zt=I7M!Rg{t{_>}CCKT*%+o=?CzPDtnb?k&&H{UiAFIQ%<3;%Q~W8)kgL26|n;ouJ1 zS;2-2<>Wk#FK_Kv8sDB`zOn>r3*M&W9@A+c;Y*T7c9?ae8JoASOL$9EReLkWPFbBP ztkH(|PBIIhAWAW!Xy03CsM2ANyq_CvL-A^Ub4~cGIMq9WHSX^0iy9u?H zEPK#1UVOI50a_tc@ep9l4N~k(N;M-auiME!K~4>VouzQqw@}y+j=!6q{9n};fL^C?U5sMG7^IJzl>WfBCzcoAoLmHYpzEQbdfP`d2njvy5d4+_- zDc=iro&0NR>G*lWk1Ic~|GyRho3@hPL!*TF0Qb9$+eKWK3rni2EpOwCbJ8$sQdUiIIC zfx}0bDq1ciuKRRi$Y9X6fC#<)?W*HInMs_gVJZ$pB_ku&E=PnQ<@_Z`W26ntPBIBC z#uZ``U3!Q!ib*^Li31Ko>T%3{+`PuRc9EP4(z67(F{!D=F*)D`LVou~9a1WGX# zG>i8zEW_o8`O)woYE+1Gwg{$%Fk88g7AGzu0ODYunl+$I`I{*k?VX8`uCP?+`l5dHUJJem*peb1+P zRL3s5HFnDemwWTuiU|BkA|H;wPUOqIdldPhlPIN-c8PEdXsBTMY6Yqhajf&3oJwjv z8z*GDh%zTdmKdWOB>$LVk&9O znfdA}KdbWGV7OVGvqpq(ANH5T1Bxl9=jBYf6Z*||iIE-$J;$cJzO=u$ViC5qmUzRJUY8cLq=yAf zdDf%`O)}ySk0OvIPYw~w*kgB@#lg$De#@Vr!wj59t${Zrh*f7|V5%9sjME@Qji}K~ zF&Z`X^cK!Z?R`D$&}uf_e~}!d@-^D>r-9<|t*+P6fl(SgWc)>^Z-%{VtR<;qMa-5T zoLuM#=cEODUhSPhLeGLUEzFP}} z_0QQ^W(s9T6e@2r2-1J+4iGlsGrZuav4ecqclmDDmrT=8zBM3%poo+ zVN8p>TQ#1&u;50LUwn^N}K~rv=Jw7d}Is`Bk z1v0)R+S9JOX$CXuzeIwWx__lqh~V2g!7wU+ z?-ah?ibb0;Jr=ik>0{!tdu0tS@nFEn?P(JHlkPx;lk4P{10h-~!QNB`#BQWCoP<7Z zj#1s&3{@DL3S|=vd$)epAF`t(Kj?2@THMZL|?P`JgorgWI_b?}KK>sZlr^{6qO|lbbHbDb2dxFkobK06B&t8UD_}47Lwi=|JGge#x*XO9|uhh=d9Pal__J;jO4B z4x?PV1gVEE%`ql!CVV+#)-Se^!nb*R9QE1qJCK4XSrut{w02fhrMKt>?(VjSrX`w{Rk zpB|?^MpIgNl#=klr}8NHJRjM0@5z>-8=^9CT3F9%nvycKjw%#2CqJH$_kAFqlUzHt zp>oAA?LhXhe04ny%CX85>|Pe?(&t)ci|jm`Q&X3X=C*J_*>%%m!J|a&d*$YhNl76w zQRh3vQPXrWB2?#mjxb8KaTW9!Io{%q#Es60#*%Us2)Ho0%@i#884#z`31Bt&kclyd zAKK*pJm`;c;5(l^I13LhCji1V^tE_Koe(~vq8^d*0Q-1E)SCQzZ`$?Eu&hoQ+-(Oh zR&JKU|JYyL}=%`XHF+TAu|!rKWv45tPvmzwO{?YS#IR#kS zY(u{9*+vu+xw2YeRD;=r+ue{lr$m#?Q)H=MN_;FvfrbS)Gu~x8Nc8-xae6JW1_mFr zFVV9psp&9yIK33eVe6d%aTNHKT-1tVm+rAln!ieR`9c>7ve+Q?)s?E}A}H;~`;9f_ zUuQc{v-x~0AeTEvrEp@uNNOoANe;)W}{ zaKvve<(vs5#r0BEur^Q=*N7G_o_rxl>|*SLCmvMY4yVsIL3!4?d2rbxo*C`;F^=R3 zd>=dI^{l#K6WPj2v8U^Vj9uF1^^>k zqJt^Ni6bKMb5}MoIk9wnL4!%ZZ z-$Z;dMw@J_JMdHLbLNrUG9>2P3^Bh5b7Xux5Oc!^1V80Xuzn+*Mo557?RDR}Rljk* zv)tgaW!nAy#XqF)bu*5n=*XDA?qVzXh47<+npJVQj2a%W@JIexcBKENEOl~kvRMYW!;kc#hB_`?%_ZV z9NWC@O7Lq*6W_(q#<)wV4^Oh1Tf=M9DAT-W6p@A2@)b!@t+r$1hLB4aHuAnI@MR=_ zX3y0x}8cdB@@Q%5j| z2y7l3&6?0)KjQclk(9VvYlOH87MIpyt?J6V?BgVD5+0DAARpPN@WsJN+BctRNdVHL zTaYtt@7<_Or%>uy9vuC^dm9Z8MXU-32Z9GqI0pDGw#kHz!y&S8AX!lDTLqf1qA1?= z`qs&a_Ore$a8zBHERpTe_w%I$=IyGt#dYG3zOKK|Zz*97AHhy@y*?=Gb)aYzR>acctp> z>)YnCw<`p~(KvVp4p(3+PO9K!qGCV)1L&TbB+V*aA)cP651OFq^`rKu|SGDxSUKIAa0LnOfMsIIzYPvu-s@XJ}|fuoQ4MXKPI= zd?;Gfcxw;AFCfOKmvKU<(ms0nR;i?{xJg_uS*<4Qm&bnUx}!YS;ZoJIMS~`Pu?7wr zqLO5@C{%*kiv3zPM6(s_q6hdBcYUAe#Q)BkG)0v*OnQ|vvS^D=?+ePsG*>nRh0O!K zhPJ@@+}H^PYQbc_U|CrjK{!hDveWiUeMMTafywl8RXsFvFm5}t*ZseGg+cy^Y|NHd zl;r&$u$r)hg64Cvr4>a+-3Q}MBA4mk?twTk^%{+Yu>otZo9O{dG!u17w{vTo>18I; z2@3J;Ax_>9nzMLLCj|MOc9`e97m=Gq%BBU+0^TyA6XDZV>TQ!3y+JuTFA>TDB&MJ_ zgP)qrl>^8J(T*u;dhzkbUgfPu$Lb$FsXIyrGovrp9|&(Skk(n@sbHirq7&%GBI5Mt z`ml$z$GnF}pj@GNh<0GDI#`EQ?5|9LdMZhO3S$f|M6O< z-o}~?&C}oW)>9scTC6&XWyTD@3UVz^r_(wAZeXhs+#vEd`%3(U)q$C3hM7W;LDocUjO!Jt>W~?ZSl-4-y|c!sUN%(6Twe4)0eV z0`y<9`H`Oki-S<85CNRb;=@BJJUoL1Sn2E=ZLzapno@x%Gnsrpi`rOOMZt0IR*Y`u29s(*^jj)rc_FGOhfRRf)q}h+2~h z&U^8D(Ra(5oq@-`q%S|7^2+)}qqrO!2oJG$s8ck2)6{zKFCoIPbF8UtPol~GK!vPE zjbXMa68O0X!w6S6^2XkH)*OSbxxw_Nk4PVtFBkLZtJ-eMWBsKNa+y}C@w0wxk)mZW zf#Bwba=-<(yiq&RD7f6w{yKb?z&CWF> zhjw$Hm|}f0*`=Pw>**?0A-UsZMzJ$2z=_54KCi&z2I}vDfe#bpXL|edIHaemi|aJA zwq-#mhW2?RF|tvMw#(TCpZ|e?7qY-->E~N1hk!JXS1u2DAV?Cs5w=Hbnb3R z2=OGzIvy1kVVpXA+FeTgeG=^y{(m;6tUBjU+bFX{^xjV`1W>~qCB zyh*7mqZxC=BRu`Xyt%x$LxrAP0N>YqVGPFqOyEZ_HOIxnb9QwdFOm7wSnX}gYEl4a zv=b5m(6ks8ZwvCla%hp|{^ZEgJWlBZgq%>Nsvq#!4!L*`oJQ;4Q~B=u-F<7${Qd{R ze@GC7*yg?Wf9_5N+~;h)RS0;YI%o-mVwe%B2I~!w-&hV4m6bqCt3a2LqRrVhpO2gs z@K&lfw0!ANQ(>uG0h_T`f%a0%ryulMUI}k+Gc2MnmpAj4VhZ&sOCR;|#ZXXszbpCg z%j8eKOYq+_<-Pvr_5a-)EjQp8`S!iKt06j`(^(s@*qkz{QI~Z#C#vu+%Gpda{`_BZ zV)I0x^Fk~c5frvwfcRWRY(0p~+ZYq(EJh`9BHNF(V_2g-)fQM_ejcVlzfJNNu*Ds* zErM?bLvOl{yjOPg|2yi(dP272=op6YSHBR8U>fI{GV6Mi907%ud^$cfeq1XRROe`NG&IH^J&nV?!Qq0zgMkAF`vD!EhU(a>DZ7p!x z5W$;smEG%qab#K0C!G~v{|&3Jllsj>CTtXGGISY{&wJrb>tTgul<4sWyrkf)ynuP4@@V z;!|mn);Xz~WGi@B`BVC%V0s9MwWmp*#%56ToP?&sWy}9~*gS8*lsU6LD&kHKZ>1d< zmPx>EIdf!CBd)B-gkbPLmUWhn+rBd5qfA-}YLe{Q5ihc1)Fw(- z75Qs7e_3k{yULbHwgOoRr{QNxVXPzMB|a12;Sh^7#nvcHbu60Psa-QY%3(A}%hgl? zr_GBo{4Z!>^-M@t2G;SQ@03awTE_*flczkbp3ik4otK8U(#+=PwlqtOqg{?F4a&~a zwez%&XMS2&hMb;7S9x1%=D0-}!-R=h8c#y{R)wwKJiKqE?385wj}2?MnMO~z5!Qf| zn2o8~}e+Cq9QQYGE&6#vg#6yvyJt zxXw|F_{t<%{hx|qlPm!-dgfZ&JaF8D6o%CdVl8m~P~o(s*%$O9#tq|SRi8c(tbPv4 zOr?n;#6oFMx8$PXgG`wadE3_2qj)*~2^OA2K(zjDQj`|P*zu-RXx*v*f8?npLV*`; z(Qd(2j?7WX{yH{dsXhq|5E*+g$;98ntRDWn)KWk+Yo7T=D|mSl>I59Y(4vXwCMIj# zg3j)FE?%^oUm&>>Z7CP;V#72x&i@or@3Kg!NTckp{`IT!?*5%aOrK09v58TVB_nqmcJJK_M8*0jn#}&-!s!u9 z9GR%*+8;6cKSl3s9alYiHV&p5^iGX~29Pj<8ix=ERR_9x5j3=NUZ`s~Qxk8_j{p~$ z*L-EF;aOx;c49CTMYtD#)ryuo@ZN1qhPs@Tx>&FBdkQeGGi)KE7^p4^6L9%mc?1YJ z_)q17+NM!AHsz0K_-+IY({b!QD;fM+{JzXR{q|n&)o$1Ul;YB z3d8ypCN?LmAg7@YkeJ$Wz7hkuq9913GIWvwAx%T4vk1r*is4hMNP1Db7PR72RXa3t zuBzMKCjf;VQcm@W@Y&vhDa8vDASbetbk1nwc^zC-UuSy28MObW-Q<3kPXd`Q-ZKW> zH~RiZZ2{>VeJ6A84LO3_v3$`=iWL3-j@{4zhUmv3Oc7zfsGf+-J%#cyj5*2Hwoz+VR4>L z>#D*!ZXX}DZ7jJZ6FszBM6)?Gkm!0-z88-Bx7(6R-wO?2bb~Li{Go#dBaugx6~zj+(b?hlTD?EKFWgVTcW-I)rNGSA0ckNcaw`P!m7ASaTo!kLvFc4F_1^xyMK(hi0#~72TG?b7M%AwfZm#-#dUi@FxL}R z2fIQ8{asCvc_L_@Hh(!9-Qhzfy62FE>RqU}(W|;Tfd7Mrf9i|($kJ_RbQ$lvylU#* z&j7(eASA(Y6aNuQdvidf!SBu9$>IJ@0$E?5UHZH!}YxGhoCe?;Vc+Vq@+wkKohdYv5{ce8+!UGBRs(n(5s^{q8MUV1N2zN%yx};lQzH$|zg$;p_(JIS@| z;1?6us(fYe(BD)MkYPnXW$^g9lPOvj7`|2Y*y?P%io?h4KJ#z4;FZ|?S1jC~tDf$s zmcCK=w!M*wuKbx)E925sWte}%|5RFuj*onZFXSr1Kd9?i7lAUM6o-Rmb^lPI4u6o;h~_9v1?vM(J$=NbhyRmvUoTT(Vey5x3)c; z+xX{Z=fCK>J9MVfus2M^AypVwQ}jiMrnaR@B2Er@<(W&%e!hwnhs|);h>_7fdtQh! z`0`sQbP0PtMC*^M+<8wze*avklmU5O?7hkM9zO{bB%Plw)jOhOyVD#kVd z3j8=gTj#mU}u+K0VBklS^D{ z{hDROb%94Dnem2Mi<9VE;FW)0p?kiE{xSDEu=l^`>b<@%0HBfw*Pp%j_{VofBY>=G zC49DnH*e3Ev+q;!eTB!q3;yrgf7E~53b=}H74{;y+^m$giJg0UPQS;>|3R_ue1Q0g z5BUCd+yh0Vjk-Y1=>5$jpeuPks%wY*TlX2}aM=5KclLSfMOOC}c;^*#XDL#}<)%fy zW1{RbQgSFA!5JQD9t!d&`8*%ejv0HT3TS;u#^)15^Sp%o z4#da)9<=xBQvPfi|F4SY4$g0c!}o3a(*=V+GUCsPNDjYSQr*v|!B588Pej1e!R{3P zk;l-Ug3rKH$9JpF`%_zQtiyZl-5J-MFN8x6;O497_oMG4VeKbbzzrj`5D~*$I~}Q$Mrvdw=o*qZfx7Ov9WElv2Ckq(Ac(Z z+l_5J+kU>kXV1wWyLh{>NLMtL?yYw?+9UJHCu9|D&AFqqWX(zfUsy z!=1r+qN9i6x&2KgFCyq1?2)j4gLo z{`)CEk7xNC;OF;4XPppH;-vS}y59IwlD~3ZY7R|A!Z&Rzp6x=n zB!eGuKN-NKm*Ufv}?4R4XgKbF`+aXW8a+8Ga+ZNkajKovhti02Zxgi z#W{c*R7E2b+DV-$;wAKZaX4d}<%|A$uMp;=oT0a?LY}t=_PX0{K+7LZ`fYQ&SYa?Y zg`iW)uh~s)!+!@CDu1x&eo+cXGoikXc(g zT#%M&(%gxXf`|bokvHg!f``N4qWnC}!WrFiEDjqhCXZ){%PoH(=(_g4Zr-3 z!*5T`%(>=aGn;ah_zih1HDsq*j0(Rh(bxsd(Eo~*RUky9FxXr~#q6pFRosw;Sce&@ zH2rH)Xp7@$A>FUAeiJNPE~aK9(y!$jMP{UB68f*>Z-xN0F51fyT?uLscDee*C5MM~ z*kztO-OYOpzuwJo)+PRT58R7#PLRWLJ8Wd_!X_5Ep8tUb=oVB2VXZ%3^0W}|f58rA z!4E`cn+mc!2%V!6b$|CQ7jq?B`gl!#Y+%mtle*Kpr_znzL8ORYpPA+|>}A&D<}R1p z7;QP7a(tTha=(JB+Ia!k9`xh6Iem$;0Y?$K;3TJ>viuMAu!__s7*;c&RgeYz{xXbe z9FY`9j9om#)-$inZgY^&&S-#sTcVw_rsCNx=tOO5H(zGx%NNp|l1LF`8Q)gR(UO9u zLsr%^+UHe{UCY%oIl|ri5pvq>ehJ|G4B6USPrNYn>5ImNF|Vg~w4)?CfhD&4SMX;1 z{93K^Co9G&FGkgjSk$90SqUAbfkqUBM!^-@akvs$^D-$dB$>4%?GM_aew|Mc6d_i9?;p@*OWZG z?zOLCi9NHo~3~@aQ7cIuRwG;*99<-kFrT2AtBOr7fz-95&jQt_!59}+g ziJv#yp`gq7UqxS7!iepeo8b{d(c@4Kk)-<}Rm-(N^*KKaop2bf4cbb6SC{q!>fivb zaC$+c1I?p=N^6^u4L%IfLh;9`>=Vm;NonXGZ9%N^>klt(>cuv8hl|!!`>SqlkK$>rc$bAV?#BZ2<^$ui{d!Q;w`3Ju@^OB5MWK5N{TOSP*rJZF(!*vtl#tyRhc z4o5E)r8-8X%XkTx&j7_gp;&{OW4)x~V>=-6+%7FcFjwl@;)29#P=p%9_wtfAcnopU z_T2WR>wI>}YTJ`rES7hwrzrYogjTUKCs|~(!Wq5slBBv1u5jeTg>La>GbhmgrLIK_ zyB*e)NavB|9@(c7^}P#Q0-hDBRPMj`FgdH!okj}VhYhnCs!D*nYmUar%QWY zz{ur!q9^)}p1QfWq~?TOe+9;l;r{b5w0B4epckHniz;-2d#^~wP6~jaM`K5_#h;>F zVU||)F5U@uDl?;6Il24czeNsMaR~QT%30TGDCJ>bOfhJwX$X(7jFO<2GGJ60p zPnom0?r~%AJ=4TL?_&Aj>)QUab#bA9`}LVGwh~lPpm=h8ol6GGdADcP4*4<7_Wij> z`ER4NCuvt|dsI7cNbl;P@n(O#O5J>Iu*j`FxNJhcI80y<=^o=6@WVaQ$Wv*z1R$fF zg|MD(;Bb2U!6N7@)%g!fx>jHnqo~(u{~1Vllj-aEtOD1u5z9zlhE{l94&$kt1_67g z?d;8XHWoS z`<{yMpe1CgKE#c9(`bGQ|Aw2N+ZQ5?PhMThh z&U3}NX;u99n^#O~w8tc-+q3n(@sH3gK?& z_J^;#hn)Z?Xc9ObK&(5OiThf&(kd23rB}{HHxS?Ue73gg{+|=+@;tF;YkUjk3D*7< z!$~-)DpjvDB?wMf*>I=%cK;=3__C;Q7R=#F=(O6_!WVu{Hqq|$$o9{R{2jdH=QJ-q};ZHh#@xp(aMGJbA<>pLQluadOEgX0_TxlQXbd$VThvVD{-u&b(G_1)Ov;OM;T!J%g zJY0_KZ-(?QC%ST;0wO-M>keSwn=ihsdLC>;62&M&Dyl0{X+9=V{yhGSYatevv<{G% z$5o}6NsfTem_(C@WF{4w`t28uUYX-x$b5X&>wPj{_P;YrQtc!Xwf)s3j37RZej2g4R1fDB8zvMHS*pdi4cY)L)(1nc96L&$oi)am4Z@`1xmcl zJX1GBVcN>Zp%CD|grOLwET#M}VTNBzBRrMW(d2Qy)tgg?N=!_BTLZ9F;}!pZH`r$0{+Tv zCEU}k`L3lROR^NhjAyBci(J3Xr&92Jfq?o1$nC|dqHMter?lDie-SB8s-*<{sz=xX zjS?QK|Fj$QD zbY(|4_RZq-L5CB=1&Cg;3TK*qQ;q;b8Q%lQ^JP$#9$V+6WXfruiY5AFCcu9IAcHs@ zS4q6o1*+La-gr#;CS=ng$WvsIl-O)H`mw#INiy%cKUSVNlS?2`WK%LrYi%8rYM?H7 z@%HiranZ@$J&P~R=ce{uf#UaU#&e4;3ETf1!$XN@mKr3~pO&9JeneZ+9=c>gO8I=* zNBD|XyP-J<9S@@{U7z=1^IJ)>h%Va)|lYzWP613IlL zF^2Uc%R2rx`k$jH9P$5^U%ZU_%eKW}Wx?vo5;l09C_~2Ie(<=-XdNbSMP+>runo@m zBBF8d)!+0`JRf$vQKxF(=!QVnoen0Pgt4~|rr%?ol*k{R(OGO}>9(tJ6attDj7E>R1o7g;K@hJ~U76{6hGjK}#x~ zhJHln1#-1Oo$!3m)87N9MHB??Ng}c;t=9EaP$id!R46|=T!|4Zw@hL&bS)4WD`?h; zOteH=(slZyQdX?EF7n-o$;hnO0B5K7**X$`%K{{F=wI938E!U@XSaJf$XDIAR1}Bk zIKMM&G#!db9Bi^XMrkSt)M#@Vz-+T02d?JJ65M8t^~xL$QphvodJ?Fj%wH!tI}j<~ z50IZ<@iS$K+Titz3yd5*go;CdHy=P-K_2?2->rj^yYpI0$YnE$y^Z^dtH_@lQO+9qx` zY7w%_Vyj)F}aUqDM5`rg4+z~ z0<+|Q`k9dr)$AcP)b7=+4gp6l0mg$X_C=fR{$fe7At0-5_aqv(T(0{5R4ry?{+2f- zobJa;*_1+ymLjgzAtG;;o@4z+DN6651c#p_C>{RN2zIgMuXzFw@3jB5-Sgx^xURo)EQe-#)hE4?la0E^p3HHqI-2FPj>$+> zO}AQ1kqW)=Q3bP8Nu2TVhCcW&T1Eob(`Xc2NdYquTX=9b7R@VqnDNnh5SFF{eEfM` z6xdIGFFSlQb=9JGza_rM&5YknQz%#xL5RU&U%~tdOU}PQg&}`ESP-khsZm^mHqQrd zvw5dnrDz-_WV?xAY7by4DH%o#lM#fL92OwFRgj!;ncD2)f3Tmd7|kmC+5djkqO!q! z)-lz>ZnmIxsyXF&nO#E-7P%Arly%Qk*}SOy{4K+fSWRqLKpH1aWrZPkQDWCHbdXZ` zE`e}r6Ng?AEJY1-y*uph%O4aa&80I7s&=RaWQ|tHB8jweB$s!*<$FroHV=8l$jiG2 zUv}jN9l<*@K9gW}yhft6}z^_hpORK!!IIF7_xbf`9s9>X;PzSv9kIIm1mP@-@ zwXdd1@vQhrNJxx`@m_phmQA;=-f+k;Nyz<}I5*5WS{GA~@r--T&V$lN;NNqC3-cls z5Y_j~2L5b&bP$`MD5{bPyGR}%v(&q22JTB7rx;$`DuCCJ!q6L3b|>*ZZv+(p?0De} zD~!6fmj4mb;g8T}k{~>(K&eN3dMnO3G#Gl`qge6$V9Ov zh1X4?FqkJoK_x7ltuwudE^JmzJkcQd$b`m+TEa`F9d7jS9PWglj<`RW+*F<(iwPtI zi7{_miSE02OrM8DLb!9AFq0yL-Efl61!NI1Em0jwOI8xz{G^#uaWeTR8n;Ctg{)4t zQ2+EIyv51@n3FXZ0WM9Lf@`wsE{y36*QxKRH!lg>PB8UkFEh`2di*=$KVBJ34{{;< z|0GN|%^~B*tp9B`t5qmMG`K(fO*dv3OfC1mq&)N|qEewvn+qC@b;U6LsDd)+Kte&s z#PkN77^QT?G#yxK;k2YBMWlQbR#M|R(-rbDU5iP3I^4L^&=a$PPQMiJ$!?(BAsxg> zVXf1B_M3PR?DI0a^-uKenJfA+KRi<0scSXk!QUJ7jh`M=Aj zDJXE9Pkx5B*9TcC=i^mO%?^Xp?!uUDpgn(A$Zu#3f-x-Ys9@3@>gy6L*KA91Ib9++ zHW2~7?qH+l*phV-EE0o{+j$f_hZmn($xmg$2cU-5AAUk68b*ijeSf->%g;xjoj+N% zs9>rfIWtrdO6%6gLe7T^agE|JlITaKkVz-JJL&V4(#-KP@AEe~G^rKs5ca_Mm?QT% zY&rUZGlk1z&H!BX$;J1wgTQEWlC;rUs$~_!d0ios#o)i@>%C{2UDsxAWwqx+z>_ON z>FctDr!w?$1>}DfBUE}>AO`4YT?I6L^4D|sCGb5S@>5zYr24NlRB*{$iQ)G;7@NYRcN~=eiRwOQNieI)JuuDmM(Qk&RC&<#Y&j5<#d^fg<&s9$O;H zX$_g($TDk}gVQu*64L_{N5pw>M5({;U|$3GLa6;$i`_t_tSOhvNpi~_^_t|#1bkjjebH#M#nXF^t-9WPoZ6!$@5*N8V~8bKcURtC&VBXc8&w>d zI-sYgfid#A@9OON`>xb1=b*o-E72{-*K~PlWo4vc$tRY1iZeCwV@JpPZCBd;gWeB( zJ6T=tpk(jJam0)tBj)qLt!wD-j}Z_)p??&{AlWi8(B}WSjR!?KFkxxUge7HB9 zT2^$OcXc#?&MdbqN2WC`t>#OANDB*#om0IIuBaN@ch4L^bDSo#+0F6Z?en6aUuvHz z{%A=&iN}7;P&(tgzA4Zua^7y0-?l?CG3V#|(~ENlDaj{Ht`myJ{dS?@(;4x83>{9H zJyjdD8!Q@hEWWgiRc_A=9XTzJ3#YR;lu^7!91&QKYr7e`q*T}#P5IH~984~wcD^rlxwrFkQ}!2}1lu{>wg^UD?Ura}6Wp=l1i4dx88bpY zanO4C`C}+oyE}C9osgauFqzSC%5ik|cyCzB({$y5?*r^QPUcKB=zYqI1fBXlk=Qmr zqx*WkPI-K$o1HCU^ z;_I;VxrgEQ-W74HrKN?*WX$kIRh114is3d+_(yJCMG^RqXL-8qBe%_g0t}40mEbR# znN1)JmirQ>_?}QxwB9)n53Ya7{!*O9(zL{-r(Fy7!zd;LC2A3Hlrs#+zSVnkK<(=7 z&pSQ8j2W#2^c_F^$JX^lBzW8i2bk*d@&&aap)Xl2X#Ho*M9TTfnxH4$6s0)j$B$C8 z;sON(mC9=an<7?ak0bSy^BUl`N=3@W62{n}VMN;cQ;tg7M!ptrnf*B!3^D{1g5vek z8ZSxy$~dv4%e`3Z1Qsk#$_N_%UL~NH6V~<6kb| zS6A04Qpck3Sz(G$m5Vh@H<_n+hkk~mq_eq5xd%6#fywi}e*?xd{tJ#6-a~V-D9p{% zw5A+)5GhLE$5;NVaVOZOQ`)aG8601Kgnm2?3FKViFV>eTm;9~(-yRr{?){jYtlVh3 z`kMrRf_%yp7i4>ygvDwnYJy19i!AW`ndBJMjoC0u#;!**x{?J~rg+jlrE)0SBGND? zUno7*jTGn!d38R)^w6!K7kBM$7=nw5V>+${gxGyM7V`fPatq0QyJI^!JzZ&a!HMO0 z;IPPWd`Ms9&hQu}!sR`Z<#~DX{O?{gqcl8(>iopWymbdH5 zPDw#W=ebv@GJ-(B@5hPd$nv^uBdA~{&vo8)9pXAH;RMF1^doe>DRH_NFe9Ay>Z0xkp{Q#XxMxe}g1@aR>wsY4EN8rC3>3KDk z6ub-}5nD^c)VzW3IV+2XKAem$&&#o;=6QdmH8B#^?xSL=8aB78uV+KUgN*(yjhuVt zxaMM>xr2Ve!?Xu$=Q4N!m2kq{J>}~_&c5yq`^bAm7?_dKe0KXey244^!>aC^?s4fy zKwD9<{Ua^SCXk>j+Wvsx@a7~$t1$c*KSAkg{L$-u_>+6-)DJ6zRU&;V)@fWsqvx24jq zR@s033?#Ck(6Hoeeml5h+1}*va$aT)CBaa{Fi%+&gBfts)*6A`e)}5f+{K(2_q#(8 z9<<8nB%uB`uYt{NGY%LUYOikc;@{#)r_8tN?5uQr@SSK(C~KYBMIEipH@ znTCBzHQ)2kv!+bkzqhQhih6!SD9!NXP@*zOATCo0_z4wEoPe6AAw&iqMH;50<|=_K zQ}E>gb1T47*_qbT=(vPywLd5awb@X|>Q1{*0Cf~t#-Y>qM>rC(!wCj041oHKov9qQF=?N!I>V;4pu1A}?KlF?!h#ga4Zaz>jIJkESo5IMK0r z8L6x3Nm#dDEUuMUYR-|%i8fQ_gD_Fr>sJL2hFkD(&6es9{$nrNU@S>v)_-FRb-Jjj z$S2Q-C{C#ojQL{+Bk!>FtQ%AKs$_=z|bqI@8T4EWTb3S&vbC(4T^f=zU;c zH84n=6GVtf2jiex6tbBau$?Uf6mJrQ4V0#8r?H&+>X@Q(hwGRfYY&Lz$&&Z}hDnic zxDs?(2Oas-y%H$B_JZ8>;?}oNXI2&0MO8$yNiGEC)0$9nT4hcwosMDwP@ZlVq>7w6 zyzF^fImPy*F*!T1E`6M~3xg`igh0&(`XlsOPcmtu;Xf6o!8Hl|x}MO_m^C%Ls!El@ z!Mt)C{P<|UED zTo#=FJ7vGWza8Jj${d=Q_-l14+<}FC76=M163%sERQyqa`KX40<4iIqdG3~?*jJM! zc}j&ZH8i~Pw)Q!3q?*Jun55T{_B6am7^_aY2_&Lv+7$AX7*s6C9Yueo_w^g#*S_-^ zPr83O4-_qh8F>`KpFia|6^jsz0diz-@OjgiWNKXU&WP_2fymjgOa81ZT;r+I)&{~( zx}s_(YBNuAAyNT4u(~PGsqrX38a@;4SN@6%2^48lnhDK-KDG6_9rQW|dbt{x?vk|e zZaCbFn!Gk|K%aEPqPDDi6+%$azCk*Sy4oefeXvziGr0V+iKtRf`8y?8z8qB{hE&e> zb~9$nJ|^*w;eSlV=OLH3AE@4pcYu#XveuR}dZj$*b3|M<&8yfIKH-wZw9^|N4G-{a zVWTh-n5CgJk222h>!z(@NKWhb5NXLupsjZiZI-iG_wxN-MX@7^{5=x*fc{@?kO5oZ zTtcQ48IDp#5RY6-4PK;)6%+z|Q+z14xzW#3tPL5Y*t^p@N0bT*n58RB<~lVmhfg3E za7U1YNr=a5m&4a|mjhcX6t)s)P1VOb-$9N_Qk8m45Pc}i)tCkp)BPo2x0}dFF7wQd zd=n<6lw8h9qCUtRb98CQ)ODaqp%y-J0*_MLjSu5t4ihybU=pV_z-fs`boz0PB8#tQNuF-MY=5zchXjih)ckKsR`)Bo#xg-JIX?1t@JxTAcQeLQFdeQU% zm;PpL@`&k+;RUgx4-D&-gxWVJv&GR6@9T00Qi#1{m(ivc!X+m9zeFI2@6 zICOo?jQuU1|7i`pe~pchbcDV@(DXk2)bdy)vxcWTxXIT-7llv7gk*H!qIVEgMCo@3 zdeJ0mcQhfgDpn4<^dhF1R$dx$90XJ+6kp)74koTSo!WTOwihX~@V}=G`})-mhQ}g0 zYCfd)C)+u1u096obiHbcS1m5sUQ}Fdt-zvyg|siCO}eKRShA2p=zW4)zWHL9s;5LP zxF=}QT$USI3pGOyZcgGUY&bJCRlRS{zw7$L7^S;wG~oB7;&2vZ#g_wuB;>-^S3sxM z+4Qr(6bOay>?NX*y?=i*sc%r>10$!T$Q~o2EO!k$%J6EEtM!%To5xTgdh_Fy^U^)& zxr5pf^`is|&v3gZWZsz~D|oaz8>yC9%_eISFy!)x+#$F! z0VKHlr0>z7Hrw2$R+v`0w5p$) z`qT7O?(zwe^6s1w_9<0PCy8GF;Gdb)>4*zc(Xj;E2ms4{xB`uSn=pkOgJCjEVsdY!PtH(b6m8K^0w&!JZ9nYoT8P1#&F)|? zPIE@}FZ25a0yKt%zJ3>UBeez?9Q$$>b(WV_A}16$W#C#(DGk}Iey`_77Uy(ha!dJk zWWJl=fD&~hW1GEz3%-~&Mi4$)AN{tyc{{Q{N*4539`<{Lthp9ZH)kdlde9JU(1?Qm zul5KKFQbdgAXXe(s#*I;7P2`jBcQ^@C1sUZ1^7IiB6ipL*E(VoTl@0lJ}Tz4eF>XY zOOSX5%~q`W1~UR<*+AWUujRoR%@bJjdK0W++d1lcO{HAqa*=3PgQN2oy6OVQR7XA0 ztMa*P7b~9s(d&$1?xR}cqKLst%l7#*B7lm6oV4fu*lDnMo7i#Fz~Kx^5vGT*pp;5L zxI=+Zu`!i9#^0Y-Yv_wV& zZ-}WejFWqgRp5=|@M9?>BHCg6M5c?V_=RM!_GFeAkXoF?<~qlqcw9z19pCEIpzNm* zKxak%%@~AseGG#vJpb3CBf3_jpnvT-Rmm-?{kk5+X66hV+RvoC2G?|&M}Kn^Ep6l6 z@Z0t;Hd*2(-AQ;e#JOKikGi-jJ6|m6+TL!ieBYj~aUF+=yiXFOIiB|uUyWlpoeu4H zf-xL>z%kCQ(wq(__8Ql0*LFS#w!E2-vYaMuqtTF%X1azWA+6V|V_1KyP0!ZCWv84o zBjSJ~laWgL3+0C?QBfzah=YBO!K|UuFHe(OF#4qC90W_hZBO0DI^KO@$11deQoxd^%lLko?2(e|{tM!coB8sosXdtcqB)R7 z*27|j2?(L!Z#tcndS5u@?nPwHoXEdz`+bC7>bl{5>H2)XeBN$3y15xmHt@5tIrr5R z2Ws`?PM`DXQl;sA8Je@JD}!}E#UKGo@=1nPS((+B<1_Q(!j9$1G&B%36S?8jm@Mhymoi@3a&@C)2LG*{?h}s<?e6n zX(oAYW#D=D<9zjmH?QWGmPm*VWP#xc68{6?&aowPz|SYfW&)7L;=)xpD7Rc0Ut00I zxUn*as85W+CB)#Knp(5Q7%4h1R7u^gBeR25j#x;k8eh4z3dr0} zY<5fn37nL^@K;1U*PSwIk^85y{m4Yla^>>HA8!1HCX*!rBl)*USL5kp(rRaR?XMe` zhtYLrPPY^6pwkNr14X$XEOTb#d7b(GOL&e@P3w-*13*GC=zis5@P$Ii@1(A?ImE}Qjo^_r2G zNc-YW$IpjGwj93~$tZu4*zB=m2Nbul<}fIuLD~Ibqoaa3rcCxq;kE~OpJ1R$K_KAB ziHqaV(|CtmTwL(sc!>|=&*&DATOC3|j6fefr}(aV&_{q+nDs8ED$S~oeXFP{u!zh5 zr8ZYPF+KCETzub2mMT-)4-hgQ2)6$f0O04%?p+VOWS?&ueK^A)~|Jx1% zuG2Up8gSbXlNr!f#xqzW$LQLutCkwhic+5*+&cRb1|m5hn)f(f&+7i1oB&JVkLO&? z21_*g@!YAmAp*0R0#Wa4X}vOz&!(<-+9kiw*Y;*}B%s8$W$ipssP%l)+b&xphX}l) zQq?Q>VfEe&Iegs)qkzjd3$^KPclC1e^DPiV@q9^xg$!bcC{SU>dER8_*;#5l_Fnkd zfx5VtM-+yf(q3KtneIQ>%tUlVgazFoo}+mF(wFeU8sbQ7G?7S|P*2@RqZ{&vfo}Yd zbW&DkQ3rFOAV5cryLpUW@S?aET?`9U(qwn6v*yV3UUHH<0XKU+a>v62YG@uRWiiPA zfqO6te_}A}$o@}JDwErV_FxoNUnt)l5zwv>52teV941qNj|g#mzTKv~EE}Nha2kEf zZQn<3wAmO%@Vg51(OLq>(C)@Dn=84^ulmee!L{&G5e$Repp7|Qa{GJ?571G9jRaKd6MyK2Y4&vT2EEyL>R4etDWE27Dx;OhEQ?Qf-Ju-D4M?COw_Zu&CM1pH=>H`trFWIe^yDOSDM|1H#g5Yr2s*V3Bt*)+8O_r9Hu3TuaZ@QDn(`j_i zl1Z0TR$kPxE-ox60szv|(y;V&x>1ZFMw@Sk)m?3EUd0AYJAI*`)0>;RH5Elg;QCen z6oydVd3m)xon*_~Fjt{dG-zppD}WsT18(ky~HB!@ciQ0 z)AAl9w{`?$|0ZSq*`Y*SQpr@Y);irlRz?n=FAPl?!lG(z6Cwf~9T*e?FYDFTGfR1< zQKmjDn~2uyDI_dct$F}s-r<`wvOuSaKt+CoE#y8KnIO|Ue95g~Vkyse4aSVXi~0iy zKE?1IV(RKPM8xX26R~f&lhna;TQ?1HIb3K1;iSKYGVKj#Wk4nyN@C85~A?SnM{J>515p@*6vI z)Ya%tZ)-rm<;kLp-p<<*OgfRW%|MWa^h2=<938SX*1PpATP84)ITs39S~1W${)&z} z2|AR;2LFa#PJs>=FhM~1TgbL3$eEA{lOj`wdkVVNvZqx>fbS(`0M$u1&JMdIa0ZTc zU3QWVujFmE%J-gHSF4d`9+p<4`bRVl`%UiWH9?krFLV?hH+qq4?md&mu88gPb?o!Y zQrD!8+r|RDRSu5_lZ%VX+f8a0?ljP8zR`B$#L1p6%`U9;3^VTO%(hOFyU zy`S6txwtqCC(qr##`mZOk z`_mT_YkOyhgL>H!)?&2Nm87U&aVaacmC=BV6ijH#JhvCc1Hsq3HG8KAQSF;&)%dPogwgcD~8!sNuO2Qol?pC0ztB?zMENrGNf zmpS}#PmcfceraKCNi2yBbWMXhp#+nKu{^!=rOJJbbH(yUzn8T8x_q92J2Y#@IR5-h ze2~K0g$2@eo9iCHJjIhJj_>hv3f7GNbvCu6qI4&hzB4VETAj)B&iv!PF4tr-bCV?x zsK`%%AB-W3DHTzf94%YlhT;rJG+K{6urnYY$DWGHEVY_!&QoiUmN?kJM$epdzo8}z zD#?0DvmdM?7fHILaRrwmQ#=n=@2?VTCKLUJGM0q+z?@N&ELevFWUw+Fe6<15(T*f5 zOpUgwyTEis)^5Qy>N$$imO(UfxdJOD%uFF#FxL_L!_?XqCD}%FKIrUbG@2ck!gxT( zmC7?PHN_WT6wBG_XKVYn$U!i#keo|;M)(ZrJHi#05zc^@?^}RaZrW;Cc4Z0O~@oT zRGRP}6teoSg6imtyC~;;fJ5|zIhNU%FSP`~O6lVwzu}h#)jgoKO@k^vW$gVhzLb) z3zH=-x@d#Km6W8{MT^TwIf+sAy6I%)JcoQpSZ9H)o$G1H@X;F-xUA zIn(-^2mO&_Fl=fEf9$W8?Rna}KLl$8hz!eFOdZ3%-TlQ(-b1{-B1k2V&8<$oq;k9( zni}HIg4<^q(}u#`!9yhCo!f+d4wHEem}`*t=8G?b^Rb-zZ7d*kI(InQOPel>hnQs z`Tg(aQDqrgY&P0kcKCCL(WewCWv>-HSr2Ig8IP-hTk?a$TGMEc-!Bl^kO{Fhn&0MT1)F=aas1TovnFc!X z=^c_6Z|yG&6bg{Pz?9;~5&dN!-Rb-rQSBKa5eT$UOxYY(Ue#G(9OYE%T5T+i*sjZ|7N+J-NlZ;>qi8XaA<6vN}1vLiTcYb zUCqOSs>;H=f~w92J!w_U0~;{SnqORaeBb^eDy_yGR|9R+p!G`qX86^e!@n6~mh5)l;KKOm3gr+c7C<7$?5{3W>Et)lI0ds~Vr zhKU=@yGgd`c$#8j7upeL)eGp$*dW6>&jCqdw`2Nv#1gFwO(w!eeDnpuivemwenA5Pds%m88>zMRN6i5 zcbPN+X)9_#(`wnV>Tfkhj~ioPpGmXB6z+?Sjg7O5E0go_bVrWaPH(W7LcTq zlauD%n=!YN?oQ_aPg2R29>FL|5hkPMw+6UqnvYYb{LtCX_WH&4r=_D3JL>`s8WX4c ze23M=_Vky*U%s{tIm`lsjMcJ>P$@hflg8yd@_5xRzen*?Nt1QRz64fo<1gbGqFpCp z;zXbXx_Y{siOL~-mO$Y>jmA+0uOAdARVP#9SSkv;GxDg7Nz zkWQgH2~^~5 zcr{ngM=hV7ug51RhBx~oSq_6(JXhVI_10^HE=xK?<(hTwV}Q-tAtOwq=7&`)EOuX> zNOaoW00h6Z8lxc)Hr$q~J#tBO%*|R8*rrWSYCuM&T`JD{%1Vw)3$g7Kudc%vn!f+xPiE+v6bl2OPrtO^(;GbI51Cvi!!yI&YQ3#d-_c z9*s_GlGkNN>O%~C2t3|sx>=T>vNFowYx>@1ej{KEU|nm$z_-Y_xy}8|LZeoTBZao} zoXg}mDJgXIByeLn8jQwiIUwiXNyO0m*8TQ;tJ&nsd+B+^?X?jp8j0?3S>-F*(w4c} z%4OMPWbVec`LO77Rx@;QZ`R&+y0+p*`pL`t*?!xrk;!g%D9*m#?QxU?aQJ+Ed0it= zAXZUTWpum))77j=LzC7s-c1U8Tn)oC(&%)Kr!AvZRi;XQSqE6ItVV_H=9MzPIIrg* z7DM2}7-wq;O-tU3QGB&BwZ=;U_x>U>VD zVnS{=&G~5@#S2IJohEJ`8Q+`wTM^+xWgbi*seYDtRT6C_lcrvjZ%-5!vqr0NIIE0w z>Wx2w_YZ@<5Qoc-N5|glp*r_#LwJ`8dLB96dzB1e=l0Vd(j8c>J$FO$b*In*nvZh4 zp7sYYfM;$#2QF^786o$0UE7*WghjWX5yeoXN){S6lpp*HN}MiL9nCAtANZJMtJb7+ zV*1Hl_0G(P3~z|40Y zF8}4sdFugKDosw=c4hm$9g71YqJqN0K*O5mjTSFmBm9brinlk6u5BX>T?r#25`>RK z_H~CLJnv&+0+2k9Q#HD`Ub?oM+z8xQk1q0n zA97!`C&v1n8L_akULP06-t@wHEza9`oo=R1HEYmZEWWrt;Enjn-{vpj*tLe&P4d(& z5rF%=zn@#V2j(XkUd0hPJI9#qWu$7}y)nyVI~?OLK^7e_Nu$$}(iThPM+}BQh?Mf( zrbIDXTWv-m4*+Z1*XTc~;)JzW>PKbOQ(gycGoB>-vs{BJt=Kuq>U3)_3)@K==z4>q z)qN3|Ne|CN;9{s^2f?a!JHiQ6U$^oX(HFQHAdSk4_it1R%B3-cyof6$^Gfp)L(%S0 zfX;SuHdPlG$GNz@9Co9$TDBTp9> zwzeJjYPPL^zAu*RjD_Ic(X3`NT3T9BFV--hjbSH}<`)$O1GlrVzX3aI;^DMJEN#nb{NAokk!|=W@ zjXQ|>#z9G>?nfH5O3Elyt%5%q`m9Zs=nm18$B?he?Jsqa0l++`F%T>tN?QJzs@AAe zsRlu5rknaRKnfRfBOVWoMs`|%#fL+;t;UBv3T>{=fM1>6r26Q{D*pu=4h~L5UG@5I zPM-M>VJ0am(l5E}QJ~MknxC)lL*O6~0#;mxKzVr|zui8Xe{5hG=^^)dwGIL+5ywa1 zzL`q5j>!DJkQ&418@$-_kJ+_Newi*i@#EvOGndVr@$>j!7QtU-5`uc+kw>^;eDxcb z{%;oG`5OUW)|BrdGf$H}5%5w3va+&&{Wv#|o4V75T<1@1y32X{qng6&#-@utcSFv$(d{_a9HdCmsz%S@z<2k$5*O|O1(BvK{j^O4XMkJ)`;BMGhPqww4NU(cF}l!Lj9gcjBxtQ3bPC|0$VB zK?-fdc?bYlQIDyYf3fc6+M;m~e@#+aV=YG+j6Dj*(A8gKTk9?da?kk!PiGJK6L(-U zV!7S|Mc;`5lEC|l?ot#V4-fCB#poGH%y!464?X>PKtyL9=jrLGW|OVX6E%O=;af)< zhXXM%W*Y7dMt`w(HoEVh99-LMeY|IWSYCN?J$mE$*ulFL2)Cc=c(irgjOaOqDDiEzb zfkx+f@%sCh<7LT5|8dW`*!}`D0RXI28<5znHO_9#3?9OrF4z0g;w)7d^sO#I~tW9dZ}Ir7DI~BuR)~H-4N*uO*k0wc4Nq|Xl45u2y^$D0O&4(JY})@v)?057zsCM|*J1Lx!|ech_@Qm9VW1ym%W@Ht`7Lq&hl7?~_F; z&Bn@Klqi?IQ1$Sa;DhOss|gWgVBfX<=VUzyxwxR+xAC)zoZRPk2k*N`BAoXPAQ<`2 zJdxkMjD<<^n^bR4ow8XxDUF>cw%&aGl{f)UJg@%}$ahoq;uHft-Zb8J^YgpK#L{ju)(qS27{YkACCZ* zF1NZmK}CVzHOzUhidli&!pds1ZdxA5N@Dj#3M~|wcXEz58_EjR|;z_}$~LQXg}?rYkIXd@#0L<#TbgMGQkpID@eZXa9{6>4~trYoDL& zCs<%xR#w#&K|J1h`E=>!&3~|71yyi;P8R3%c;a8ocH$tL7ydOl z-Uu!UBVHNv7epdPLg9z6LWz*c!m5GF!qP@32}%=`E}aYg6M6M@DSbR5KXPrg(6qM4 zykxiQE`|c-WzRF}Xe%$7Ilc33OEOymwd;JVd}pi7t((N<^L0<*SPsa1#!F6^xZYJ~ zB&N$y3P#=b)`1T7+^gmS&|#32-q(Q=bI|l=y^^iPxS?Wh*4A{zr0HOh0|4@j?>ZyJ zIl0RA|Bxp^-MikFzeW(MAzhrwM4NwB@E$TeYy+y=F>&<|sT4N!Rko*}PyzZC@EA5P zysYf;()kRMLpWw-)Q0I;ZmK|IFfLWK6%UKA9MS zCI);6Vd$Y-10(6?8C;dC$P7Yu-L6S^uOyRtzogh5EU47_4-EIbXmYMJyc*CVzGmlj&eo2_KY3=Hz;lkho5L zZ#`&oNDy5XJ74}km}{2PfRdUB)w&wkT}t+Srwq#t+}!-VoR>a4x)_%J1cKzQ`|U*Q z*OI>eXCEcoIgAOlXJ~HHoNH&W%G$0l#P|G7UT42CWl|GhD3^j5g}Z(Op6yIX1vXoU48(&m@V;W!%)`7{bi zHr#<9to_B&$}Z=*7@NP>Vo6V_z4PQ+5Jn@Kt`iijxMyLKSdG*p|FuZOy6?eT%6Y_% zi!D;zY_iya0czkTt{WaF`$00MBHsfZl#N0!nTnNpaHW@;hu-kVDn*%>+$dgT4 zlu1BTqd}E_$Mw7|zuY?D$aMT9SUq_bolJDc^L0Uhhy-(o)#6mRy%Oy;upl53xHpak zijSU6WjLl&C-`K^UZq)^AD;YC?U>@T=ChKH_C9I zV02}xgIKzKb7#KsMo+(n5Pcu1o zaDBfi5@~Ew(VApOxk2}lYc0spqHhNHeQ@k+(uW?@kuLBB3eT)r{0qLhTy{M|xFGD(+-J*XN#KI`iO&~C2rc;J*tfNM* zb*y0NR0yr0`-eWvm-AY2e%o37_qY(8H1`e6&QZo+S}{oSJVtxs#fx^S=ULZ;k%}Vt8}e3l5rwTQqQaTwteE zI{4juGaQk{SvIZDd@_C$E4bB2CsNLVj{GlmIB3Cv7`FI2TROSc8j?qd1-5G6Z9WMN z7LxlU!s}M3Xtm1x$xfW(khd_UC1BRgG~7RLQQ2JK$#3y^XI?&Z^~CYv@hq5y4tTMt zFU;a$$i&t{i|7)THL;Kfam{iIp_w|%<^}&tB4;5DHV-Jv$d4!g5>dU}k{gjW`{jG@ zqk2S=+q`EeVfqZ0S!i{roVgy77`{v8!jK3#0%rd={r9K*4Z4JY&AX;L(u}%)S(M@3 z{1ncvD8-;ql;z9ZKR3J^OelOk;+n5$ruVb|YhF5z>LzwPT6?Spe>qcu4CR_ocuSl7Bse>&MlK17w8I>>U;kU3v5pbL8=j_AtjFV zz)!3iUl#K4=2+>|+vqOHskP>HXj7*mN=;J6CSSTZ3dbZe_a_kY(d$B(>OOcC!QX~z zDhDGk(txWKX%x6e^Z5& z)Q;yF{U7d%sMxeucQy_4vlOJd8}>JmLb&4}Dp{LzL1HiS`6X0ywy`1meH*K(FEOep z_P!ncpVyG&N{tpv>aV3`Bs3leBqBo1#=qJ4$eT#D(M9#?(HZxI9=wVpUkOtp>i-+G z0iOm#w%Q&W?cFD*RnP)vJiNb8b9vml9-auL?hfW;BENkf)?q!Opmu4N1cyQ#VYzjM zCi6fQC5mJIAU8Jn(%?sv20x-cFH%G}wTS$L+0`-i*a|xew4PQEAlbmd)Sg%oYv}lD<5!)j40H#yYL|R2 z{G63`JxrJBpJS6sf0YKsfr-Df96JnC_btVmhWLQVVE&MROK>+Q-VeG;!o?i#@4*%f zxs}lGhjkhfl1dG_90;dP#6%bNlpp*!Ug-R(5N;=y6hGBUJ2myUgo;WadG%>VqeEVr z-7iO$?;o46aE&f26SmsI;MezA-T^s8E{nXqt>*54q3WiJI}=cRnF%@99*&fAT#45RZLRz`Hw~M6aBfWD>o;xs( z%2+~wK#*q-}o6l&{(1= zrcLL6J^V2QC4V?%(a&{4BsCpuHX& zZS%R2+zCCXhH?y!_6afDw7d>HRU40Z> z5_4X!tOGw-EhK5sH&pIP_0I9}w5vZXWF{~pcgExL7*$vssj0bOgmQy&OW)s_UZ|zg zp~6ZwMlznzIgp;DTla^FT75pe5AUzsX}$1E?UrZaJfW^lWaFP(D(D2$kB^=YV?%mw z5<d2P^W9C);mZuD2r*}50iA5QWAVmiWX`CW+K+Xvby05g6UMf=^=vf@BNlF z$~no0(DSb|%vz3upYwFy1+U&U{7Z33>y=@qn`O5T>Y76G2nnnjre(rCg7axKCGHwh z(GJbzDY!*GPY5#T?(n-q3Bc-N$Wclt_ZD{rPuc87X z965>f>r(KEwMPRf@E7M+#mvpqM$?X2FULF9tsui;`vNy}6Jm7l8zMliGvSfGPoG{d z2of1RDeJo;-Kge>f{QVlIlSk>aj9+(!|eo0wj(eDO)n`7Ghu~ET049QsuM4>b|MSI zFza48*m6;$X>wbG<%WkbtXgo`v?a?zZjmN_^HbGXI*kIUFy-Ho|-B>iMHzg=v5heUwLmWTfN&JK+|e_Q=Mu(0me#!NH*zyG zp9_BH0dZ!+GXj4abft}DMSkAWTWhW@_w&Z$^ywG~243`7;jk7$|Ipy9uXXa}Mdqtb zty;N&;CykzJrlHpAm+1U`{N(2GR_?+f?BxeltxiWC)un`l`{nQK(=<+?Sukp-AgCc zjk(72r1D2!@zvx^JEU2uzgf%3GKlBTA!4)NkFj%DX|xt_RJqQQl&$g4rSHP-s63OE zoAcim8M?ElI~fjnS1*uK8Fl&r(8rdcdHelCAIAMV4Cbp#a4e1@!tcGmnJ+p#`t$d6 zo8nvIu|zT_AuZ{<`JWjgO0%Jta$auM$ocGE2XQ|wIASEOZYdDzjn7QpjAXHc%Eq{p zb6zh@UysK6mfx;@*-|@qyx;){h0DED9uN9JGqMF@sjCy&XmNGd8 zQ4hNjH#k$Y*i;7lht;<6QfiYZj|P*&E@%J7I@#6519`PLuomi?5JzcTq4G3cf}Sq* znP2>j5ker=URLj#E=$Wa>#b&y;&^v#?YEY!t3IC%@30u$Z({%CGleG;kKOK$^Nq%> z@+Oo?WB5Gqe3}==^|)UE=;uba$BTT=C4wK%55|2$iC^|5biGgNRn;`E&fZ?nyxUF# z8UW^co=4sOz-(-fc&ASTjKl5-?J6hoG($a$p`0;PrI=Lse37yB)BXAW1g|KYn!FoE zA^k6L6?e8MqPhQz6jqhp(cQ92RkezO-?a-?6>UbEwnKGlA2lEu>w+S1xH9EJl4@$B~*e{Y~)N1Ck6D z1Je|t>3%cn;CO#s#^7;Ez@X=wj)G{fH5}nesJqV&+>$G1 zPrt1AZ^E#bJDmR9303!wp#&AY=8dFU%U?9dk8MO2zi1q`sMh|WCc#_`5(~(9YqT6C z-NGdv6c{lL1-B)*Tgft!rbc9O6=$>j>_W9YN|(iQSRarua_`cnXkC5j*1lqBNz4|q?^n_y;8K>^-+3+MzaXjXXWp7FhYieLpC6V1A*7YB zp}jrpsIoQoOwXUcDu+EvDv9#q&36mGJ+>A2FpsU{MZj?vSk`%oIajGSyh$PR=yUSP zmLEW|*g+35=9UK-(8$Eoji2y?gjlQH&~SY5&&|P~ww=m)Q~M}9s(X>`;~Z?&|x0_+9b3adtQ=cVcYnwLWNVj9~5kEPVU$9)}VBQ$om z-siC{$nuxG*X-Amld?RXjVYB9M=-I*4Ss+uIV(pyBb~KpLIlf?ec9+)jtEz?VP;(4 zG6Z**kS$CnS)p3_Wy63D4XMwvF~(;M=S_aCsEefFK#{6 zE8O4K&tJZr`R4#L!!K+A2pYsi-2m3E)skl5P45n#16tl^HT-Ln1ucGKgUUQtVVpz* zfZ4jk9A$z%)~bzbyK@D++TZB6G+T>;c!><=8TFI=v-f&DSG!R5Haso~xC#mohlq`V z7&2~a6B|v&R*4i8R2jc>67B=kZdU%@r%RHy55$iM7u{`8$*Y`S6&lVN@)yH0ezgA$ zhC{#a-V+>WH+VTjiUS;N>upzKTU*$Az0XwHhAS7R}Prx{f>0rxv{oA{12ysSI! zl--1$OQlaF@7n<^5Iei?+Y$2;Femga-C&E4QX}x+koAvBe~bvjVY~bSUsT#b zxL^@ISMKS_-1%~una)?!U_aol*-{*X-f_(|+`*ehF6H)wJgc{{Awjfr4Sth#Jlv41 z4#$v|tcH}De4+ail5cBUi2-=>Gy?-)e%rK{sY{kkv^T|&$hp=P_orZ+t}3r?Fhj!& z1XBqBk$rXiW!C1&LM{v)`-5n!c3yJ%A5=D$w66bDQd{3YKfMluZ@9Dl9xaPyf3g@x z|NYNIuaWY!wn)ME`Qfd^7q1}N(@ioWeP+u4Jrft*Mkltl7Bw$BDt9pGv@Yy9R5qri zlb3AhBO8}pZo4P9qiuoFmSL@6B(g7V(a_TpPhhLNNA;ng&r>b7UdT@NNv8_g;?42$ z7Ll>-9O9is9w7GT1AWAl7(~F9YIy-X% zCJ?P9xU9wqh=9%Rr}pR{|JxWq;91EexAHy-3~a|^z|$Fk`?pbFl8m)G8e)uuLSVet z@Mxxc9AQCx)?ZX%tGIc;6JqTs3k&$0L<=RuCp0S#ldnz>ZO7PTBBp448!tQ;htYkd zag6v%eCS*V^T$q0UY{`<-7a=$R%(ZOC*`3ez#0U&^Yp1+21<|b*fY}@7&L!$}khjljW-jP-x&eY6a!5?X)A?(TP!cUWZsduZ}f+2)3b;x-*L0V6+A zHO5P0)bQ`1MKt8eO^{-SRPm3yc zmbHPgdxr$f;VU8r0cU$cUJQGk-O3Dd0YYCXUMT16x&Pa>l>wN-?{Po_m;G1d^ltRN z!~-)i=?L5Tvnn3T1Ic(LdgJIcau~+T&BObWHwg6O|Tw1ExXt!dQ$AHclBNemD+CDwV*X%b9md?Jv&K-RyV&3e)D( zgbZai%pSmUx<*?NL)cq=?2|tf)w0`Tqn}MW(W@7T@NWj+>6lN1a<_5CB5ND*yWr-c zd5-Da_b|tWk)L$BO%9FYI!zPOLubg_d!=P%Tam+zCB?;Nog;+I=hd8ReI1WPC*%Gw zFz{zQMzB>me9>~&>J#qF1b1Og)N^&}thTb~InR?<$tvw4m|-ivDJr9Vfd}8H!{@7UZGbuuLIYT4<;`^A?bf^RP!J}D<5rIO88x0y3ftQ?w2#7!$PfL&wGDs zSf3rZEAP6bgTIJiw5?&v((z%e;D7S`=5EG(C8qg(%kMAixWI6m^H?6hOysP(;XCh* zK^X%2(DG$c&iP;zBeWr~V=UL{%yw_T%6bM6=VDVZM`i0NkJ)HO-*U4vpw`pet$H(_ z5E3F1@+7m4a|Ho<6A)1Gjsf5b_;3NHFR!B`dn=YVc7VtqbaOPv>~^fVJDMqBZB6_C z!+gfv_FA4Vhnp{lXg}hkJ?`+|O#sPfCh|nMPi9madBa$-;>6* zF#uLc=XN&hb41AT&we^qZTyszWbH6?~9JO4lJp<6yfM*T>F$h4OoMEK- z$=Suhx94>jo7K7qp&)3-IW2Q$kMnhXYw#*aO8NJB8^AlAzRXrpySuCCXh>9ePn=r3 zIyH~f&+892U2JL9S)lIaxa;Fs13?VW`=R(;XUopO=Xxx3wB~%T)?D7WGc>ne$+BLV zysct@Q%-`TysVZ8WiFzpSSBf^;K@w+)PFQh{Ep_W3|Z*HdD&OgDb=WTp7bHGwv zZSQrhe*CF}-Q_bst1Iv)LVHaC$!PTreIz6&rdC`IaWXukY!%1e4qC2~lDXeOQ2wGc zhgO7bg9l1%k}LPZN;IHIc>@3cSO93TKsJ@>aE=LQHI4b}>~=r@mRbN^aV%z6Z6V4;%bV-6Nmsz0a)muQD7!c_a+2$1GTMnt#)(Isp+RCOt zuw83Rz4iQMsYYkUYlnc_>GI&3fgiW^IFEIe@hmeB&ycy`9k<_`Yn8EsLwt2LbH?ay z-O)&J?HEtg`vI8m0Pi#>-k*JR6PH>ZJ6E+Bpj!Fs;Z zbbbP*s`HrT@#*pYk+Y+Vv-3et{~}UjVr@IWLjq(c-`JSp^kgEr*QGM*>XP;EhQR`{v6M8~p5bMuWP*9U1I#%LcX-R|%yHNZn&s&n|YW>+pY`Oe_Ij z!-dj{5bOjp4h{h~C$@-E<=15*yJHAE--LPehB_AqSvUgs_lLv`+tmaX$_KVll|*vEsdM=gYu~t+PyhBmmNN>J>E7tj-AZ++5@*Ca6hg- zV7vsP);{U)B_}DEO&816fo(bLmj7K05K0tGJ|Mq8O;%ps2>@>$Ze}$AJU;G^>(QKx z?TfGP2aw;AC2;#shB|P7wlGd+sr9iLD=vwTqpx3#w1`$ET#W8PAo9>mafjG%4`+;T8NmN78#ZZt*9;=-P@AsWuHaP z5|Wx1w_`m|Q)-#k9Ie#&c0bT|g8atxQUC_P7vK=5!3{LY2QxiDikZ^DfQrGzi&c?P zx_APBnD}?sL=+HRK_Qb?a}WS?>%ClkanT+ckL;2qUeGm2mDL;i8Ncc2w3XXB;}}?I zqX200JY(%4D|Wtwqy1=}1AK*&V3}FVO6YueVa_7K7yq;lGM+u0eYX|BnzVQ(xc$>F z^y!g*VZM26R~vcv&e(sCaHBn^esEjX`ne{zjKt?4E~o#d(ROdVYVj{4kwQP*vksu2FIQgu%^Jm=3RC>DDC->1&cvfQVGKuC;qnO0|FmM<~D|g^-i7b0!Qi= zL9lZ6O#-OtFA5`lK=t}|&@)P}eo|kqxU1gmpJcoz2DXS&BJ>{(B&J#@%B_j<^C{BF z_{s)1KOu#{NRuqO|F&jyma2_ml9G~Ws6UqLHYWlMB`XVyuz>+_oWLVBuiLR9upIq9 z#-6lcTd23j2FUTP1>-oNG(x5E)9neJep`B`T}uSI0^h}tF>_#@1GYEu#&P_qlaorf zGYiT$#oO@Q;v zIp>WJng1GvR=qrZR>a0&o>f2~`}8Od*w?97>P9$MZnc^5n7wp)j4%(JhX6(n;EbwG z27xfcHG#4%g|N5F%+5hI4ZXe_g9mtQ1D8p^Dtn&eqyJ~q_|wgy?$87z7 z5$mWmzb~q_W}_9s8L#}irjxvRi_#Y z95+qU1t?48ObkrSxk-qq3&9z4dn3a?VT&UJ&%{`w`W8#wuH+tGzSBaS7JW3W`hkbqemA4 z(!S3a*A}9kR%dpn@0qt&gNx64i@2-zL&Vn6`_Ap1hz0pQ9!$TI-d$gxmuhq*T35Amq*P_UJ@3_;3?>G(WCy(Z z3EccvU|zJVwb&5Wzs|>&^NyV+y!z9FBy)s_gj8dH|4Qq}}!} zbM_a=#1F7X$bukX^*wcdIsjIAuC24KjxpEbC!Nl@pof=q`uF#{d)_N?J~}!>_WwNw zabpZD#^W2-25&q-OqR*O4S&i-H2R}wKOEJGe~(uFSmo6!D>L`t!ag;yT~M2&7v3O< z5f1|PhF)G?!n0l6(}kIt*;8!hG9#3SQqefLmA1=}6%-sqQi-A{;mB5ekO+FSU+Akx zsJ?&TWU1Hit1Cr^^2!Ny(#!uemB1X4fZtsj*?>udv34uuJnk*ZubqLNl$vYnV$}Wo zlXAidjh@QT3GD`5md}IM;6AASYBla)FgDKbxiE_$DcoH#NR&4q? z9bUHpb&B*eKYK#_{Xe3Cd%YeyqJ3jk!XhK_04$)44H69(u;;n<%imKjjMF$Q&(M#O z#<1j&lKM>>5iRv4Tn-fjiv<&lJjhB+%fQuI$uD3ZD_ zdx34=;WveAnwP2k>BZJkqER>S0A^|w`EC8TIyPlY5R7GTgY6UU0Y`-3ugw)0mVEW(#6|ucBD|R!5?SJhzfsLfTBySjXPFraMe66@N^lfI+15V%<$B>ItshS|ltOQhLpw@teR_TVR`EYA0v~U} z*YzF*%?0l^ghWmcS!LTLFwwdzl8(pI5&*Si-!7(7s&gru%>&25K;(e?%x)!py;mX}e z_`<#|oFf$@h6<7V6V|JYcxg#n#XbD`45_v&okB~l=I^wNw6#-WLKgUfUSjJ!Wa8_E zAH*nsF|cor_6$p}3$J%2k45e?Z->IV_=Z|)PHlk-k#VJ*sZ=v%u$Zui5}3UyI>9xN z%yrN)XHa8^Q5XAFJv%8qTZ?|e63tu9VD`(2CKvK&s=A@X!32^}FgjZ*@}}3f7syBn zDq1{Gap3BI4k(>$iuqkJml>fivk3(VO`0rdi6m0=1ig8r$tP$A&Si?9p#!zaz`!)a z)2HClo#EQR;|KS=a`cyZ#C%dxJCY(Gf#BgyzvEJam-foc^%lp)TZ+Kn&!3%-Vx&~e z>TUE@1kn>Q3i$o^z<_U?Zz}O{YV0%Ai1LmWQ<}M{nT71+;T#xat~}Z32bc9G1N+`F zy`b=*KdJP6no7R(YMu<1c&HXZ)v?ssp(-t^4#via$Y;V{Ixd9uI4A1KZd~#@4)VgZ z!wSw6|MidpS1E~x@wO#FqMR;2N*C_lw?n+&SPn+CQeaaL0}(3>W7!gH6_0k*Pv4Je zerv-q+8ve8o9v-zxhokkViANSo(fyaH7wQ|Q=Jq~@K~X`@YYc)Wl2slh0gvP`}cmO z`=bUB%}&I&NY8@mAEATfPTzx>8t$ z&LzKRhLhe%&K90rDL{-vBKg!_2mLrvtcZ0IpZ|ce?&C60FQi95%FYRYZ)yTuBdo#E z#ecOKo20pQKW)%Q4_oDv8J-RJC6xx-4F6n9fHrdvBWr?a^(&Qe=$e1jmns6l-wFxCYiSLtT2@9{Bs5 zJ#miBzKp*27T34n#o74knPIP{$Oii2m_4Q~L1AU(NaYzxq;-eSeLv$%IkiaTQkt#6 zp`NT1DH>(30q`NJvQd;m_1}&5nH%c`LGkzD(2=hK~N#=^epOZ-+0WC>0V z@T#nrgfnry_;20@p83A@s}3h}nPBWhv<0{5S;ECgQtY3=YN^)ATUk@@iJ|2n+k%*S zFiayzyBlKe#q?kpf%MmGP+qOM1b9Xs1LS>%j1@gF--QBrYUwOcHs0h8 zgiL7s_mjr+eL7uX7p?1wDIcL2gtt@D_DI#pL^2Pv&@zT|QTL(c{+XD`#h8>-7358a zb%~f#NshKz?9Ya1iPeVirLP-?!fP($+OsT~DsjqEi2T!q|Hn=0;I9#6I6*24aP88T z%aK{79^&{O)Vi7DRtZIdkt)IJG zpQN``TwRz`*=1L^BP_>wIW^r|nOnqZswLBtc&kUx?yM;Pg9||vFB~P0Xz>6hB>}jY z;|wo1I$%{#)2$@GtBXVB6$MGuNk+&Fspi9%Bh1!PSC`Td1)qSW4|&-^kp3mBp~}%` z-}i2_Fc6+B>50CzB1DCAbecrBBHMNE)X^wo-2*Bou zr2;sdAu0$xitu%Eqa?+aXw;h!Oj=v$SVmMz)q`2=9YgysqWR_{JHG#$rm(+e`U4=X zcN7QFJOhMn|EbFw1}N4zfA_|4QNCEkKjAY`-V|vl#M(bB=hL7&lE7{);c3ofxSdjqY(|-7t7M*))D>%8nUG1eOxEu|vmK^b7A$72?XCIr3k5@K z5l5yic_ur7t4bRiMkCFJLHXNdi^k4~C3YT+YA}&v%~Z-a7{twr+z>HYYvn#e6U_ej zO)*y(Di363?OW5H7PJ++6e~0?O1bxW5{IfacRWF={aeD?1$O++0)C&~5c9^|1J(Vu z@H-V$eQ+O5moCTQR-e9FjKew`QP(Rm92~QQXow^GNx`<$QE!Gi+F_J-ZOxxqQVKq3 zI^u%tl(RrDrC90zW+A%zP}DXIUA(BT+7F1OU5h;Vp!LA7`IAZ2`h&N2ao(_YRGQ-s;%D8 z^xy6A9aW13SgusXJz8`K_NgbuR)7592bZB`scyn4%ha;*JypgGo#~sXMX?L&)*#?6b{(5UJd|i%pSfQ$vzIPjE;at6NVw1U(7MmcM zfP-pi>V!XblNJ;6f`2znhqeCXzE$hZ2xUpaB3*dWHz^L$#>BudcS9xyR-a>cXO^f9=>)t*ElslKkx?l=BXZ4k>D6w_DSUhU#>-J=3MS}6)STR9CO1>Tj=9# z%&tT-afpeH4=#JOJeRFnyuA(%Pd^&^*d$j^^4owfnRJMKgU!mqy82`sH)ScF)`OBt zH-{5z=zsxXHgH?PmPxNp;7jllgn&F-bc($ys`=@F{yGz+Zqt^o^9#EWmFVEd=lOnk zUBwXC)W!sKRF*21uY&0xzoS~&vVpAN5skX2%Lyo`zDbku)rp|XW~tIekeWy)Zc{-J z@)fni#~Si*u`BlFKFmn_lG!EOP{B>d+;$9*)e5lB-h}Q(MuCkllf;fwgH+S=YvVK}*+V73`9Ie7JqAhOIuH3`#9SaL z1c;43ZQgUbqHi2|eEEGJgTS~QMEtz&2S|5gw#DA8t}iby(f@@l-P*so^?UzJs21#{ zvve6Jdfk#}%!N14asMb$&Sj?FB__({)W;0+U4^=@8I84#+iVvsgp4@N*2kjP>t9$P zI&Ik+0GzQzHTCAgCZkG@=iOw2XkU!Xw#mxIjKXSP6-NY?A~oVt(WrMDwAo5;Xy%zA z^i1Z(wBVR(JJZF0@{DuVKWn`lBFfor z?zG}Mf6+Yd8=L8OF9LFY?hnD9vV&QSyaT`vUFT7DA3!>D;11GFZdIg3Vc z+wl&g`6$o@TZCu(9%pB3cLEIU*UCW3Cr(xYj{cmthn$i-4xkn~@#A?|^If(#*V)hU zZBs^XTy%8w56@lxFI9Zk6Cyxmbh+j09^#tsJlG& z?Txp}cjf5aGs@f03M7N`I9q!md;=n$pAUh409-ybfW)WO*~vKK5_juv2h<;jxnza7 z2Q1c@pwBkh^y+YQ^kVLco%3CmV6ndgi8;uVBSw7d$Nam;+;6uE7~TJ3ZFP`59nesr zu^7Zb4rhAqBmAt2WYhE<(SLt_7RNLDO8fdFZiJ6L!;>C0A^-dM3-uVv67MX9s5&v1 zqZ<88U!T&0Q&A^@KlJPc_7hGy?<^-e(G_9D)C?x%T;Q6Kz&Itmz^Ij5+$ z3YaYxKDJ(}*YP**+${sIgQDk>dTXr?A8!AvdH+!|AoCCZ-Rkh|3Ah<(sr$cAYvVwN zX*N4i_+McAcLBNz=Lye$k$nIX#|32F@Eo<)@391ix*X@qO!a8y>NRCHFun;~XOwgS zA?f|U@2^V)`H$|*yI)TyZN_X37S_h8H`S`VFwL_(clGaB$c+6JKRa>X*)|2KYhaft z2)r<>If@3)Qsv0kE}FQQaQY$r+VOn}`sKy3>OD`Q=gtT_du(Mzt%W)+qwK1PZ6yA6 zbYn`f5)V_iZ4-n$R`?<<<<7Pm9V?)62TM8gL=RNI41C9eBlXkvGXVe;W!3_y{Z1{RG4- z9Be9{XFG$dTcBCSR*I(Y!GD`dS4_Scq?p=&S*Zo`j-p})m)>N5t;qL!EAeBJ#{Wfs z{P#2SPtuSnm_A2rQj6qn1j+!k-3(nd!Dyv99qB!!3j_4pzJ&!GQ!UCzb6|eux3*?x z0ovpAIHM@YzYFU6?(QlN5N(-r6rPI+32?rtJ!~NR{q+UL(fcnblcU=9Xs-SCy@~b& zws4=1^TL{rZ>shV%PNgVam|nKG{ux$O#EOT{dzl2C%dwB2%nyCM}te2_@w%myR5%3 z5VRhWN9I@0qnvd4VTc78t7rYIBn0mkZc~z8-`-qY!Eh2?)}yzPkAC@Ws*s?DJ?vC1 zSg3#8Oe_(4?2D=@W4yPxR836L71B+UHOmY8nI1JD)Uz?IkW%fCY&O^GXFNJJ#F4OK z=J%^l_Wdp059@gJI?n zyWV3me!Ud zuX{*gL0Ji@n9DP!b#H{Fa<53tU<4eH7;Wx?nVWmCI|Sk3WbM^<^*ogG&nu7!Z972% z$YioM6j>0v8Hm8J4tTh?HlrAKkpXi6EOtbpp`rIvX&rSMQYV~#Tb%b%01v+gSo_ng z;;L$=KKPD@QTt0kyd2kzEh_+|tH$;d+vmZYSDLlQxyE!5XnPk(?in_HZT6nx)a_)c zPeSlf={+3=JCL0$&c4&P>SXoi)cvZ6(Kmu#r{VlP-hX4I)pG;EfUE2-jX`hdWMj(Z42uv@PINi9HkB z7_G#F_3$u`)WQE_0kqv+3!|lO6X|Q(9XRHTBDqsx&_ryoq4u=9b1PsOa9-3#sV23x z6m*B|y6@CWo%4dRe{bOJgzKhzUKXL1cvaLbIATUrU>6(^n9IJMwXT^yd=GQ=0VMmi z59>X|k0|4wW6n+6i83CKfED+?v#acUeXKi6(a`OZqRJUz&AFkA<$d*71qNm3Yk>?y z`oNmuG@#&DGw()~<$~t_lzn%e_IBm(H1xaVGKA4D!Qk!2V9mO9PvEZk`Qq)K800Y} zwR|5$d|rWXmpf}UdiWxEA0)W`zUJt^fIIn5n#Ww?%$)6Nn>m3=Y&yco_cJi5l%>Wy zTudgFum){)CazB=jg_Ot9O;t^Cs~h(b4^3xINmF%I?wwJzlw+)bEQiX@6p_NZ6Inf|P^pgYNEYKA&&^ zX_CSF+mN!d>%(w${BTL=(JS8gZ|NDi3srk+t zH+u88lDF$7qBlTYaGV=QJ>xgka+@4n6v;^Fuj)j5zf;T|^KlqYV|MHHnaBwWmN16dRcNS}w6>J_ekAEU2&XH;N0 zCr?b+)Kh~`xQEkql@wD?UhF*-B|qmS7p~`5h~4<%{F)_)MRFPWRT_*H$Jq1aXfP|? z4{M{Sk^6ByzmMMWRx-)b@J}u5fP1~T2EpMCr5Fa^dWBT6nJqJ1b}1!pGI{h91Ewn< z?}C|$319ZFsJbQW5iJuhAUAjzH0EHJ76%y~-3))8`wTPK1g!2Q2HzAvQU_+!jwJqc zM*39gM^NvVGQqu69?2$r?jY_Y`AKCmVlH2Y4cbNh^hz0(b92NdSsZ(IVp|zv^p9%W zQlCW$fimD~QTeo&?Tlo8Vhruj@vWCxKtNpKERb8v-^V99pUVL=VzE1I2UM9eWYQn3 z0%Z{S@FgUylV?N)t`N4kMjRR$X&GM&mb4X@HO}cWPNadshPAIMOml=)WwE~lI}4DMZE)UV_#5&YU+^% zJud_XalX1xWGwR~i4sM3GBMhTuH5Rs)shB7pa+uh6pC{(h{I*lhzD;g;__ED+KWZ5 z^HytphYQ$r^!^%OS!BSWZyD2RH9W^x;Tvv4N38Aj&J*iR!A{r&wO@l?5%?00`!)XFdT+(#AdlTj^+PH);UIJ+BEGtwr$(C&53Q>ww+8cv5h;nGqG(= zCbpf)VBg8}e!q6s%HQPb?&|8Zs*kEZDT@TbEU_jn72U=N2&nac!2s+B0KwamRjPQdFKi413H;l^@{0U%8|fhe?aP$tjtx!*t1F- zwU71EpO!8^8?Kxv0Xl_X^=6C*vf`W(~p%6sU?l1O8KdoLsf)Cn@ydw|>Z^*fi)? zuEcsu+?Wt*Yx7A-1Ht-^^*-6*Fo{7+Xa$wxgz1K}p02g|OmF7G3Hqpau71L416^+8v53JMC&zwgE#im`j6i)DTY zd_Zy^qGZ;fn`X-)|NY|oY(3Cr0i`3d|7{q9QD3e!QD7#pZ`4P^tI7ZEKA?{q^Tz*# z-)F6Rhx6*m5C{ddjOF_#VCy@Jj`6YoSOUt-_n-d)(;1CshnBYEqJw@PQuF?4S>m~< zY5tH#1~-A+_1a=-c%zW4{dw0#ZuF_rbqJe4vR^!LGj zvn8gO<~7ae4RcoTWxLm~JLq6k$Ka&z`UG0|RaCP^f8qlpdh`m)_|fh4kX9d<_Iyau z3y(Gb&hxkN);tQm2&m77zVc)jICVuSzWkVBt^Oi#N>U6EaQ+#|qP}%rzG6#wZ*TK5 z&m=)GRx9+DRL755JQ>Pl0#@OKW3*(BL zY{c{3(D*n^!M}{4y(VCqF(d@E&u0knli)k%tT%CYPn`?AcKiMJ!Vrk@k(im85xyIE zJgxKqmD0|I$w!tVQE#>WB*Dp_yjGJwE#p7lkHqNTDEI3zuuV6;;T_z^x<0KL&FSs@ zw$!b~D){?Y(Rq}v$5Zj_e0g(oqER2n2}ImJAk6Q;Y}0DK2Nv1jS3>^JiTr4XcTwAZ z4@BM4xqHtPLEinH_!PW)XDr<|&6IjaH+Iy54aCKJ{x(gW-dtRCV0#Gsu~9mBF8KY4 zQhs#l8%k$BndQGZ{J81A?!Gw&qKo{eeuiTTFKrw4p7z{Jy}363fGxIJ*w_ZQe*X0& zp@G}>Imz?u zc&{Pl@@N+L|H|F!R#1Q|F_U`%JH1Ael2<+vFRFEgjJJ};(1PhDsbN-MIUSCWDZ>(% zNJT^RhfJWw<~dPRZ%r~r(&mq51&v{f+)rD70fZY3A-A*a_|mP}(ENyr1h$Q!F`MP2FQ{lz6{0}n!B}?GnI3s6Z%It%8%ynDp zfA%Y2ql<=_w?m1>Zz^M8&hL!Ey9+bI z1saml8b0O^;@f?Hp`+=Q*UXIzg{=<=iwik`l7zp_v8dY$lsfNkOYh&LY;+iJkNB@} zW+ie??ej~Bb)w_>mm$ovXy{rCQwLzAqNHihs^t~~WiS$t9D(5?L;SV=X`8Xyh{^#l z(Yg{`kXZHM6af-Cs)h?GK@No=>%=my&iO!`}Fg7m1PofTuP4<)@EfM4$b8NCid{%v7dX%Z?@BB z!*0porthoZ66f_rJ`qel&=)@B-S|fVOHKdsR1^gA8U6dU#{2j6pyCg-&=$~3_0`pX z&AL8Pc$aSf(Q1`90_-0yb`8{Nn`@SCdC;!HiM+=+z~?lQF16b>gm9as8CplCZGa>u zLF+vZl97)u~u{-ODJ22|ww_w{7-Rs{YwZQMVf@VAG@LJ$IELPsp z6ODqG>%VBW+64yNq=_vr$a9ci&EC_cKW;H%?o_ZIpFTVq&)XwA@k=2Fj<+Rqb?D3B zYpI#{_!7$LO^79W_5O-JjJElu z<%SPE@XWb){y=WedxhR;0!Z`AmweoW-2(H51;8eR3=VFixK_?nzn*?y`Td+~Dw9{k zMF2v&_bb5TT#%d`fk}T{-thPSpFW_MUs5}Y; zC~10yKG;J+L6i@Z(tim0$2{k|+6=<;l&ba$yv`VMD|p|wX)m}EtT!_PN{!D|cG~I5 z0^a=D#eYrM>pj_zW6FMR-OxV?*`6C15dAn@se#1>b($Z5^7OfoxqI=B6B;UTFduDl zo%h5>f&HL~iR+uxP~lF1n-a*EE-Wpf)9ke_{?LC3BI5Rr-iMo&TnsgvtDI*jvLd-f zk{SzDs}Xb9fw_=`OwYGdcA1WO>DkAH$-hn)*ZgN^jpcy{g|_aoPp9X;pH!<#LW-0Y z%iR{9O{``t2C?5oFE7VfWM6Vbq0pj2?4Q|^D?&wmdqi>YvORiYl>aBwG7PA}egb7e z&jaBNPvHw262hCI5U&eKpu)SDK|s%6l^|xQd_K&cznk9(J%p*U74=IXCE;y2k}ct5 zp%$(8V?!;M7McqOO1`3s)~+h%2{n_q~=-MO|BMW)&ndIupA^Qs$`7=06en4Q}HY(ff3cfQL>k z*bUfvZ})Hx4WQHmB1)C#6wSocJhdo>%h82<<}cMEeOhZ*Ha)2+hocHyTL0t&1Xx&A zgrC^1Dzxga!ioyKNpC|HqflRot<-On`&$F1y}99SY4@Axr-u}QuDKKML8z=Vrva|{Nfeo2g%Vr(6h+-a=}hqEMVq#-06_2U!&q$*Aj#^}xF!2U?wh9FXH zImwl*XJUL&m;pz+=Yb!@8B~3~)O4_z?Sbm8Y?a>D@66cSY_EZ;RqSN9Yv(fLzj$&e z=jg0*9T4&r{h$h~7ecm2upMN}q(GP)NYmgh+SjaKCTmPoGJK6EcGQ$>pbTT;@E>%?hIz#sg~--4U96^kw{&N&WSC5C#EA`wbbfCIT5ZV&*v z*fuAG0|Iz4>A;eNKPbwuoVgxSucxS`;I~rqOaP@HEBgeVqIHiJV~VLJ;mZH+hOvmt zuvKCZlR@f7!~hrHvALmM)~LO~#~dvEdEt_AK7AdiAk8j2}lyLX2=yj&YMwZ~mcBH~4Hu3x3XB4W0jZWA$Pgof3s^<0#SfXPzN@sDf- z*J8tmGc_?ZSnKFuN~1|u*rRGZUNxvDz5!DVA4E+!MfJmGa80#fdkJ4h40E)%ZbC{( zU{P*3A%ALH+wD1yull;@7=_?a{(xiI3fLN%b+c}vTgYE4&@zxs-K8n`tb_-&P~%cX ztduVdP3q@2@{iGUm56GP*@fBR5ilB5z;w>1xuDT;K~spzklHpuxm?du3}MQNr-m37 z>F{_W(wlL$FFUq_JLti=7aPC-n7mcme7sTll|7FlnI}fBekJxx;}?oPfvCF%McR2w za9gC*x9Hs|9&61!Rh_E)h<-J+R{#&Ry5*yuCU&R2Fx396{ zvr9_{Kp=LMDqOI{WQTKpbVLFxI#fh686HCja+n)uqd5LDv-BU0$wIOs9$9EQ5v{&z zFpTdmDf?n^c9@3Q5v|Ccb1|(S978Woa40y1gVV4WKPuP+81&AgM8Wxk&BuHyS(YYY zlx60|6ap6QeX$<7Z893{Dkb!*kCm&fbxw%F*Tkd7JP5>5thqP-6k5%ZqmNF0>tCxb z$cPOcj#Fi3#sAyVQwE+*Fao>5yDXi*4u0Em8ZhkKf|zfu}g! z8nI$$SD<(-0++NaqzNn+htotcG_$tsb&{x;bG;cN?(_ZkniobfJhza63Np{}=fl2w z*``_btY;}0QScHlRu;mx1>_MZsAg8~=aKI?@|3TV=D=oPH&He(&@2*pZOc zCj*Lfzo92yJx*Io<^BS5KpB6f*+N72Rn)u_cS3hR)d4s4t~3M}gl<196a_0cg}w`( zy&&7$>tLlZO2L zv4tLK7$uc@Cp*x+D}G^jB&ayl>H6V`zR9FU892p=BQy zIlM3==c2h#b4D;4exqZi$XLFW(g3eP-rzGut`@3U8F=}iyT&uAPaVZdK>eiB8eOCd zt>odLLgrAwR5E`jFJ~-TD-m6-&YW$_UwPyNVWJ~zE$zFRxXA8Y>~lg2R%jT<)Qe+k zhr)%I-WyC84sv02=%*pS?S9u|Uvkx?%l+n;{bAa7IP;D}ryZpV(%*t2>SZStZ^Vcm zFkDQVtMQ)EIs0WXE|b;`i-qDnv@owjxn0|2fv$K4!`VBYa=$LrcC@{)R&9>&Ysp! zV}cI5wSO+(aA>YmLx;P7_sOy}av8WD=XgA4a9Sv2IIMg?6LWV<6)j9-n-jj@UDE!pjs) zf4&1S5A~yoqp1*Yk|<+FVtAVItq+jEGzi3QX=uThkbcn9ht8wBN@|RT;rRQbIE?se zCg<$9grvY+1AvdA#D2^~yiY7mc(BT`ttd?oAy^#l!2Z%wU$zJ4NGF&rxh$-Z@|al| zG&ScDwAg4VyF@HscU_nmQCLQHCy5xXEhu#?#frrv9beZlnZ^G>vdb6*WU%_Z`*`VB zryP*XW?oT?dBq(ffi&{|{OPZu=V8t66FKe%1k)ZGK{9+_$Tkb&#+N0KKq~r1mzT_~ zP=CobPGcWfju(r$G1OU5iVOcp`vg4&_9`1|N=S_ZG&KMMR~)qPZT0kXaKOcS5GJ-Glj4Ef36=K^a znH@Ox?)l}4HVH)6?01p(a;ItfX~H64en8}vfgQ^CFwvxn(DateMpH6Tdpi8=p4eYBw7^{9>B)O17lzbzpqXaO)poVx+6l_qOcG=gchhLmE^C_YiM-KjRA zVTR>uY_L#u0MSmuu0mbiZrUWQP&Z$DN!+sm7}VX+rjADX7A#3|PjekjM!Ee8h@u+l z&y^EaStA69%G)A)*7{1Rjasd6eG>~^NYNPI&reoAQRTywL1jw4-e(*ArmQGfC?@7c zw>TMgS}h{`=+o4v?!dAZZhWzPr(OW@jeE@3c;lJulkF9+o}Oq?5ieFP2&)}IS0Yma zA=SIbGtEF;l*&Lz_-AA6$zN5bq_W3}^h4~{0x(8!Ct63NbG-UXT$Gb*npV=c!>tZZ zIo-l0Em+0e<`aQ`i$QYHkY}P3EdbG)83eY-hOaU`PGC_+i?=&j#D%sAnX2WwV0{5W_8MwW*~=`35N z=u4~x@f9IhdzYsoCi{ zg@E09WQ!)LZ6A$St>Q~FOyA6*dP}JsY{$`fG|l0#UtDH z%Q@YJ+O>0riOq7X+Pou&(JWSas{M2*!<`rn(VW9#DVz2!V={6mI>VfwrX|XuaXy^6 zzGS~_l3?fqqsyjhyDt@;W9bC|=-TUb7WY+_+0zwDu9Ky|oM)w!Tc$(eSRHjQst<38 z&W^(;8zh6FCC3`xNFH^3+COu$X}o98qRN@v6^S3U=6niNvR2EF(ROwCsTlhxjG41xQmdUaf+P893*!c*f%MtyuF3to`Y7HBSt*ri zzx>NQ4$b;$^*z`o1~mDbYHm$e=E$ClT=hSkcV<*W`d4(GHsK>!{M;?p^#V7qz^jOV*=@S<$t|K!U8QC`b{M3x3*d1UFA_K>V z7Pg9-(Bs8bZ(x}O?u0M@Nux;v-ZuGngSE=HbeAbf(}D?oyO~2~*bY3C50c!6$p^Gv zm9wX~l}~7P*)!Mw$1#~6>&L`S8>y>D@uV(q_`xzA>%zW~MAHfz+Y1Cgzw*#JQ|eL5 z2bNQaCm3u|;o?{;$Fi{%TkA0{LS~U!oq#tcV}7p-oitQgQm5dE6t)GGS(Y$qmizPp zJyK*9Wh5dDN4)S%E8|MrG_4b`UFLYcVSI()s>0JA$E2HU-KMBqqY!`c(5K} zAt}GIWr6wHsl%FB!%@p}*WdrVtzza}+2hhz;`rJWm)ww8Ikg@2Av@lpwMDBlcFRfC z#$t6rL*hV0nd@5;diG-ruTfG*7&ANRh?W!g=Fvu2cd$I|3nb(%CW^5P40dzd8`NHU z3(dymS}#!?AdS-QW4%c={Wy9b0jVd8DgViNgvNbLaghWF6-w2W*QEANbxc_ka)h<6 z4wvzA^_gd~)F%o0t+HL?3k75)xE|(p_VbNChtT|TvjyXCQs{8}9ek3scl(Nj+t6g; z!7?Gu>{Yrltay>p^b_VkNY7!8`q=Ka{>uR%gX!g{=fk`7PrA2yetSvFPJBg)FRet} z0Z<9{oc_xISWync?(k4wC`a*Nhbn@`D*KMj7IAfZePL&GC0fu6sAzm}6%(41et&!;jL)p!tD1WlFnScDn*=1B#EN6_`VYxv` z!zWHoTvM`{3zgI4CW$p>Ol_YgMTS^%9<+caf{>poi-2B-ZN9W!+L{MBB2t7Zw34jD zIEQ}EL*Mucva=-RP}lCQkYY=W-!R|e(?)|Dv`Y?#=t~+qvo^{horVHrfKhL|0(p9^~*(PjLq3(%?PSL8+? zn8y@HqbGxE689qhTpA=qu`eo49o91evgoK^6!b+wT^6i0(Mpt*mosFIn0d;jZTRWL z^iwHfTfVdT)cHjtz!JMBE>}U~OIJbiN6AS6jhexk;naiYgw{6p00a^;cF3#Ywx!t~ zJId3I^214(?T{W~aH2ZadS#imsn2kU5~R28q(UJIdSJ$Ync_6uk*BIt#-~WElZ6g- zW{NJ{A0-H$!>v{M$@pRlvJAt zRQL=|QAa`Nae^h#E|>s<>O}x5#!?Z~b-%zxUH;>0j7K&4UJaDVP5)|Yg~9Utl#E|J zDWyaz8m`qGHyEO2#`a_wfi_yl}_PUik_7^EP4-8 zJ!0ewjkq}aV;cc@?^mfJ!mOlq$Em5wEXmHnh3!6obY)Ou-}j7yPOwB3v%&;QPGf$t(XLXl8uU*9B>I7a z)N^=kZ+nRpsR*k7qv@pkfAxRR$@9?n$-*dBY4KpBhKl(}-|E8mG8VHI8gd0()A%SxhD<&Qhlll z#Wjh>WQwix)f>=zpnXm+RGozX+6v6PHCM|-p5E%IDtp9VsziFGap1G?khEm)shX)% zLUr19X3*PWOuH1@bxk`q)USWOeIe3A*GHg9H_3uZ zQ5S^)pcTll!N#A`{2Q@LCOM{-j7xzU8p_`@`1be$1Kt~ou0*=?_^;`Y^v?=aHv6Q%4+7;)MAf%2|j=AzZAu*TMJzQw6(Tb1}y@ zS!kuG?ZH)Gha!fmx4}#+=k6{gq>t){L1?qeo_&4(XOv^Yh&{zWJQ}H9SUJN8sdz(Y zR*dBg_K!s1!cLLYGzj(%LpAO1J{DnEBkB_atpmFvNELJ%Mxp5~8?Sp>(x?x?0eZec zHx-J;uXlL2xfz|$VrZ@djr;M&M+VF8MghS8fd@Xt$G$Oi7CAaf( z770%XN>nm2S=GSWIP%Ur1*7^6>y^h&Yd?m3@V>sOwg{%PxKUNeSfdp|q?h923Wl#= zthg)ke=dTOp_3b=ch%(>?pQ!qh)p1FLY@e+CdNkkmTg~jd#za-3gy-83n`Il!|g?vr>h6 z$YHZtC5!Dt&gTsaN>@i3p`6a8S(--ujhnI0w;`0atj9Nr4ZAFr^=d^tc57uEWr2-5 zfLM@wdC)o+f+{!Qw#6gWg1YD)Py+Lc!- zS&;#6+0lBCCzT3Um`2~G;Ug29jxQ{Z_kzGX!>~=5?)AmefNZ0Iqkn>=^U(1>t={9; zp!*0X*^XfuUf0*Cq_8oM#l((^!^1R&a@B|0Y$3R*t#vf>D79K6#C}JY3E-b63`hfC zHmVK~F7sa#g)JDI&4JU{sMt(eCs=YP0(NKu{wN9Tr`jYT!B2eQS(gu-s2az#IQdH}hw4_<6ICh%2&CWhfu+&WF+FCM>PnlY zD%`ikgz->we<)n?gI!e03o!*ai_YDD6|#3lbUrpXl^z3dn*N;SfSm)p;}j$tN7`oq z*?HEtKXb1r=V(J@Gt60|1~`K&r5PDtcF0I1bl{LxJt110U5_71Z7#&!UOtD9#5=g1 zB9Hqm1I7P$sxW^Wqe^ug<<#-ZeMwQf^p?mvAG0DCKDTRa)N#O@X_&a zprA|L-;__AL@?qEBYF*W%%W|IMt!J7AXP+%Hw02NZ#Gm+M>P-+r6i$Y!COT`X}H=5 z#6rAfm-@(DsAQ8!tT7HL^c(t}Atl(lU$Ev=motFu{1HXXAD->)`1pSXz1(^!7TpVv zfyO@O$N4Wp;ML2Vx_a#j8NTwpF+`GHU8*?>t85xx$u(qiEhn_>W}sdD4ZDrpQ@Uid zUDLN|l@c63LnDtu-H*bKBoW_jK%cz8VoBT6nJwG3FWeo zt5w_EDeypK7-Txwn42gpB1|{Ev@Rs`8e+-CAgl+H+mSZ+gya@}piN9>%fWc!qbZ-EXk-SPhVRCN zj0JpQIy^{T(^;D$QiWi?1XHTrMy>i&r{SZx#4$#$p!cUl*95ZhYe||Uc88)@wRVcjk-^y) zei}~2B?2t4G~*I3d3qI6H+V7wL$7^J@tSJ=iUwRNRM|IggN$S=CDw3eI1b#xnq4tN zPc_3ol+1G**&fe}+p6l9xx{2cUH%ywds-)%T}#Uxif$qp#Z$SQ%Rb=gYRYc}i6L7Y zS4_k=J*X1byM1u|b)J@q(mt1QV2lk7IsVd~Lq3nL5f&K_4#RdwzebWADxdG0jC_P9 z{qvYVJ}#5ygtd&RzdZE$S|k_1=N2@dlmIVE-QRPxttvM=m0SIGr$d!iy>j(Se!ky~ zmMwLP&I8?lYbU{0LxSE8j6vJRhrrx2BCX5A+cvwLmuPBzi)#%{fdE@{gkUfuzdzOj z0-?PW9dg7_BojIr&>5?@k;v+qUOVz8%FIU4f1IU0hdnpKdOw13Q|6VwfnWPGLIYKq zkn*=sSLzyYumTwK^PowTlr=5Oux=BB;!;S5r`5bdApKGx4i=7_UZ(x}vD1G@HS5_) zHl}rdI`CzTb>LIU&=&*5dtDvSe?VUO%9oRmadqX|_-vNfI z)JF&LNe=I2f+aUkt#7 z`q9EUqYoK69z+oCu{ukw$jD?S9+w12zfgcVK4B))_{zz(zG%FzD+KmHGchyS46M zq+<`%A55t4D!vNn9;}lx4x$+^VADA1RW}K-ssQPKqGcS5Np9p>LHXu1{C7uMSFD;c z%|va@oQ!Erc_x|oCITokHJwenS?}gGhnBMS(Cm^BL%%e_$hQ#<;pv9cTb%mr{$Tdv z2_loBC&@0iL4pPCS6_ndpAIJTAx&*EAhJEfo;1SDEUU@)|f_6 zCEze2og7t6TwvzUxXDP6t2i#HzL4aa?=E%6BsyWZa!;>EPpZ3oSP4z4KYuM9&!%87 zf19r<+v+;9>_jL?j^4cwWfroKs+}IqSI} z{F|%hak^|f10{F0)`bFGd{WUaV-$Y=((3(XpK&md|i{ zy!f@6Y#4cgDn%fXl2KD-%l2$`u?4oW%mL-~Rt;fsQ$bZ`2sd6-vyDFpD)8+s-iIpM z5rirlhXTw)S|?64H59H}A{Oeyu)t9ruq@dFU$ zWVeVRF9?|puH}(`jNm&1rv=GMD_hP#$zHTUvvnuBraR~6{{M!9K?W)Mb z7zDrkDL-1u1wm^|ZhVy+O{oaj%OsyCA)L4jjM{XSZ^ z7qJC13p-*d`)k!I$dZNlhKabXkLd5u_a;>& z&_Ss*c9`gbAv_2rXnsk5Q=hT&P}ZDyrZK1UW=UPcNy!^BY%q=1Smts|Y;Z)@f`nX; z*DNZm@@{cRN(?Uu%;hQAIFFW8m1d%zi?=i7F2N9_3gH!{(NR-itKkA_j;JsJo`|%0 z$%}}o%apEIrIjt=OLQr`W(5Szhz4Aa+gbKGKP?FR`Tg@rbN=lt5KIJ?Iu>WL!JHtC z?La6JJ+7X6sWgz}AHMqim|UQgC+CUBv@O11n;Giici9$-w=@DpmQWe$P~ zktJ1-7J)-?N|FghInnqTZFd)(R)}B^v*ogu<3u9B$13!l{P*7s*l}mbh@VN_(~*=B zU8afKrZgHpEuMWRIT#nxw4G%6%ajMeNt#)R)|Uuaj@kw=L3kiE`D}7thL`!WL~yJ3 z5BaO3g17C=>ZCkqw;#?TD?pIx?LMAzIRAzDeIK@eonP1$u<(b}D=DG1(|lzt^W6Y? z6vCM|%t8vm_}C6&lf4c2_n|3L;+zqnw~`{;6IKiU;cV*ekuJebw=Qbq3*ay%qpU$ zNS3dXwpR4<{d*0irUAs z@&I+DZ9x2KlVXYUACRqs26D0>M0W8b1XHJzRC@{p6UOg%0SdyueZ}1McjS;%Q2iDZ zd#x){00RBsS`so%LMgEmw=|T&T#y32m(=R&e%;U?pY5WJQ8|EfWOM2;L^3^BS%Y2XihFz0Aa)G} z^WDn=*VIY@_!pzfAu0)AVBr-I%vOC zc74geGlc{o$Sp0lMbjPvabwEG`yVA9?QNuC4^+Q25iyYP>igcTaegaNfi;T~6AQ^? znYJjed&IZufqwi8<$H<6c$9}&Z7-$a3H(N3+U@vJuqU+`oSa=Ta0-vLlM+BJgvZ+# z>24&PsN!z}(Ggi5_;%3K9r#Vigx)Vm)D$hp)BK`&i>);R1eG_ibcK;?Q<=U;m5T~U zyS=-{`p{Sg<()X5VJ?V%Xs&2=CE~Pb@O0KPvMu5;DOS%X60|#U%!j|tK6_P^LRFm6 z8#Dz)kUe7*lC;vpogrQ6i9vX9NuRBeShumxzs)F5IugVKO(PP=1E1}%dk-ACNIto6CV z4B<@vz2%3)(cFpmb%8njJ7&7>^NnNUc58%kCY53f2dmCSXJuk;C_ z#4D`ym*fH(k-$5Wvc2>_1F7UI45RRs>qcWT$EjX5>x{K;*`(l3L-a0Kw5vQRh+9bg z>8N4`O!z?jCd4 z!{Rk_)9ZC%b?082>88kT48DOf6ZqE%Ubj& zpj={9O=SSe8yS~uNl)qhz}XWQ`*oym`qzt`;!*}IXkirRuyLyw3$`-Vo7#3pmP#Ge=bM`oWBB zDu;us?2g-pi)Tp}?!fbU8?+Auit+P104v zOoBm4MENr-=0bz-F@ptU>fSUu>GY55p8AJ&L+BG|46@L$eoYpi1|;>Pc)%U}d?GoZ zj-7q_7@q_$+TyI(Dh|{I4b2`qtyA4rX=V%nQjduRlR!jKx`QFt>sxI6lyTo>^6EvJ ziPG=5eT1u1z!CJYdiW8Aqv+9)8tyeE_*)L*r8r^p^$WjvY+{4lk4R~zktZoA=-4r< zXDo>)FcM+;YfqwMi!Q&VcQLh`P4&rmHQfu$mg03<{s`)Za`7N;k+6SP$A0(-!(fKM zQpTVoV5>&bw#dMsnAeEyP-^G=Nnhr{%V|0?c|ce@-YslXLIo)y%gu3}vKn2pFRJP| zJ53l(UeMgWK&Xi=$4SD@gW;w1OQ?f?dT@@Wf9PV+5jQ8~dRC=ifHTQ*(Uf#lxRDN5 zue&%A444T%!vA9dgnZQZq3SKuIh$zW^+uR#aJxDYv3rRm}{pifzz)C=&Ou@0CQ6C$*f$KoLa|;;KxLp*z zD$}2CXtKoor*i(!ke_64{-6>K0wMyEn2i2p#JHBkGKRuP$vg&jtihoULSOaH;0Or< z3!6hCFEOh~VHbr@0(}Y`iT<6%Ay-0x5nUY`X6ZCdCbLXf5t78e+2m6NjG4WT>gc&T z7QB>l71E7_@T;$35LMciS1tJQ<#A0vSb4?nKG7jd7`+}PBd-ChSkUkbw-NQf7iX{I zb2`UT>{ffOQF+YeV(>%5)D6h|_oZaW7~bB3{ouQZZG+M44o5JEY(+_L8w}qp#HP$NJkebFH*|4iN)3z1kwu6s;!Nx=H&I+R zj8dWanLZ5m>&y52%v`Ossxqu+?y906i}{F@ z%t*ltf^fZ`zW+4)&2#rSy#572$Yh2-+2?5C))-QRwU$llTDP5b^bAgdDqBWS98>t# zw?_pSBtaPfVVsGmB6WxF-4}Bj7~rvPsYhalU$Uv{0ANokMA)*OS69X;iUnwW4Q19J z+a&xYWENlOH~hi#55fH3;Nssc{IN!}Ap6_Ukn6*%oS(~<4raS$ zr{L%I(ck?sbe#9-uE-mZD$%&Wq+C3-sat=1IZGVl9HJ9%|LwsY4IIZY4bAE+gIVDA z?XQ0jj{hETl_0#mN7lK(^895y*>Q>P=w8b5gCpsGiLv#qT3XY!FfQz|9FVKN2*=)l zY@dn3(2};}R#4&_wMh_Jk6WB5^qtV^lX6UXrE`-yWp=QC8aZlqhz^1#Y5dk2IPDdWkVC24v6@AYjH9TkJwKP*iQ>6~j5|dm*XcI#}6aRyPc$eUMr3n?Ui`+a=&! z4Mjr#bKLzy5j}$@THd9S^pZCmCUt2`_F%Cx4WM%53ZA=ZTxdXN8Nk56$oJmobB9cI z!>t`9qtVP!Up!?+jW(dmoGQjC=YGLpjIt@&knFEn`totKs5A_N5yAI#9aq!4gNSqQ zI__Qx)3z1d-0lnOAN)OwOtcC`6Q2b$?a(%jyM@Y$X&qCDMTf5&!zJGN7e2Qo*ajoz ziQZrhjbCY@b{nG3eqh3VO3pf0;v9hjK#PPCqIb^1L<>G{l^d{0x4*BHuJSBnYy1R zk*P?9o;C`&y7|6B@cOEF#O2IKc$z)r{C1|_>+8DJIf#f^^AzS2vGxxWM|gWLCuqAr zQOW!56gIOqv1Ng9r}rKAg*$vn_%EEdJ0dS)PKU)Pl=j9~V^HfZ175evmsMj2e`*)S zysp$FvJQ1g@n!0bDbHuDEYJyY^Bb(s(-%f-7Bx7vk5L_SSf1Z_AEt>bk?rxIf9jvO z^TT2MO}@YgC#+DIW0U^n zZO!;9R3gjGw8D))jX5U%Ua=9DoI-yJhvb6izr4MHvuydlGLuyK{(;mf8XKdSfQN8L z3iJ#uIT;xTJ5PakA0l{z}YAQL0{dsn=^HSeBz z#lO&b|DHko0_Xoqk@;fxU9H7~OZeyuZiNlz;UDT}y{y~6DP_Eu^bCW%WYCrqT^ivq z$|+7tS%p^k4T$2xEp$MwcHB_oan2fbuG*Vdn=4&e)X{|{5ZJQ!V72=+r|EHk9!x*_ z*0VR`H?WQ|m!I$K#r*o{(nYpyX~<1^$QPSwgtun_VO;g>-!ZA-J9S5T9%spAQrCE> ziT*6G`-e{Z*}@XVMD5P%x829i4&snMl`=eQO3CBpBB?eNfKW2h_PKtd4>9dWb}rEZ zV`0I}v>Lgp))VL<@_q*9OKbNZYDXd*PBad)z5!pAAg&=}Eh93v73^@SM$`k{S7dfe zWZCoiMI=h99DN?!vb!C;^%=F86+_eqfLb=3&-r0NZWV+>C*oG1@BOhG@Ie9r$2rci z{VN8MRlc+2cG-dR`l#dV=Qmn1hVMv(;O`y8bvLBzgbGTw*knOy0&mke`&bf=BDstYpJgv?fMC@k`A=7<_i$M`d4^As1&V>a42XM za>2tJMVZ7wLUJfP*CJH1gyY=oz>ad=oi4!Ki7T%3)E_F==rdHdy@{zhSfQ$!0D2}M z@{SQiGmjORf(vVwDk*#R5f)~VfwKpFqzYAtmGq?|L|Q52LA}SP1m(4d4u%hcVo1)b zuQ^6W#4OnIZsq}yRY?nUC!y_5R?)<{EcSWkL|#XZnfsA7kE1(}Dat3bItyQ^Spqcp zO)PYHne4lH7t3MftAN)&O9XN25=3xzM4?fMm}Y7{L3Ws|l<&XWTd{ZgV`|&LZWuxN zGTH&5g%oFWsMzQ$FbYJX!?`$_8Tj7I=!!cI&qs2k;UFN9|Bt3`jH|r+-ah$c+cnv? zZQHgd+ng}jQpZ8r+#E6<8(IvphRRdP0Y^lrUvQ55oK;_i7>YqrDk$rc zOF7{u5g!#zi0mVvTF5o)Erxe3;?>>M8$3=Qh0HAteEs=+9K5dZQJ+01fOk{P3v_~I2RCKx+Oa6k zWA^xx;MLS7_P_O}Cb{Q7+JjZKxA4w>^)@i#T1w9U=JQ33op4NjbVl|ZBlS;4Z^}Jl zgknbRNhi{J`Twvo!du-f(cFNb_3`df&ec1rB0~=lW+PQMO)dIMhb%UIJ!Y&&3uXwq ztpHVfZ?LQ{22rLlnU=y5NRVMalVCJaQzQN00z+Ahw>W$u-FTh-0hkga(hdf=WwW?N zceB41w>a%_6gDYgZcyHATf+U80)aR$9{b1C6Ks$9BK7&sl(1H}?l7&u^U#Lf@{0P znd1YeVhmSBMM4sWh+O(=FPU$guO`2f=~o0_@|A+b)kb|gO_iHlY@EJ_IklE{qtmzY z5u8!+_tDJ#n~l$=CU+kuc|cAUqIP#E&N7PYD*X!i5idu=*!RgRkb93-s%_NBKQjc< z7~tu$SLI;O=}y=Pb)mc9M$!&`LhWr~8FxSMLPba$E$vEmaEnHxST{%fE7h2>tM55c zEQ{d8B#rF;{=F%&*n*VIlivH*99w3`-%TT*s2&X{!W+(?sgsNGCGP zTm5dc@cdsw=zVmhix;Y$NI*kW2i*T6ezW~TlqRcMRoUpbYDt)+WoO*>I=w)VoH+9Y zwWiolN}L-}ePD&~UA_r+b712S^#eT&Ol~43n9*Dp`?2<0N5rMFqqJIi}(jP5Ayj!L`Y#Q2i!H&1|zN_YY zqBDNN;_mXjaYvNlZ33w#l7)>KTnMlE^b9EphwM7*2!^}!36Cjaiphtj@&o$>bP~TJ z8J5kK4`?llW^VJ<3YQ@k?4D(%DNYABLy{_8yl*fY+y8?D|LsJK?qP;_>-sL6p5&gSq}N&&e-7t!{F zTF`o>pE6_Pi{gPG-K(upl%iMr=Ae)Zyy{Pb3l1k$Oh zYAN^xJTN9F`j~8mVi-Lm%@i{iuviI3kQY|dDz^6;TYSB45W3SDzSRD35?;kS)9eTz zyTtj1o4w{-;6W#ZR!Dom+H^X)Jq*KyF7LYdpJ!8s`M&NVKQ#?4AIbgM+)Vd^Wmt&R zSP$4L-7#aANkZdB+TIV$N}|T)aaTb5E0!luQSP|#DaeN_=odamBLFsg9O6K3dOT~1 z8$sXLSKTI~c%y7W*?hBvt7?8nYdNGgyJ^XcVSA>9;STKHNaiDg0GeF-2nkSRI0@n? z1$%JrwPK707=;#B2rKGGz8K5gEA`l-g3j991y;YQpt&ki$VT&gcVd>Yt2qhOrS~XJ zM7Vz0=@^@bT_HXy{jm8puUN?SCfDJDkpaUqshf)d(de9PtCF$U=F@2y;G7xh%wL7A z*1#p>d8!7(h-jY&-MX$5*6pLJ2v_4M)T~K2iKqxY0bz6)L=elA9D+*M60@lq9tBTF zPY90VJ->qVo@{M#rh&2T6y-Q>$@-b@4W68>#YKByL4;+v$iiQkm%#~3^k=~ z{mTYtj}bLn1D6@%hi7!rAd><+BGzaSiJJ_a<4 zc4#C1ims;pa(5;@5m;3gGFaxrBo&`Pf6ECWb((0{)az03AAE?6B{lRsmug%qW(#Z& zzWB~Bl;(l;2jtYht4#vmaH2_Cf?|JDBJ4z9>wHw-Ry)C(;X-j#8Gh0!a&< z_cV%4uyqUONnPCPs?)M7p64UetB8s_X5JGB(f{0bh=M;g)oT>T?#HU2^-1GSp06vF zNM?0|(S#EYFn#{_6uSWEeTs4o{Jw*ZuaT{HwY5+uBI!yM71cfCLVXhB@Kf$tIZ}~% zNHq{A@Q@%cI6UCMwD z>U^KcM&7^HyL@FbL#UP3)x~U_;frM9hu6H-OJ?fJ0*7;ravJ{Q|DROJxH2A0Le(n6 z97f5qX}1zO0%Y)?_?b#h5;Drju;6qz-y3lZfx7xICm5;>(n1p(xDODxTu6%ZMSMPa z3YAHs$ttsvsn&#({KEFApnx#_%7LcDJZ|Af`jI%rC+mERb9#-#4Esy%M~_= zqw4~8y*q1>AjQq|%%`kT!MJ(K`cVj{;!N-b)c(k}N}ewG<}3#OpI5B~;T$U4VdHO7)2sc&RU zNyZQ^1)}3=;Ja+0bU(^nKI88`c$nrv4|Niaw@Qm_Z=lo=6UJyJZ8{ZGejJy4F8$kq zm;TIGyv9eMzlzr7^jBIViZdM(oKXtne(59th)PXueN`A)i3T`cQQ<5j2Et|d8yH0M zVeP3jacrEKGL;Ox?jo20y>!K8)f04^)bBqY@NS2Rv|YYY7KwXiYFO)ILRkQZO)1#I zQjR1h`A2L*eu^evUDD2}^V6cWiR=4xhv%Im3Y6L6q;wbzkM5{t@=-sNM?+GgrPE8KKaLaN!EhT zp`Fddu&$L1<%60^4)IOCg{*`yZT!1wYRAg7WLU)>9!}Vapa`4g(k)%V@AAVNS`5{x z4{3LSo+;!g5W&q;K7kmIs#PZ{Sm=)+a{jNIHY`PrW!|x3idd8JMcGn?9v8w~s{HbO zkB$JT*l=;yAu9s*6?}z0s^yuA?xgm$U96FO&eJv%mqkFY)$?We&MnmLgT@Y+5(c$i z@@JK&$rFiEE4Q1|dpaYdB3sR}AA(xDOJOz~+P?$CScwjf$#UdV04r+5XskVO-^@+; z1#@G2@WZ_sSVwPu>ycs^*&~0k<-h!cxtm#t9S*%6EaP*jTKhJXg8A5h!_@U3=__hU z7KS}SF}p~jP9%To?_4g5K5Ld8D5Hre6FZtSXpp`jT_M@m$sEWdOJ#h!;2!?%xi<}G zNd|-6_hF(C3$-rP#RTmqTEpqa^3%otoO&@~jO5%;mQ9inOvV&%`vqCbB#yUR^F>tW zXKWRf=;eF?eH$;eGHn%Jc*t+Ahn$-iGPkrJ&EZBfPov5At?D<&baf zkn%)NBj-!zjH^Q2fjMq!5>m(K4Mg81fBBUv&xVHZn^sr{h>}tAPkR&&9vGB42A$dl zvrV+@2JjKf)u@Y*;t?~2@Gi#iZAJG-Fbz)mTpx!{Z^)b&&&s^|O>xi2$Cs&#rk5^0 z!?30~NSX8uZkrjXFf`>V$DmHu#Z*vd{9Ui9V-E0jzhO6_of)2~CaYlI>Z6*4cCLG? z=+k@0NY^%lh9`{CV;$NDztu^gKxPc9euy`YF_f!UodxnOu|U(tno8#q)tiJ$-T)bT zt?2J(d2Mdoe&TvRueaB)JLA92;Y~zk7s{wpD5Ftz2fxX@oqr@g5w5uWAb@TTG;@-~ zXtG38%S_gwrCBKl(%LOTPnN}1Kh_|ucZlkWF_o#F98fW({B#iC5$~cA*V~90D+~cE zb)_5K9aTuadHExJ@mdz_8qj1AbOp7i6dqQ`#p^-%aJd1)c4L zzQomKl)tno4u1YQKF>p&JgsL_csG?`|L&=TgAhLx5}y)A>}gSQZ^G zK>&^|!;Cmrn@>wgh8W7OH*MuQ4)Ho)bW9TcP}G`KP{P16Sl5sDG^lI zqG#!F59elsa`40j9pW;x(Zr9ZcV!`xOwA5DgV7IrsZ(fo=cWfj)g>As@oNk8xW{Xz zD?%cC)&FbhL{s|7H;sFm2-W;Xpom{%N%`h@9<#Dl>XQ%5W>>*KaYnZKp)NZN&zXVo zBOqmzX~NS)#u#%0#zKj42G9++s8OIj_f)eF zY>sA#)ZX?L7sd#Ee08S9Kj`l>8e5She-cCSF(dAp=g`3(m;fT~sk%^&LW$u7;jcht zO{hNBGTi7q)`{VG_XJr9GiJHA$VXof_3hHS@M|rf47O+*E&#U*!f3aD$gQfvLoLCq zQ7m9wZsV)$_sUW;z5_Zv+UtO6x`W+6!WYP&AgyNL6}teEL55D0;Md+Frr>v6#YduL z6GC8_0b`VQ(W@wWa@^_X-0F>lfey5;x>n?#Uh$%lUG=S?*WOIFkj)SRJnVBiQAHJ$ z-xXgOk=M@sf=q@HB^><{vdHv7DM4X`H&Germ-5dP<5do>3w+6(H>TUJ1OgrI)Q#yE zw*b0Y6Yz}ef#la-dOYT1CfJG*X@Z(Q5&0G%lZm9;^lnFE|H|0E@*kxo_*?OG;)6Dm zQ|==5{cg)&rb9L3UQDzYnK;r(G;R#6wgOCQAJRtoD(bJ5`bdjW>k=S-fUH8XArckC zAS8nJ6`5vflxDH>e?)1tWai#l5K^``(au1rrA#$kE3_v-bh52l<&%x4gsx28Y}?Af zMS8R+g+K>aMvWI9A)>-RG#KPHp%JiO+2>$Ys>zzu^js6vWmT7t=VY~yoCN(Fe_H#y z*NWc4D4PBY-_2gdUh)%ETJ_bEoUB_)26_AJg>#yN#H3ByyvIz-g;$-vgkcp*Z3_G_ zpzQ;Lqi8wh3sKW&&pjseaXQy(HIBB}T5Jb6l+~T;uC+#h=xIUFdC$`)IFbkP>5jO0_#9Q2wr( zqefACyqZ!Ta=WJ>E^ag`8DbRa?zV?UVU8Kg%W6i7yW^_o!YX3Z@}r?fViJ&NgRIPw z7&DS7G6K$^N=f!Tw40;9SFE{Dz-%-}L@eqi+nvCoPDHolx0$Ol1XbPJ@(J2z*EP|Z zz+|tV`gx9g2!npO%^9uP$RWHjwr@*)W1W+j#3bin){10@STG)N8~|2vZyzK|*zFMn z`J6hpfP^AgB!IZ`!4 za#!N`_irRBl~GB-qSPR)XExHU30RkrH3jD@La?ott?5RF_825958z~oJN%>dlhgIj z25RRj1XEUHs^8N<2uGg!L$A8XHWr#)c}TS;k0JP#*E;+s?U3r(z!@UxMdLmjNi=ON zqMf2-*!vkqUOYY<5`Ezrf^sOZLosq~nQW>!SQ{(vCVdn3X+=Kluqc$oE+(WU};}#GyyqUqD zERz@}!mxGZN`;|j&GM5!`GGn>R@!E=ek~v2iIO4H7&=xwGPU>3gLAz53rT$g6J1ID z-*ZLIx0^mX$CwR2W3TY_XQDx0#{b&8%EuQ2(V8FvT*l9AnUH7vhB$Dw?~uze9!k=- zvX*e;{HA$U=_HDSGwckUD|A0*z9HV}K&_huqY8GuV!o1p zRKX(fR6u+!YG=0n3ExjI<||7%+;MJJgYC0SXWVK?)60$_;xqxcQf#N!uPMqf;fio# zIqD)*A%fw{?y-B_`k04=j-LXMyNoSV1Rs6AiJ3?THov^JKeev3^6$?sv{kV-3CldEkBX zG)GXt8^-c>Pye3*4_c)PYkRWB_LOy($5L(*%Ks!1jQJ%WMREG}38Xa_AJXH0ay-&#!7d{)R zf-tYcVGoib&KFwceB@$!Q{9o!Np0DpvTv7I7js#lj<<;Az6YC)Lag$>2Nd@nGZcW| z-(q0jIN9%qL5SjyK!$Y-CLI{T9rN>-=}E`(P(pJ+4g^1D*+2%cq-H@$!t1uBj+u{1 zzgAIgBU){`+keB$!Vo1tvf^B{_`YMUA$aJ|u)f(d^6PGU_uoCiIKmFnJbXShhG_Pr zNBybK`x{3`#m)0ut7_4OtApmPF2PP%^8R85|4M7>OX%t*%G9`aF$XjJ**ReybaGk^ zN;xOKEdl_;T!;nv!1lgp#GrsD$~G6{oq>hEP{Tr2IZ=KHtM#q{q+fPiqiFIz@C~US zxr-808Fe@!lrvm2+dOhf3;*Ki+b(lSZ!NcPb=$oYa8 zsm7GORf&-8zQKv@SBA@H^18Q|ZG%-5NY;LHZGXsSfkJvOIxRGg14nvM_mQiQ$IxY5 zh`0*xPfcCf);UfI&|nP6NY7-EOpoGlT!_dQC?*cEi$czYDXpSPA}A`WVNv-R7cBwy z2^!4Ze#L1Qbh~K}h7s&_cY`Xm6~~+9sO>CzJkzM_CDTX`W{dgtfeylxqaAK@<|Via zRoEbbXN`0l!2u**fN-I%wZJ0=&bH;jXvgyRLhTwsS%FP#^?(2=kIW~C>i*xv-^(9Q zI-u8I?VzA5Koi?%ix6yzlM^9b%t>z(+J>;y`US1Niw&vuk9*MSn#lGPmf-ezXhh{# z<%$|E-IV&MXb6_0A-ac?aZFN4Pjf)@XKeXg?DgkX9uD$7$6?QqLi#*$1U+y5b@c;7 z>IA>>%tq7v*1c9dX_Lq?_GhKr@x9otjHitOQe1Q`|8J&Aby0X;hX^O6$3e9&OV=H| zhz0njq|s5n@Z|^gEWf3|%E6v>XVq#AB!mP_fiaX$`(N;W@GA@64C(I4-&f+x%QcQq zAlSeoNmk_BPy-`%QR>;%)0n1{SOOl+ZPSlTj<+OCO)t^NAi4U@X;mD(@O*1YZbmRM zyWDEU{xqek8bl)r;7$!$X96HZ?F_&Q?h152Oo{9w=exbM_k{@u0fdlEvz$Op`l{wp z6)U~eam0kTBA=+eViIKGRa4T**+N!@{!`mDL8B;01!lvS`b@v+XfffaITo?bXt_rN z<6(rmu#g$3e`BGcw{=%c^c9+53O`>g-*1*LgB~sf410W_dwRnfD*r6LC5f66X!}F! zK`A)Fr)^e*9SjO(ED^$sqs@K1Jt9+a^vVsvYDy4mKTk8Q{iJsmI=bVYz>)4~{?2#RWZ__C*V?kP#kpizENa*W(ej4AU(dRLx82 zVy0MO%@%ktO>;V}TRb)WpvWDWG2?GmFsXrtWTAL1@NcHwJ!}NOpjmRtU?_KNzPQ_7H3aqFq@&1D!O^uSOW~=JF>9_+>fl?^U z^lhs+cD7p|_eiL4VM3&s+DZ{+8#iTA3mD*;f2^U;AT1CL6;nm`56TeJ7SFhCyZ-ye z5Y+t^aoYEYqLV}-T8GEJB-J9VXl>wz?w_@nM~_o-wBfrgwGcmzdxSz|aB};>$+A@z zzS*UpgxdHZNR=kg?DdpxWJ^AX!otbgd@e^*WwwWG>l&fSE9edp6co!2f#9$$ zg)rx;cON2pmlkF_(aPIVELEIFJpJkLG2+Ay>fAE8SYN^ZB*6bsv7+_dSCko|bxocc zJ_>ak9b}^pOkoTDRcAR&>Eue*PiCjojjG6T;0yWE8w~6CgI`w?4QIU_OF|Wkz*EP9 zRU+^UQ)MO7jsd(@oDMXm>}ak{!OxBWO6yERyA}73NgXJRVz@*M;s!)+^b+x-e5m$f zv^Laxde>Br!^y8h+y*LXS=wVsZcZ4kR#6!JEfBg;D(DS^?Ba)xTYlmfXcKm93U#hz zOT|V!HPU0r7~xr!{vT{O92GQ*03YbLK3RN443k*6A03O$Hwtny*!<+4Pl+oSHW*xo z1@yXOVKBq7dnjplERdOIx{d6GO_@)lE-}}w{@I{666=E;52ZB&$M@`?7=M%*s2v@- zIbMJ!4KEN3>;&5XN=rX!BmzOL3Xv+5`Fvnm zctmP}oMMCcXWQfeL=w72CdJGy8v9C_KCCF&k>-9%{E`xd^FkL<=f6uKbzBKiZB>RY z?j;OyA5w=+$uDUi5X3D8gBZ*%WlAO!+jPBeL^{=N$tP?pJ1LdHJ~JalsV^<8f6y4V zi#uke1W(Dqc{@t0R<(a7b}oss1){hlXq!*x14rUPhWP${x1aYJ8unZYWESz5bULf= zbbTJ((@bB)-&d{>B>14kD&hq*^p|w=OI6{_0X%?r3%M7D@eVZ%?6S``x0x!l+PC(! z5)B&`lz6dmR#vxAy%{k7sdelGo5zIb5HtaC+96e;60nT)R07S#3;)!ou#efIH2u`k z)!50T`oB$PX&1(hTJ1@Ss_irBxWSgKuz}kK#fmvofm9s(H&Gw`1SoWhs2j?f_7;_- z7HehQC{*xDBG@$TobazkqtYpc+E3ENE2HtQu`jwD^S(-~)~U}9H1^*b?W0PAY)6_W z-U5WJM8bL^KJFy$7Ku#_vCTsV`c zg;k+Foe$PxwvXZFHOPEEM2Odu_wKTc`NoKb4qRt5oYCR_PjNU>95ZNSVmh-_fZ2gE z5byJ#&-56fXh{M1qke|Y*|29w@pR;RZA1&o^z*8 zpe*Ut{dxQ&&A>I5YL4v zaaW3Okfrs|BDE(1-pBZIrb|_#S55<9VAEq_-uHINyxEy<}WQfI>aIYvFdoxKdN_@=qWOs~)b!$q+%hd>2Oye(Bi(hz}{aWBP^ z_4}ppm28D!Q|*UyG}!vYbhVKo`0pO|cZAbz3^DzPW64)wXrGS$WihY*lL0}*SlH{7 zA*eEoZ0l@TQB`Q2MM%g321p%%1}VCv0-1a$LB~6U*A3zrtyhW5s<`HLC8j~;Oi+&SNKEsj>>pmV>*o)O1)cHnekvA z{>_N?@_qTKlgXCDN2vutSIR{Uh)1UuriE%hLXvFwRH9$1@5?N_4}a%ffXe9g>#;80vP8h2*N(t2C=YrY zc^NkX=!ZD^T)LyLf*w^l*Q3t%+jQ-s4@N_(n%#**<6hyWLRHBaC;F}a4`uu&AC)v& zl{Ofm)M#}AT2msD-c&VVw8p+q4&HrfWf9ulif7J`h%H9zptv4-ed0hY3LqQnCkXi6 z^7=LH${6@5OO(H7m23V%49Rc(Z^FPWC$E->85{V*QRdX@C12hU_z+>#0?j zK1J$po$P?T?0K!2g)s;d`$fw5y{oQ&|VJ!JA3I*c65$DP5 zf5v^gBvA#{<O^sj_Y{%== zfcEFq)Iyr)QtjHyx+yO<)>|@H{ol+$^w+xkZw!i3kgbYFLMgkvozht0fKg3{KP8Y! z-@>k%8`-Hd<0(l-#?CVB2-BL}`e+9>hqAwMD$-x9qRWcz7`7VEFsP-Td443Kkx!7Q z+GB~`B{V>;tsqXI8zY3;)xOb6dYbQ-B7N!Z zkTy>qbd)ZuJ{t=E-b<}?W|Ng}8PM>3xbWRoco+LIsRYok2Mh+P67g2SB`K32Q0V-e zS$4P$XikuCBw@kITP85_!abza$n~r2s{6q*2QACrVbwZzuRmyFUN2N#(snf;5i5Ey z%E1#CDrOK>rKj97yrs)iX5}u20v-Zbya2hnND&mTOF6;7Vx10P`89Usq$`hT6`Z3yR}_+Po=H@i@!QJdUZ&yW83clSW2sI4=0S4y~;Gn)FKQrX0bg3_GN z5lqBB-UVt2h7bTnf3SqK)R88mAu}MMhNh{^*3hg@k2=?hUhE5(lF2@7I*@)!{KDeyU#Md%8#asZoI7$lOB$!6Y@Y-V&k`R4AKsw_*#?*lY%XtIsL~zrkp>{7q z|7SG>jl5SjS4!Qt(hOoHs^qxLGsiWZRX^3TrTy-xZSVgYU(SEATukVk>#$V{p)9fl z$>AKih={xU()3_|aRs5>@GYrvAyOUDPFij3$NIwt_LM`DWjjPz8O4`MhvRfxgz#p-;7$+eQt7$ZJdhMQa({SmBY>-4ZgbJx~!8R1- z_?_?PN%Uvi|HNVlqG_(e9L8^u8^PM$KEkenl%_cu+-_cZWLOY#I)Y^G60k5XB)IdG zGZv#?|8#WuSjzq~{w>a4KoJd;1fTxnrT1M=!;;tip}=c7 z-&w321e*}o{YSEm_EzDDN7F?tvtX}(*;#ji72amp>cd1dE*ifrGDv}E)C;ebh7={4 zbgsigb*^*s_O}Tg3+k9j^y(>Pgjo|!n_B$&`7ix0Jj5Aw5F?;$nWm?*v^&keF*6*L z^XJ1sWXzDqIs;Xa)-eKx`OPpS{=x;l%7J%^_CEeu09HV6I1N2>is^cYvSP^4NN)(- z<^2G*CBjzsQvzQjn zr++w=B0Jh8MoS|NCV11E1-_EuFVJNhV1X(4WGxEq^Jc7QAR4!TZH6=$o{LN>TmXK& zAue;0kvAwlpVu|u+ z&kIPk_evs>c6p=oMzxi)N}>&W$y1_|A6IvY=2k&KL~NyrGKb{%=+@%$^oOM6*@~Rq zpWi@fHwU2V93Kqz(2LCZGTDN8@RI@e@WO&3W z73gRn)8}dPQ_dbop597Lwo!2mgG0X>4rV6Qgk^Qwj*4Pn>ZXZQ?|a|E@=iSm-PRXM ztSO!8p+Nkw(Lj$yHa#bL*Q5`Dgq?gI{0F-33dvM}+pkZA-9qrf`y}*8c{bBrbO0QE zGxD;}p%i{Gj8($DS-)!;+y^G&2BYkpQpnK7qVF1E$)zK`se1m4>u7pQ(BmUVUh>&& z5dDnJ3S=+~L%%-k8t=Gy=a6A|lNie5M^`Y({cdo_a5yPUpI^Y2(`tw{Ji#a{)7j$j z>n(JKCRD7ab?-PKaF4vCsTwACgAgp*nybQ-Z3u0SF}c1?MGn0LohDw->wCZJ$Ted1 zq+!RB9qzi-f(l3>5tmc2*8*Q4LJI1FGVa0pO?0b=YKjCIQB=tN{9H&~7vvF*`}Pvm zWkVAH!k+x{?Jmq|h$LYz+$OORni$Db4N8^0EX%_E_;T_akh|{_0+m69GYYB~idrfG zJ$f4ckfVj_|F*`EwMYjIB9AI~=6DEO>Y*SO2omCjU!IhTA6+6JFFo#x#XJvN>+@{% zsy$x>3+>O{g}J=$V+(Jx3Y+RD!8gnso&Q@&EZu_~Si)4_*00caj1`OlxA2wms!a@2x-{#Oo0{}@6=V%W<59s2A`9o6uVB;qsVbD0c&4c~iJCg*g&j_@-X zAJGv)^yt%~60N)Za~HO5LQV2kyQA|4wokwEYF1#4zsk~?r&HiYVQkk`Q=~@JPLVPT zpNAeIwEO{$4nn2WRd~}3)QyKr8+qdiKKyvjK70k{_o}IhrtLvPeZvq+rGQO1n4&wN zRCQC-^i*hAT=>5GWIiq2eWF$bCTz>e=gtJ0G$`05G*(_!J<~T;1XYi^K4aR~ORATm zr)G#s?Kc_{8a28t!jMDKI1S z<1`cESQ%2j4Mi<29AnU;W&W60z8xW1ldgtv2bAYbvG#AYaiIjlGHl;97pmx}iBXq< z0A87sGBgoX2G*VpxO+fGftZD;)mrX{{vr{EEruJji>+S*{2SfXQ^Mzs1f&x-4@gtY zBVG%awa!v-klAeD3d2}c7sFL?g=K~OUegIo{be*FbK8{_vE-H_H~e>ugOV5t`}ReR zn)rC?Fly5IcRPgX>`Ld44#?LFpvNat zRQOgsm?7{os5BUkoz`Em8pm*{o8qBByS)G}zVwYLBrh<|;sm^xomv%36vNAdXP$K* z`oCE~B2M74PK1jw5-W#s59Gx(AyzJ36VpUP_@<{Ib@LN1CQ+{}jnc0LafT zZ~sIjW)_xgN1;E94+m?zQJFF(;ht&?5ZXcRye2$cF_GjI>}1qANjN(ntaK?D@>eWx zFUwGWUS=^atXGqAtWdw-Ry+5RdN5kjYxEZ;_J1K&KkGhj<(W4@Pdd%MyCXf+F1>P; z`*Kba;Khh)4BN?9^sPF8ki!Y7H5lI8Wg8_e{&dx#p_!eoE(-7n-+s+;xkK>Tqv@-& z9zljn678D^;~v+8QgQ#w(DMTqNq+Bed9&5};W@eWv0{tH+l8;_15Ndca{mp~;7k7A z#nK3gAyZ4W(Qa8p!E4uQpX5a4U^rut;alMOTOj@M>z>KPFI#K%m^b1* z6}i_Lu!DC(d~o$(veZOMSD!iEIm7w3|AyboG2rbjL+o`X`o(y>FhthvS{3|QqxM6%v{YnRUW|&!gp!a2Y6fcI3vv z7&x(*Zu%n+W%-9fx#zoMy4cLCGneY8^(fH+QP>)#?C}fFH?sMg-JYjtIZM)B$6%t{ zx0roYQx$`4TF6RgfYM5oL2Nd46h=6YX!+hhk>{kPdW_If>}PXm}5#=I@a>H zyE>efX~6cD#ny9JG-~f#-_zs#4ewVXIVi!e(au_0I;714UEA${-#DM3{ii(P64khL(-=WA(WIJ`oQow@~AQl1#y z*>^3ppcRHujeY?J%mwDl?5A^?Oz74))Na>efx%lir}}MNG%6$=TB}$AujLa4U&)N{(XQ5_&kqEJ27`T_%H0P zh)x>JT0`3N;Y%i4XEMo4l|NS1n37`8;;UDzbT3aEcV_Rl-fQT_XW~}{nCiZ3aXQpc z1>V7{~&UfZREb!~`mB7N;^-&mByanAefo>=)%RPa0fBuy3FmCrn$h4;ySx3v-TKLh`c`@r5$|J*tLRdhFqQ`M`XKrr9GNd4;FKj{A{%ZlslcNHfLQ=``ieQp8P|?$G?FLAK?SSCyTk~giC-#bo{M>!rdT;6y z@?S#5EdNebwGpjH?UzqO+^>N(GbP1GaIo^mT~5p|QLjD1@i(~N9nXPC1g!Z~zPHXH zP6CdEh(LJ*qZ(!AW2(`2s>=-$Ti|XeQCd}pKjg2zz(r~iz|;Uc@Oq4~^vc2L;qNPL z(GUH(o#S~L1G1&z;FLlc35 zKG5JXOMf{FRFp=>HRwlU>G8ha4`{-PUWX8CPv*uENKWmB9mp2Lp_~dsZh-3@J3aIF zPeW{kYcr@n?icl${Ft^1R(-N!Nq$=P`teSBOJ0e0{7S9cCAmCL$fC?0TSGYudD8Ng z!}*tEp7R3`|9@J5BXaU|H~=1m0Nfc?);fG|z9}ed7zV{@ytHqS2Ki_q(;FIJmD|#n z&o?y0NdMD7GmOHrPfy?-2A#>PF-Gjy+v15wog;Pb=u~vMKUm1iz4xE#An{(3nUY4s z!ah;XM$E~s=l@L1)!5lxAiXy=X?QurR-UP2YfovZukLW^>Z=uEo8sXk0|pX8>gB$~ z1a^t9z&gSU29%WJ?9;Ksa9%{2Q&scdD}lFzp?_xiyx{me!v;L2!SPxL)xCFYLSW@= z^(e^I_SzL{J)!grhDIdrQi5^eNs%;PopJO?SAJ5Nsuvb2IO%sK;Ds~aKr$TRUcV&j ze2sgx1!l0tJ8rF3fPhfaCottftN_0@v6Jxb_M`wultJ>p<=o9sb@5bekYCxKJzu<# zYupf8#G8upPXtX1bqw~MSD+*8i4|>_5H>(r(NKHMi&kEX$euh~4*4EmV*MBEwA6Q= z4dE=8K8cd!;K3#s;lm>JdmZ{b`0cEJ-+zId@i-!cEcmyDHxaW+=5G$jg10Pm zXSe!{6-@tqaaey+6N_Zs&;EV~))%m#a{?L>=V!f{-;bIeE$~G_aRuPuS(KD(5ay3~ zW7|MjW8x8-AMZ5$h)M*}sB)cH>lp@Yo7`2F6k@1-Sz^+3GHt zotLNBb%&j)q^M}Pon3{*kobZOiks4V3MUsLwE`>?)HC>#CW)fGIfk2nsj59+ z^Fj`=V())2O9yD$zueLMt)~<5g}3wsKup`I<>bf`-5&WQW->#lY8sMeA#+j|XAulM z8j{$Os12L%`FycX{?y0*{h^QR=a1E60d{xm>F6i5x6XmhT^ygAaW;#ciy*Q=HYWwj zp&GmI-q0M0?CHw9FLHF96}c&D@~E_f!Eq2T1vP!QEG>r}+d@V4v8jNg=`2wFs!tX^!}Xj!X9UNZ7hXRKY;1|>ox+%zF# zpPI_qRnDQ;ArdeLxmUbkJcTmF%)iHCe@4{5>8;M^-k~r+q##w2+Rv$kYGM3(s&7BI zFmAs{Q~6Iw^bjpTH{+LCUAp$H?vL})R9bmKZ@T`*NoS#@lCrEQ;ka4jYld)nF?qr~ zk_3%V-Vodwh=8Y}U|R#%WzgSXQxK9=$1fGSiI<5X=j$_tvWipTW3#qn_EMnWJkzZ%r7A zhWHzS;Tb6r^Y?WI@+elw@ff*^dH>6gzamp&F~Hxl8y)x?DB02~{TKz|V;dMH3) z42~L8B|5(OyzQZ^qVy&e-+sFc0Et{}WOkDUrcK~u&uX33er`=)A=#>*%U<^U6kx5F z`tK}z|8e{h{C&6E29AUf1y$xggwlVrk_uhd^wjjOAp2U@YaB7Ogs07Ni!#)o%;K1? zlW(am>4ZGgEFg@jq#A}Mt%x(zT}EGT-A3J69O(=L9o8$tGz^MItAa0dT`}@_)l<+Z zwEQ^YRB{$-_*XdHk)0ZzNnHP>?!ezbifPOhz_m24^V!vOgU)Cw-k_JeQmc%ln_h zi>Ok8R1IIz{^i$kr5j0{(oyZ=fP}4x{w!?v?FMi)ye#)oIIHyASx%1J<5`meCvg^y zD(r@}+3OZb>(%c~%cR&!WGZg;4u=53>RsSc;?Zb^o^5i@AdDac^_T@~Nd#;C0?ak@?W> zT}gS3l)4|rz~>P6S1>DgRCj4V90>2r>WH$**UOu@z*ZG=W{7VLj$W_XWzYX_( zPFkk07!vwrTwlIPn;F*1O3ll;8h^`|Db?Jjjcl4;+{Uh18lvF8pu6BczN4qO6Bow; z8H8ZkoVIE$+N?RmQvR!KFwpUeI;Y98<6S0)NZ~aa#oNyr{7hDknGhkdIKamI@s$l>XMp#F$TPoQ!~}U~cmnelzPk&`D*^lDGSsX9-o#Wr ze11$Q+$_5^*I&a;lv)FnV83}MTN|z27+cmDEfZ63{c&K;I4z|tP{_lpdwt|P0!4+>TMq?9qN2Dx2$-t?6Vnk*OB zy!o~0S%ev=&0Ee+EDHL=L*aM~{kUMaKDvV+IDYuzRV7H1fc5X(f?)`WvbN;fe&pc@ zHqfk;%|bo5fNyq(9BBARBJJF=?{bVIULBOFGg5~c3 ztfQk)tc3xtq&?Z|Lj!e6v&QMq!%^CbMcpJX9sN`K+lh;Xix+^>idGc{y+MS_G#a_J zwvgPDq%~nu?3-dxDgCmEdky@>eUDZBZXJ>#6kl6+xo-I1-(UimzlC6zpNzHvlOb7+ z)0eZ|OZe$BEJ@R|J-M&FOEs(kFPob{cbHk;;IU3HV_Uds$%6(_4d9^oW%=1uHorQs z_EXy0YLxzc1{5K6K@Y2A?(V*jtFTQ1kA)N`w{Qg|9LugNpFgy0TU3NIeBaIit0+}^*NJ1=^Cz+X>U^~YL3~-7@oay6 zOT5A9#f$LV)NHp{EE+@Nu|M!boFFAwq&qBV_eE}Y#QzsEE6vnoJO(f}_;wA@K*gJ)rdzNqc+8Gpp~DXE-bX&K}Ybg*LZ~bbwE;3h6Qd;6IXb^`@4U~czuiQ&EFB%C&bkt zV6qxSSA;r<)+oBeOMs|7WU|s<`5h;cjdQ>@U|c_kF#%$SR{^kTZ?NRm8FM=ebhN!P zjgMm#{f23 zTEem99o8ztT4tqLRM~<}0!6KFtobc55RG)4zhq~|4#UVnDc)3|A=gxTE|Z|z-%1Z! zxAeFKP*M^DDh;6SoC_=Ql~ zqaYyHS5Sru4anBm4)RTdbpZxUV*zT7b-j>htPPQYD{qS$q|Lq7tdd{WXP2f)K=8GEg3dYl0}r5xBeAx0MYL2IGXI?a=OSD0ax=L@VNpS7-F!S~XZniVpg zyYI=!zwH?KaGwuGd;Ozh#>9vBz&wve_zKD9y}GLEB#p%e7(I9;I}o6h=N>JF#(gt> zZp2dTc`n+Gn)h;ek@gB0jNmYVBF7|WMe7&=3{OB7nv?z+4IN!5WGZo&A?5X^GKGAN z9Yz(oO+>XQ^LCwD%BG}w29zln87qPDNnns(`|-T5J1tMI_OJc_ z5gF>OKH!T_i_xIRrnxD{Nlt9V#@qLD>8Q0VDJ(;Ys(0JEG6fd( zx+CBeMvrB56ceyEg2~BLi}X^tpeKcFHN(kd(HkofapZAKunZtos2gp`J7cen8IgkG z0bm2pLxo_c%+Zg`s57*Uq|wo4PHws*4FtyG%2g;fxrQDSYF#5k41g~D(UrGAcD*1% zOz$O?OnOR85LFEh|5h?q2>~u3w&YuaTnLU!H0r!pl9`GpWgsekOQEr?up3~&X*=Wf z^Ao;({3rf=c!%xBx43%q1Ln0Ow$YULI$)UriB;%&K&m*T=?^TBQ`Z<&U}jaA=elkL zV&CE0HKq-O4cNGXPX$Uz+vzaVyYL9ao-|#>3#tj^ar`)V(oznwzANh_9yZdD?GyO( z&%n*i#7{pvK79^+`4p5>&r%9CJT7C{_m>0Li`w(hSp#@d%%7)g)!z}aGzjn?7$gwT z0hJh_^AH9G_h`tyy)TMUH*21Res=P%21QYE&m$eYfZ}FC$}$*k0UI;3@<=I_4C(B+ zey;h9%@!gr**qF8ZC_>S*)qTu3$s+_e6;(@Z;9>=MSU*E$hByTzLIND-p#>4DO*^c zQokPeNEDv&V9!|kM#jP?=y?UU0la!Ol6rmz%zaRAJD>8f?k{%Bw$*#X%3E4LOK%t# z4YsI98Yyu=dU=;?C^Q1ZnH_Z)O3BVHqJxb`%dmk;qGC;z=_AFW{$qS^pZPcopirFB z0S%}}VMu9~<~;8iXA-g=z&rD6A){Z7gYf+ld|X(1kLVDk1_>+9r#5Tpp7@j zXuv{QI0A(nGQS^z4Til@4hJL{8K>Ju;Q0yg^C!G}_dD?V8Lt23UlF$(VjC;{xICe? zEWte!Qa#poM51xlZh)S4oU9IJ4M+x5TWkhQQd)-ezYY&ft7>v2-nJR+$kp6~)u z+L@vWy%a40OB}YWeQmCcG zlrkMSC|s6zWjuxpEt^sFS#3p>5?Ep?W!iR13j4yd(NGLXIo(16wCa1brnAZ6#l8AZ zi`C)_NNT1S3mmERWC2Mn_)LA^`E-JHs5mBea_ILf%GBDpvG%_{N{3?ra;}-gL(GVNx&RGB zJ2oL-q~zENsnBEcu1M7BA=;vPS~8!Jk5DIdH@R@~n6h2aNcxU~J%zNk^pjP86X6Ux zXA0xWhMUE)V{RxI9?K#-?-?_diN%DUPM9~h*sgD2dlrgi`h8RGKn6jjur53#fOS@& zEs-zHS9wX+-&<+06};39b?>o^m1dFGr?8JD_=ZdvIJAlKrIeWef*C9l)mWsk>fEk) zU-qV2+N^s80~60qz|Hm*AMbv_%*>(8*4*O;e~YxSK%&P-LN0&2lpAy6H{1PsA$ z^y|9@Bqd0}RmM(_`)6>Ll(Fxy?Fzn~fNvu^?D50Xb6@5l5*J0HF$lTR1Mdo{XpBH* zU}l`bDs5cuSQ;^=Z%+tj6diQ`amT}#!0We;7q1*2-UarvVNNy4#M&zr>oU0_cyMKy zGlseYTh{H>zP2@j%$|dN2D`!d4_@7d^!EUIi0eL;saMQe9KNtJ@S?__8?uaQ1W4bY z;U`73Hq-+;uls()!Em3=11h&h`O~db283l3{sF(8l*E@9xJ%ln=Loa)_G8@O4l{p@%$FJeRhTWyB&{T z3D8~6Z_`!UAjrzEHK$=?WM^i(-3O$BI9l16j|sp`I;e zV2U{w?~4_il#sd&gzcE;9p^~P@3vLzlsfd*6qXQ&rLKtpV@r`V;Ld}dpdsx{EF+@j z9{M*8K?UEnXAY>tgM?%fAt?A=A4po2z@& zJ6Z#Q=~|-9sulB7$vky0t}oUides|JuQqrQt4Iyyq|g)fn7Fz!ym)oOw{L+z-Ua47 zEw)KOEM&kMLjk}sG7~s}4J>=ngIvpEI(E|UgUFyfCrjBG;UKFnxU%-8ucUqu1+4z0 zwz|HByg*BjsnWn(@OgQ#DU|bKyRgq?ytvS614B-V#g+{@2(4=$s9<9zx12#4V8$6L z-f|1fL8_5{VYOljxx$la#2dELHGFQE`$*Ij%K&Lkh4LVoF;p9Vqk`P>gxMsVQCc_a zf~L(pTsDEc0nVj>acdhr7 z5aZJIioF2UPZ6LJlk7!g>MADNO=a?okHNYMPeqNu)@Tw5|1K(NK9!fu42we0UYf?? z7>xU2Wqx}1qy~*aTqpptwvmc@-vht@F>!Mf`0L*W?mq7L^4ap5;Z))Yf?`@4R`t%4 z@vt;J)jXK7892(5%RO2KUNv-deP~LVK#Fm1(#>f4dSp5pU z$V&j3I27${3@Ib&K5IXH=GvR59B+JIRJhh#TKYRaqAA^dXUG7-HB&NBl#zIvO-OxP z0P`Y-t53>MKwcZldo1vWwLTr$4e$EFi)m4~B<0CVZ)xl~!i>X>5qSMN6QSO}&nQWD zb5P92%FA^RSd8pNH`d(N$xY@fBt2F+eX0MTx>N!vf{SXhU{(nW%lcaOQ#C7^FwfJ> z`oz*{KqhZdKe%De{JlCq4Dv(nrQYJ?efwd8Qje=gD4(IMGpbf^bo)iMxQXYMyc?=dd(BV>{tqwN@7!qjHkBMQ~ z*KXTC;r+Y+2fTiUtAG3hxV^^QkX?jrwlN6tajkgIN+!rbL&+e@Oq7RI9d@X5YscF( zgbI6BXMjpOzYW8V?0PVOkE&~`d?wkPY#n9Vbm*UYJb*f` z8)=Ure&3oyuHxyY=xcbIVJxFEd?{?9=<0zd8It0+bq&Q#4_JT{pnJfkA6h=fh*Dft zN&Z}NpwSb9E?l%X69bIrrhF10{zOLW0dE3s&vyuk*OY<4POk`$}gCFxlQ9|t6F z@Mzd|Q)Sy$35O<9?i~ow+gpZ3Bg%s#kf^32nqbj{fo(IqcmbSFj{Ccbhi^s*kmD}e zu)^@9uFViEuSog#k_R_uxFx+Nn948~%~pn!UXqd*JiO{R`}xmdGca+HelIp`$*90K zOX8_>%45Pl8GA7VpJb~5Tu+S1vD4BAx$R+Poa8cQ%t?!qhHY<%R?4mxuW`GnY}3s! zxuF!goRqU6WT2WanE^gvr!C_WHj+Boz=av;*-p&o6EMI|1z?Z@h}C3}-O`Qm5^M$q z+=KTwxxeKZ5&lzQaOPE=TRqO|fKj6z-V9_h@j8Jr(klpzMWdxg2O?3w3BiqtXIFvS z@eTL)zu<1$vHiEd!d^W~8cuEU&9ESd4jMUpEKb@Y76>%Y3{HNZ32QaP9YF<3R7L=_ zgTd7~>)wY9v2?9+3W-Fw)kbQn<`oM>efzxN;?c4n9`wv9A$l_$40;2fkX&-8}s1SoeF+*1MsR%#C zZ7HZON9BEMu8@L|M}$RBQAU*v5|la9gxd9`q-FT0I#dWSF{o7G3o7WL_>?b&O?8me z{!S2zOolL^GVB%(USL75Ww0bGKsBnJ+^N2x@*adh%Umo&xIkjJh8F;>%`K0=*R>^^ zrKD}`j=cAPcZ}L5l;gO*241~%e7c{w`vAaCbw3|=kVSyt13*1b4$|Lt)am?d7R(Z0 z<-ulgtuU?^qcqJBG5M46D0)aMi!XJEob_GN0q zt=K{9hy|$L3$wbB2ic##v#wwyZ}!Qgq=D(4-1ze?=lA912YU^ zQnWPu%q~?i>GEJHr;;xjC=4EKD=QjA)PNO@S00k&vDT&=s;;0!HMPGHXPwW$@4ru+ zuCjZ?x37V_dtgpOOwPwBI8#a>=h4}VLpG*Ku~WtPQ|(s9{>dM>ehSppeuKbfC8t2^ za+q_DT?()i*~kgA^sXp=d269_z_krdEWoFt!eBq4o@!v;gj77`x>s2+G)M%1Mf% z0|f90%jAhbJr+kbiPgw}Lz!V@%Z_ro63}vww;ngp!vU+94irjKa_)S50O6rf^HTOY zph753X#lGb_t1}TP@xO<^QsoB_m~m_M#80ht`nKdkb+A^eE#|f*iF$gvdG;aNr+1^ z1?Z8n&W4*H<*v_ai$PRm6sTNJFC$VJGxE3w+Cic3F&g(Byq^Pc(Q#Y%uHUGQEWcU? ztshHsU>g%JuYt!;zv9mipI~pF;p*)_fM=)7rW`3)Nv}*6gD+#*o4~5UXQg{n(XgXt z-T(j=yh%hsR0V+bEU4UT2N228)L|7JF~E3(GCx~0)jHe`QXBLQh9Mr)OB&AH*Ud3@ zK)t)N4lwG#<}GvllRilh@dsTHYdyUwfj#J1Y4}ip6PAl4;0~2G4BJ6Eg#Bmsh?3Ov$rkAlUJNV5PQz@>NY#o4nQE zYi^uNRdE}tH(sRd`5=9y^{d`ODNofEMFVVfHX`!bL^6if?yqZb`KsfF>=LgRk}<&v zOJP#$tn8zj&4W+F@!>u2ZO^`S$yBW~RlO3WcU(y(b$V;DRcC2fIxr%sIZ^7lhX$uU zOy`_l5WQg;Iw0zqVu!jVu?Qh!&t;q}BsZ%ysb#Bi<{B=KDHcaK=SqRz4cRhgWGIuHofHnmN(L`A@?fLG3E&|n!S*wVdh&+lpRb3e%qJ9hPiJD{pH z&Qyl{J%_lG77A^Xj$&3`B5|$JvgoVNjMW3d%7`eSZ(tyjf$IiyhkJv88WUs?YR~c&#r*eyu;nQUol_b!2k9G@ZvhN?YwzpCZt$y9}^smzXtUD zr7&yH|Dh3zbo`v_6x?55x$TEIlY7#B)s`i2EVebJq7oF1v0{{aD#tm=eZ$x*D%WH+ z@L^zP+`aOYn$#Sh4b-R`DZ!#of{$rgpH)02<9BZunXnM^I9=jV6i2&Iy4qQ8Idxi3UxFit6RATo<9$qt_D8c z@3{MF=pA;AdLlE4oeiUD2n6J5)Rq0($8A_;9x%3CqwW=W9$@G~z#8(5ct5Vij`Zrp z-v{Z?MzElCqSmPPqcc~)WqsUMi{vXdG};%n-oeLRNcqer5TNo77T2mDT=)tO0$A;e zBA^N@lLfUE=g3W)MAVaY9T__*^pWMxh{zs%)y8BDU^-OA5AXogy_dT!)Nf{pF_;m{ zBfO*~=cRsZiKy?lgCdWp z>fZ=NG&E9q3*p(4#|tnu093c{$O}K8$R9# zzMZX%hbTOimxx_hTfu#$*X2N+9kq0lXO_TL zhDP7R%FNM99X!ybWZPZq_oaB(Lr~Y)n3d)h9b{)s=$hP!mz?bj`Vso;i1JVDxTp6#^rM~ z)Tef_YPDvaTGSsVw&Y*egetqDQE|XhMgW$Z-7+rJ!bnBBg%Y@P_3tuhUKTVD(h>Q< zET6Nalw%$K3RXMOEfsp?L#!gR7@$JguqJcR<|WGQH67W;22h&%9j0v@bkKJ04X%MmIZY87A=(9rMwSOses6nj$ceqVwZd%-i#WORB9Aftg=%iWP3@9F@s1|`Svnq|$CU8~)*&IQc4-?H zV%F?i=ZB7dOWBwmvP+b`Cn`I7aMlbFXCBTA%{vV?3^UG5jxeZVGgME6QG#j1Di$W? zuS~%snpnIls{3dDz0!RH3$eHPNf0g%Ry`L-241@^nu`=q_k7fnBZVa0j%fFPdU%_{ zkl}+{TcImL!3N~iGj*F>42&=GGu`?0Y}Aj%vSnv0}3X6 zJC)v=^XNufLR<1ex$2@~Ggvo)^31W%?8DcVPIXvXUzowisG11pdy0k1P>Xs6NJBL6 zVXnMBEa+AN*Ce8fB9pLk(`3YD6vRM)S(oc* z3WQ`xtf6LpQ9aabe zSJybEt#e+F)S-S($75{(PaX95iLSd3XM1=S`b*BZ1QM<4fiPEy0qtjMw;Y$i;_)Tc zA=i7;Q)#u3yPmj21)>E%)QM=JS$JDi-~mzO?{hK@T|2GsmJp4@xtAhwCK3#yjGiv0 z+MPUjWK{{*Av(AfIolvKZw^?*#5`gf#>?|Z2MW%%_>D#>K6T?b3G_uZ2ZU2OeZds-URR)H;6yZ@Z;@k_3XX0R#_f$(cvFKaw$?`_meMI?#>!rrd2cury^SRFDt&)<1 zymM4GTV<1K-qV<*!m}UJF-r@t3_Kb1#jbSaTFO?oW0Ef0_e_c?qa~T)^{pOa0>{Mj z*TC&{)+2p=0CqlfFEdFisCEGCN2Z1#0WwNfhBO-iC{Y0wv-GfHkB(&>s}NT0`jT#p z^2n#Hq~fDK&3o4aLFGxss!P&&GAuo(xb2#r$mpEM=6asdbRwOM^ea$p%=Ip7O=Sz9 z6slTXC;=jvAhA-R*CMP#OY^LsXef0~8oYeGZzVp;#qMU^_T@5T$GFmlK_ z5(49fy8%~Q;Kk_?_wWA=pKc8HuRmhEIANYn*?N9!28ppGDP#8y5t%?T=d6aRIp&nq zN?5T@rXpoHu$ZS0Z#npm{`%Aze;4^vfdn~ZlJQ5+=7|U~ZgY87c z17Qvi$De;poKC>opB(!cc>iw4J`F>M7)w!H0=#-D*+eqQ_3in+ZauN#Y)!IFi}tRF6-rKfaN7!-v-{i8uoU_>(Qj%1MloireNVcdQpdN>z%5me$^z>N?Q!(WI zurSSgJyL*fs~(o7jplARkxwd;oaBslV3ca>jCt%Tn$==)Q>}Frn84)I%8cF;N~uy- zoW^*!s@4uFH>KSW-24*dRW2FHK;i{sPhiO(OC z!V4L{$m?}wcJRC?o0^U@FdQ4*^6$xHYcZBIRciXhYi(m3z{twN zZ82KtyiA;i;mzBuW&7i|iF0|n>z-@hf=c@Gea^c)@!)yRkM^8&LpVavH!kPL8?Ln(jIv6H1B* zEp{t{3<_h_H_6C0x4ag!UniOnV0|9I3a$l^-Np&K=86sUcmTrT^_0&Y)%{_g3rQEn zLj=OWuMy=X`jUYHRHvbq{eeUlsod7-?!vs{G2V#QwZL_tO9|xx)h6+eZ39=p&nc>Tukm!A!H9|8|w8DnwP z8GdgDy}+xeAAVl8O2eBo$`oqNMBD9=6uJ_ObcR+Dy`dg6qqQ^wrHZR@eYnC>N2U17 zX!rSkC(Z~N!S$U=0oPEFU02?`HjDw>eF%L027r{Xip|%$$6=p(!RgwUWwfM+#6)R4 zGB~Ab3#@>dk5<6LDW@_-yd#aE^zmY-rcHY5-6&Dt&Q6(2=PZ#Js-vQE)O@my^+Yer z*nYgZ!u@&T+rDFeoS5guz1A~TYJXU8%3gYNN=c+bcej-{zo$#C_C}XRsS0ZOGuk~m zIiF0P4tYK(P@6bHRF%*{VD7qXu(%RcrcuF1%30@2Gf;^Y*yo%M2&pMUp{hd9Sj*Jf z^05fEp$IoVG9FI^uwT=C$BS#=YX6LPzx*%kuWxYm-~WcV$;X=O!J{yv2a9SxdhF|E zQ1EskcX>=2(!g#z24Zz*kifGT7JG}`U3dWf$;CdWEDVW?}|n(qg3#M^H5xhD|8q;7QmfY8IC4-n|Sd&aQn>h z@owVb!K!v~F*i?*-GBBni>fJGOiPWn#$OqGlOcCLH4 zL^qZ|$w+-lv7$@x3Z97!Yq;W`WMrIc4mWK7{y!h_<{!X|p9Ve-$JfW~06Wj5pr|x5 z6?ipTEyXPl!IeOO`dt%0JZKO{#a2a+HHo9rOOYTRC?k;W-$Wkr*o_^u9bp@;v)0`U zxlDdhIYIW%Tc4NbtV9R|6J$t(%0Pu=iDOcNM0SC8Ow4R&WI)(}ZF^FOb2fV+#kmq3 z>_FG0Vlyn6S_fr$uyYas1r_(I4Zu=VQ7x_xb`;i`p!J%Z zx-GeWWhaWCpV(nGu!rH#-zQF|z>hyVzMTUf-tBBA%Kw@|2&5u6%3HLLh^i#HK#I3u zNTnMuWSoPP{YG{ASjI{6lEwFy&0KdB^Rnb=ov;j`Pb?!~wXb>vMs;;Zjy2?VSu?Ea zv;yiCET8A#N!B*^eO_KC(9SnMvvM~Sb4O*eChIeCbpl?!aGdvv-+!GMN0RW_Ed`2 z2sr}v_#Uwg=}|^~PD%Pzn$^+zYaWmHE{P3I2*9D0OjlcgW9HkyxKw%RK73WV!HB;&fT;7WKGzG@_y*MF&m>yf{t7*MH)-yZ6|B z{sE^qe@9%MFo)$@Dzl5p8c=5pn@O2^K=t0CxKTZl-k7D-JRAo6C(?`AE#R?~`(;|W z=(>pYfJvp0_ck(FGr@yGFA9^$n#lI@WdLUDYM&q|>4sEH8xw0*BHh9H;99OrGq_5G z(I0n`NeWSWAmy`y*GUtv%5*hK{9kPQ#60)a!^j0zH>1Q&B=)wl{%Mc+L zY_4;nXPTr8e0vQ1^2@~S^~8@qZus=D&zqa(^JHgLxr@)&xIl%YtlUm=S6_*kmc95<)?lf}8FJRF3v%Z`2PW$rz Y0qV;!RJ|@{KL7v#07*qoM6N<$f?D}<3IG5A literal 0 HcmV?d00001 diff --git a/diesel.toml b/diesel.toml new file mode 100644 index 0000000..92267c8 --- /dev/null +++ b/diesel.toml @@ -0,0 +1,5 @@ +# For documentation on how to configure this file, +# see diesel.rs/guides/configuring-diesel-cli + +[print_schema] +file = "src/schema.rs" diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..3522fe4 --- /dev/null +++ b/meson.build @@ -0,0 +1,76 @@ +project('authenticator', 'rust', + version: '3.32.2', + meson_version: '>= 0.50', + license: 'GPL+-3.0' +) + +dependency('glib-2.0', version: '>= 2.56') +dependency('gio-2.0', version: '>= 2.56') +dependency('gdk-pixbuf-2.0') +dependency('gtk+-3.0', version: '>= 3.24.7') +dependency('libhandy-0.0', version: '>= 0.0.11') + +cargo = find_program('cargo', required: false) +glib_compile_schemas = find_program('glib-compile-schemas', required: true) +glib_compile_resources = find_program('glib-compile-resources', required: true) + +cargo_script = find_program('build-aux/cargo.sh') + + +version = meson.project_version() +version_array = version.split('.') +major_version = version_array[0].to_int() +minor_version = version_array[1].to_int() +version_micro = version_array[2].to_int() + +prefix = get_option('prefix') +bindir = prefix / get_option('bindir') +localedir = prefix / get_option('localedir') + +datadir = prefix / get_option('datadir') +pkgdatadir = datadir / meson.project_name() +iconsdir = datadir / 'icons' +podir = meson.source_root () / 'po' +gettext_package = meson.project_name() + +if get_option('profile') == 'development' + profile = 'Devel' + name_prefix = '(Development) ' + vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD').stdout().strip() + if vcs_tag == '' + version_suffix = '-devel' + else + version_suffix = '-@0@'.format (vcs_tag) + endif +else + profile = '' + name_suffix = '' + version_suffix = '' + name_prefix = '' +endif + +application_id = 'com.belmoussaoui.Authenticator@0@'.format(profile) + + +i18n = import('i18n') +gnome = import('gnome') + +subdir('po') +subdir('data') +subdir('src') + +meson.add_dist_script( + 'build-aux/dist-vendor.sh', + meson.build_root() / 'meson-dist' / meson.project_name() + '-' + version, + meson.source_root() +) + +if get_option('profile') == 'development' + # Setup pre-commit hook for ensuring coding style is always consistent + message('Setting up git pre-commit hook..') + run_command('cp', '-f', 'hooks/pre-commit.hook', '.git/hooks/pre-commit') +endif + + +meson.add_install_script('build-aux/meson_post_install.py') + diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000..897f54e --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,11 @@ +option ( + 'profile', + type: 'combo', + choices: [ + 'default', + 'development' + ], + value: 'default', + description: 'The build profile for Authenticator. One of "default" or "development".' +) + diff --git a/migrations/2019-09-02-103718_create_accounts/down.sql b/migrations/2019-09-02-103718_create_accounts/down.sql new file mode 100644 index 0000000..86d6d7c --- /dev/null +++ b/migrations/2019-09-02-103718_create_accounts/down.sql @@ -0,0 +1,2 @@ +-- This file should undo anything in `up.sql` +DROP TABLE `accounts` diff --git a/migrations/2019-09-02-103718_create_accounts/up.sql b/migrations/2019-09-02-103718_create_accounts/up.sql new file mode 100644 index 0000000..fbd285d --- /dev/null +++ b/migrations/2019-09-02-103718_create_accounts/up.sql @@ -0,0 +1,6 @@ +-- Your SQL goes here +CREATE TABLE "accounts" ( +"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, +"username" VARCHAR NOT NULL, +"token_id" VARCHAR NOT NULL, +"provider" INTEGER NOT NULL) diff --git a/migrations/2019-09-02-123920_create_providers/down.sql b/migrations/2019-09-02-123920_create_providers/down.sql new file mode 100644 index 0000000..48ee858 --- /dev/null +++ b/migrations/2019-09-02-123920_create_providers/down.sql @@ -0,0 +1,2 @@ +-- This file should undo anything in `up.sql` +DROP TABLE `providers`; diff --git a/migrations/2019-09-02-123920_create_providers/up.sql b/migrations/2019-09-02-123920_create_providers/up.sql new file mode 100644 index 0000000..dfbeeab --- /dev/null +++ b/migrations/2019-09-02-123920_create_providers/up.sql @@ -0,0 +1,8 @@ +-- Your SQL goes here +CREATE TABLE "providers" ( +"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, +"name" VARCHAR NOT NULL, +"website" VARCHAR NULL, +"help_url" VARCHAR NULL, +"image_uri" VARCHAR NULL +); diff --git a/migrations/2019-09-02-132153_fill_providers/down.sql b/migrations/2019-09-02-132153_fill_providers/down.sql new file mode 100644 index 0000000..12fe34e --- /dev/null +++ b/migrations/2019-09-02-132153_fill_providers/down.sql @@ -0,0 +1,606 @@ +DELETE FROM providers WHERE name="FastMail" +DELETE FROM providers WHERE name="Gmail" +DELETE FROM providers WHERE name="GMX.net" +DELETE FROM providers WHERE name="Hushmail" +DELETE FROM providers WHERE name="mail.de" +DELETE FROM providers WHERE name="Mail.Ru" +DELETE FROM providers WHERE name="mailbox.org" +DELETE FROM providers WHERE name="Mailfence" +DELETE FROM providers WHERE name="Migadu" +DELETE FROM providers WHERE name="Mimecast" +DELETE FROM providers WHERE name="MXroute" +DELETE FROM providers WHERE name="Outlook.com" +DELETE FROM providers WHERE name="Pobox" +DELETE FROM providers WHERE name="Posteo" +DELETE FROM providers WHERE name="ProtonMail" +DELETE FROM providers WHERE name="Runbox" +DELETE FROM providers WHERE name="Seznam.cz" +DELETE FROM providers WHERE name="StartMail" +DELETE FROM providers WHERE name="Thexyz" +DELETE FROM providers WHERE name="Tutanota" +DELETE FROM providers WHERE name="Yahoo Japan Mail" +DELETE FROM providers WHERE name="Yandex.Mail" +DELETE FROM providers WHERE name="Zimbra" +DELETE FROM providers WHERE name="Zoho Mail" +DELETE FROM providers WHERE name="Adobe ID" +DELETE FROM providers WHERE name="Airtable" +DELETE FROM providers WHERE name="AngelList" +DELETE FROM providers WHERE name="Autodesk" +DELETE FROM providers WHERE name="Automater" +DELETE FROM providers WHERE name="AwardWallet" +DELETE FROM providers WHERE name="Chartbeat" +DELETE FROM providers WHERE name="Cisco Meraki" +DELETE FROM providers WHERE name="CloudConvert" +DELETE FROM providers WHERE name="Cloudinary" +DELETE FROM providers WHERE name="DirectAdmin" +DELETE FROM providers WHERE name="Envato" +DELETE FROM providers WHERE name="Everlaw" +DELETE FROM providers WHERE name="Figma" +DELETE FROM providers WHERE name="Findmyshift" +DELETE FROM providers WHERE name="Firefox" +DELETE FROM providers WHERE name="Formstack" +DELETE FROM providers WHERE name="GrowingIO" +DELETE FROM providers WHERE name="Help Scout" +DELETE FROM providers WHERE name="IFTTT" +DELETE FROM providers WHERE name="ImmobilienScout24" +DELETE FROM providers WHERE name="Jitbit Helpdesk" +DELETE FROM providers WHERE name="Kayako" +DELETE FROM providers WHERE name="Kickstarter" +DELETE FROM providers WHERE name="MathWorks" +DELETE FROM providers WHERE name="Mixpanel" +DELETE FROM providers WHERE name="No Starch Press" +DELETE FROM providers WHERE name="Office 365" +DELETE FROM providers WHERE name="Onshape" +DELETE FROM providers WHERE name="Patreon" +DELETE FROM providers WHERE name="PhraseApp" +DELETE FROM providers WHERE name="Repairshopr" +DELETE FROM providers WHERE name="Ripe NCC" +DELETE FROM providers WHERE name="SaneBox" +DELETE FROM providers WHERE name="SmartSimple" +DELETE FROM providers WHERE name="Ubiquiti Networks" +DELETE FROM providers WHERE name="Usabilla" +DELETE FROM providers WHERE name="Watchman Monitoring" +DELETE FROM providers WHERE name="Weclapp" +DELETE FROM providers WHERE name="Wikipedia" +DELETE FROM providers WHERE name="Yclas" +DELETE FROM providers WHERE name="YourAcclaim" +DELETE FROM providers WHERE name="Zendesk" +DELETE FROM providers WHERE name="Google Play" +DELETE FROM providers WHERE name="Mixer" +DELETE FROM providers WHERE name="Niconico" +DELETE FROM providers WHERE name="smashcast" +DELETE FROM providers WHERE name="Twitch" +DELETE FROM providers WHERE name="YouTube" +DELETE FROM providers WHERE name="Amazon Pay" +DELETE FROM providers WHERE name="Braintree" +DELETE FROM providers WHERE name="Buycraft" +DELETE FROM providers WHERE name="Dwolla" +DELETE FROM providers WHERE name="Google Wallet" +DELETE FROM providers WHERE name="Klarna" +DELETE FROM providers WHERE name="NETELLER" +DELETE FROM providers WHERE name="PAYEER" +DELETE FROM providers WHERE name="PayPal" +DELETE FROM providers WHERE name="Paysafecard" +DELETE FROM providers WHERE name="Payza" +DELETE FROM providers WHERE name="Privacy" +DELETE FROM providers WHERE name="Ravelin" +DELETE FROM providers WHERE name="Recurly" +DELETE FROM providers WHERE name="Skrill" +DELETE FROM providers WHERE name="Square" +DELETE FROM providers WHERE name="Stripe" +DELETE FROM providers WHERE name="Yandex.Money" +DELETE FROM providers WHERE name="AltoIRA" +DELETE FROM providers WHERE name="BGL Corporate Solutions" +DELETE FROM providers WHERE name="Bitbond" +DELETE FROM providers WHERE name="Carta" +DELETE FROM providers WHERE name="DEGIRO" +DELETE FROM providers WHERE name="Exact Online" +DELETE FROM providers WHERE name="FreeAgent" +DELETE FROM providers WHERE name="FreeTaxUSA" +DELETE FROM providers WHERE name="Intuit TurboTax" +DELETE FROM providers WHERE name="Invoiced" +DELETE FROM providers WHERE name="Justworks" +DELETE FROM providers WHERE name="Metorik" +DELETE FROM providers WHERE name="Mint" +DELETE FROM providers WHERE name="Moneybird" +DELETE FROM providers WHERE name="Paycor" +DELETE FROM providers WHERE name="Pocketsmith" +DELETE FROM providers WHERE name="Quickbooks Online" +DELETE FROM providers WHERE name="QuickFile" +DELETE FROM providers WHERE name="SimpleTax" +DELETE FROM providers WHERE name="TransferWise" +DELETE FROM providers WHERE name="Xero" +DELETE FROM providers WHERE name="Action Network" +DELETE FROM providers WHERE name="Capsule" +DELETE FROM providers WHERE name="Cloze" +DELETE FROM providers WHERE name="Customer.io" +DELETE FROM providers WHERE name="Direct Mail" +DELETE FROM providers WHERE name="Discord" +DELETE FROM providers WHERE name="Front App" +DELETE FROM providers WHERE name="Grape" +DELETE FROM providers WHERE name="Hangouts" +DELETE FROM providers WHERE name="HubSpot" +DELETE FROM providers WHERE name="MailChimp" +DELETE FROM providers WHERE name="Mailgun" +DELETE FROM providers WHERE name="Peerio" +DELETE FROM providers WHERE name="Salesforce" +DELETE FROM providers WHERE name="SendGrid" +DELETE FROM providers WHERE name="Sendloop" +DELETE FROM providers WHERE name="Skype" +DELETE FROM providers WHERE name="Slack" +DELETE FROM providers WHERE name="SocketLabs" +DELETE FROM providers WHERE name="SparkPost" +DELETE FROM providers WHERE name="Stackfield" +DELETE FROM providers WHERE name="Betterment" +DELETE FROM providers WHERE name="Charles Schwab" +DELETE FROM providers WHERE name="E*Trade" +DELETE FROM providers WHERE name="Fidelity Investments" +DELETE FROM providers WHERE name="Interactive Brokers" +DELETE FROM providers WHERE name="Nutmeg" +DELETE FROM providers WHERE name="Robinhood" +DELETE FROM providers WHERE name="Wealthfront" +DELETE FROM providers WHERE name="Wealthsimple" +DELETE FROM providers WHERE name="Adafruit" +DELETE FROM providers WHERE name="Allegro" +DELETE FROM providers WHERE name="Amazon" +DELETE FROM providers WHERE name="Apple" +DELETE FROM providers WHERE name="Digitec" +DELETE FROM providers WHERE name="eBay" +DELETE FROM providers WHERE name="Etsy" +DELETE FROM providers WHERE name="Mercado Libre" +DELETE FROM providers WHERE name="Newegg" +DELETE FROM providers WHERE name="Purse" +DELETE FROM providers WHERE name="Shopify" +DELETE FROM providers WHERE name="Tokopedia" +DELETE FROM providers WHERE name="(ISC)2" +DELETE FROM providers WHERE name="Boston University" +DELETE FROM providers WHERE name="California Institute of Technology (CalTech)" +DELETE FROM providers WHERE name="Carnegie Mellon University" +DELETE FROM providers WHERE name="Clemson University" +DELETE FROM providers WHERE name="Clever" +DELETE FROM providers WHERE name="CSN" +DELETE FROM providers WHERE name="Duke University" +DELETE FROM providers WHERE name="East Carolina University" +DELETE FROM providers WHERE name="Eastern Michigan University" +DELETE FROM providers WHERE name="Georgia Institute of Technology" +DELETE FROM providers WHERE name="Harvard University" +DELETE FROM providers WHERE name="KnowBe4" +DELETE FROM providers WHERE name="Massachusetts Institute of Technology" +DELETE FROM providers WHERE name="Miami University" +DELETE FROM providers WHERE name="Pennsylvania State University" +DELETE FROM providers WHERE name="Purdue University" +DELETE FROM providers WHERE name="Ryerson University" +DELETE FROM providers WHERE name="Stanford University" +DELETE FROM providers WHERE name="Temple University" +DELETE FROM providers WHERE name="University of Idaho" +DELETE FROM providers WHERE name="University of Michigan" +DELETE FROM providers WHERE name="University of Washington" +DELETE FROM providers WHERE name="Virginia Commonwealth University" +DELETE FROM providers WHERE name="Virginia Tech" +DELETE FROM providers WHERE name="Amazon Web Services" +DELETE FROM providers WHERE name="Cloud 66" +DELETE FROM providers WHERE name="cloud.ca" +DELETE FROM providers WHERE name="DigitalOcean" +DELETE FROM providers WHERE name="EngineYard" +DELETE FROM providers WHERE name="fortrabbit" +DELETE FROM providers WHERE name="Google Cloud Platform" +DELETE FROM providers WHERE name="Heroku" +DELETE FROM providers WHERE name="Hostiso" +DELETE FROM providers WHERE name="Joyent" +DELETE FROM providers WHERE name="Laravel Forge" +DELETE FROM providers WHERE name="Leaseweb" +DELETE FROM providers WHERE name="Linode" +DELETE FROM providers WHERE name="MacStadium" +DELETE FROM providers WHERE name="Microsoft Azure" +DELETE FROM providers WHERE name="mLab" +DELETE FROM providers WHERE name="Packet" +DELETE FROM providers WHERE name="ProfitBricks" +DELETE FROM providers WHERE name="Rackspace" +DELETE FROM providers WHERE name="Scaleway" +DELETE FROM providers WHERE name="Scalr" +DELETE FROM providers WHERE name="SingleHop" +DELETE FROM providers WHERE name="Tilaa" +DELETE FROM providers WHERE name="UpCloud" +DELETE FROM providers WHERE name="Userify" +DELETE FROM providers WHERE name="Vultr" +DELETE FROM providers WHERE name="Aha!" +DELETE FROM providers WHERE name="Airbrake" +DELETE FROM providers WHERE name="Algolia" +DELETE FROM providers WHERE name="AppSignal" +DELETE FROM providers WHERE name="AppVeyor" +DELETE FROM providers WHERE name="aTech Media" +DELETE FROM providers WHERE name="Atlassian Cloud" +DELETE FROM providers WHERE name="Bitbucket" +DELETE FROM providers WHERE name="Buddy" +DELETE FROM providers WHERE name="Bugsnag" +DELETE FROM providers WHERE name="Bugzilla@Mozilla" +DELETE FROM providers WHERE name="Buildkite" +DELETE FROM providers WHERE name="BuiltWith" +DELETE FROM providers WHERE name="CM Telecom" +DELETE FROM providers WHERE name="Code Climate" +DELETE FROM providers WHERE name="Codeanywhere" +DELETE FROM providers WHERE name="Codeship" +DELETE FROM providers WHERE name="Compose.io" +DELETE FROM providers WHERE name="Crowdin" +DELETE FROM providers WHERE name="DeployHQ" +DELETE FROM providers WHERE name="Domino Data Lab" +DELETE FROM providers WHERE name="Drupal.org" +DELETE FROM providers WHERE name="Esri" +DELETE FROM providers WHERE name="FogBugz & Kiln" +DELETE FROM providers WHERE name="GitHub" +DELETE FROM providers WHERE name="GitLab" +DELETE FROM providers WHERE name="HashiCorp Terraform Enterprise" +DELETE FROM providers WHERE name="HashiCorp Vagrant Cloud" +DELETE FROM providers WHERE name="IT Glue" +DELETE FROM providers WHERE name="Koding" +DELETE FROM providers WHERE name="Launchpad" +DELETE FROM providers WHERE name="Looker" +DELETE FROM providers WHERE name="Mapbox" +DELETE FROM providers WHERE name="Metrological" +DELETE FROM providers WHERE name="MongoDB Cloud Manager" +DELETE FROM providers WHERE name="npm" +DELETE FROM providers WHERE name="Panic Sync" +DELETE FROM providers WHERE name="Phacility" +DELETE FROM providers WHERE name="Pushover" +DELETE FROM providers WHERE name="PyPI" +DELETE FROM providers WHERE name="PythonAnywhere" +DELETE FROM providers WHERE name="Raygun" +DELETE FROM providers WHERE name="RBCommons" +DELETE FROM providers WHERE name="Report URI" +DELETE FROM providers WHERE name="Rollbar" +DELETE FROM providers WHERE name="RubyGems.org" +DELETE FROM providers WHERE name="Semaphore" +DELETE FROM providers WHERE name="Sentry" +DELETE FROM providers WHERE name="SourceForge" +DELETE FROM providers WHERE name="StatusCake" +DELETE FROM providers WHERE name="Sumo Logic" +DELETE FROM providers WHERE name="Unfuddle" +DELETE FROM providers WHERE name="Unity" +DELETE FROM providers WHERE name="Visual Studio Online" +DELETE FROM providers WHERE name="Zapier" +DELETE FROM providers WHERE name="34SP.com" +DELETE FROM providers WHERE name="A2 Hosting" +DELETE FROM providers WHERE name="Acquia" +DELETE FROM providers WHERE name="Binary Lane" +DELETE FROM providers WHERE name="Binero" +DELETE FROM providers WHERE name="Blacknight" +DELETE FROM providers WHERE name="Bluehost" +DELETE FROM providers WHERE name="CDN77" +DELETE FROM providers WHERE name="CDNsun" +DELETE FROM providers WHERE name="ChunkHost" +DELETE FROM providers WHERE name="Cloudways" +DELETE FROM providers WHERE name="cyon" +DELETE FROM providers WHERE name="Dreamhost" +DELETE FROM providers WHERE name="Easy" +DELETE FROM providers WHERE name="Fastly" +DELETE FROM providers WHERE name="Flywheel" +DELETE FROM providers WHERE name="Glesys" +DELETE FROM providers WHERE name="Greenhost" +DELETE FROM providers WHERE name="Hetzner Online" +DELETE FROM providers WHERE name="Hostens" +DELETE FROM providers WHERE name="HostHatch" +DELETE FROM providers WHERE name="Hostnet" +DELETE FROM providers WHERE name="HostUS" +DELETE FROM providers WHERE name="ICDSoft" +DELETE FROM providers WHERE name="ICUK" +DELETE FROM providers WHERE name="Infomaniak" +DELETE FROM providers WHERE name="INIZ" +DELETE FROM providers WHERE name="IO Zoom" +DELETE FROM providers WHERE name="Kinsta" +DELETE FROM providers WHERE name="KnownHost" +DELETE FROM providers WHERE name="Liquid Web" +DELETE FROM providers WHERE name="Mammoth Networks" +DELETE FROM providers WHERE name="MaxCDN" +DELETE FROM providers WHERE name="Miss Hosting" +DELETE FROM providers WHERE name="NearlyFreeSpeech.NET" +DELETE FROM providers WHERE name="Netcup" +DELETE FROM providers WHERE name="Nitrado" +DELETE FROM providers WHERE name="Noez" +DELETE FROM providers WHERE name="Oderland" +DELETE FROM providers WHERE name="Online" +DELETE FROM providers WHERE name="OVH" +DELETE FROM providers WHERE name="PlanetHoster" +DELETE FROM providers WHERE name="RamNode" +DELETE FROM providers WHERE name="RunCloud" +DELETE FROM providers WHERE name="section.io" +DELETE FROM providers WHERE name="SiteGround" +DELETE FROM providers WHERE name="SpeedIT Solutions" +DELETE FROM providers WHERE name="Squarespace" +DELETE FROM providers WHERE name="Time4VPS" +DELETE FROM providers WHERE name="TransIP" +DELETE FROM providers WHERE name="UKFast" +DELETE FROM providers WHERE name="Ukraine" +DELETE FROM providers WHERE name="UpCloud" +DELETE FROM providers WHERE name="VentraIP" +DELETE FROM providers WHERE name="Versio" +DELETE FROM providers WHERE name="VPS Server" +DELETE FROM providers WHERE name="WebFaction" +DELETE FROM providers WHERE name="Wedos" +DELETE FROM providers WHERE name="WP Engine" +DELETE FROM providers WHERE name="drchrono" +DELETE FROM providers WHERE name="FollowMyHealth" +DELETE FROM providers WHERE name="Google Fit" +DELETE FROM providers WHERE name="HealthVault (w/Microsoft Account)" +DELETE FROM providers WHERE name="RunSignUp" +DELETE FROM providers WHERE name="500px" +DELETE FROM providers WHERE name="Buffer" +DELETE FROM providers WHERE name="Facebook" +DELETE FROM providers WHERE name="HootSuite" +DELETE FROM providers WHERE name="Instagram" +DELETE FROM providers WHERE name="LinkedIn" +DELETE FROM providers WHERE name="Lobsters" +DELETE FROM providers WHERE name="Pinterest" +DELETE FROM providers WHERE name="Plurk" +DELETE FROM providers WHERE name="Reddit" +DELETE FROM providers WHERE name="Snapchat" +DELETE FROM providers WHERE name="Tumblr" +DELETE FROM providers WHERE name="Twitter" +DELETE FROM providers WHERE name="VK" +DELETE FROM providers WHERE name="WordPress.com" +DELETE FROM providers WHERE name="Wykop" +DELETE FROM providers WHERE name="XING" +DELETE FROM providers WHERE name="Private Internet Access" +DELETE FROM providers WHERE name="ProtonVPN" +DELETE FROM providers WHERE name="Amazon AWS WorkSpaces" +DELETE FROM providers WHERE name="ConnectWise Control (ScreenConnect)" +DELETE FROM providers WHERE name="join.me (w/ LogMeIn account)" +DELETE FROM providers WHERE name="LogMeIn" +DELETE FROM providers WHERE name="MB Connect Line" +DELETE FROM providers WHERE name="O&O Syspectr" +DELETE FROM providers WHERE name="RealVNC" +DELETE FROM providers WHERE name="Remote Desktop Manager" +DELETE FROM providers WHERE name="TeamViewer" +DELETE FROM providers WHERE name="Datové schránky" +DELETE FROM providers WHERE name="DigiD" +DELETE FROM providers WHERE name="HMRC" +DELETE FROM providers WHERE name="login.gov" +DELETE FROM providers WHERE name="myGov" +DELETE FROM providers WHERE name="RealMe" +DELETE FROM providers WHERE name="Skatteverket" +DELETE FROM providers WHERE name="US Internal Revenue Service" +DELETE FROM providers WHERE name="US Veteran Affairs" +DELETE FROM providers WHERE name="Andrews & Arnold" +DELETE FROM providers WHERE name="Comcast" +DELETE FROM providers WHERE name="Con Edison" +DELETE FROM providers WHERE name="Google Fi" +DELETE FROM providers WHERE name="Google Fiber" +DELETE FROM providers WHERE name="Halebop" +DELETE FROM providers WHERE name="Republic Wireless" +DELETE FROM providers WHERE name="Sonic" +DELETE FROM providers WHERE name="Telia (Sweden)" +DELETE FROM providers WHERE name="Telzio" +DELETE FROM providers WHERE name="Ting" +DELETE FROM providers WHERE name="Ankama" +DELETE FROM providers WHERE name="Ashes of Creation" +DELETE FROM providers WHERE name="Aternos" +DELETE FROM providers WHERE name="Black Desert Online" +DELETE FROM providers WHERE name="Blade & Soul" +DELETE FROM providers WHERE name="Blizzard" +DELETE FROM providers WHERE name="Bohemia Interactive" +DELETE FROM providers WHERE name="Electronic Arts (Origin)" +DELETE FROM providers WHERE name="Enjin" +DELETE FROM providers WHERE name="Epic Games" +DELETE FROM providers WHERE name="EVE Online" +DELETE FROM providers WHERE name="FaceIT" +DELETE FROM providers WHERE name="Gaijin Entertainment" +DELETE FROM providers WHERE name="Garena Online" +DELETE FROM providers WHERE name="GREE" +DELETE FROM providers WHERE name="Guild Wars 2" +DELETE FROM providers WHERE name="Humble Bundle" +DELETE FROM providers WHERE name="itch.io" +DELETE FROM providers WHERE name="lichess.org" +DELETE FROM providers WHERE name="Nintendo Account" +DELETE FROM providers WHERE name="Roberts Space Industries" +DELETE FROM providers WHERE name="Rockstar Games Social Club" +DELETE FROM providers WHERE name="RuneScape" +DELETE FROM providers WHERE name="Scryfall" +DELETE FROM providers WHERE name="Square Enix" +DELETE FROM providers WHERE name="Star Wars: The Old Republic" +DELETE FROM providers WHERE name="Steam" +DELETE FROM providers WHERE name="Tibia" +DELETE FROM providers WHERE name="Toontown Rewritten" +DELETE FROM providers WHERE name="Trion Worlds" +DELETE FROM providers WHERE name="Ubisoft/Uplay" +DELETE FROM providers WHERE name="Wargaming" +DELETE FROM providers WHERE name="Xbox Live" +DELETE FROM providers WHERE name="YoYo Games" +DELETE FROM providers WHERE name="Apple iCloud" +DELETE FROM providers WHERE name="Backblaze" +DELETE FROM providers WHERE name="Dropbox" +DELETE FROM providers WHERE name="Evernote" +DELETE FROM providers WHERE name="Google Drive" +DELETE FROM providers WHERE name="Koofr" +DELETE FROM providers WHERE name="Mega" +DELETE FROM providers WHERE name="Nimbox" +DELETE FROM providers WHERE name="OneDrive" +DELETE FROM providers WHERE name="PCloud" +DELETE FROM providers WHERE name="QNAP" +DELETE FROM providers WHERE name="SmartBox" +DELETE FROM providers WHERE name="Sync" +DELETE FROM providers WHERE name="Synology" +DELETE FROM providers WHERE name="ThisData" +DELETE FROM providers WHERE name="Tresorit" +DELETE FROM providers WHERE name="Wasabi" +DELETE FROM providers WHERE name="Yandex.Disk" +DELETE FROM providers WHERE name="Zetta.net" +DELETE FROM providers WHERE name="Zoolz" +DELETE FROM providers WHERE name="1Password" +DELETE FROM providers WHERE name="Bitium" +DELETE FROM providers WHERE name="bitwarden" +DELETE FROM providers WHERE name="Centrify" +DELETE FROM providers WHERE name="Dashlane" +DELETE FROM providers WHERE name="ID.me" +DELETE FROM providers WHERE name="Keeper" +DELETE FROM providers WHERE name="LastPass" +DELETE FROM providers WHERE name="MyDigipass.com" +DELETE FROM providers WHERE name="Okta" +DELETE FROM providers WHERE name="PassHub" +DELETE FROM providers WHERE name="RoboForm" +DELETE FROM providers WHERE name="SAASPASS" +DELETE FROM providers WHERE name="SailPoint" +DELETE FROM providers WHERE name="True Key" +DELETE FROM providers WHERE name="Addiko Bank" +DELETE FROM providers WHERE name="AirBank" +DELETE FROM providers WHERE name="Avanza" +DELETE FROM providers WHERE name="Barclays UK" +DELETE FROM providers WHERE name="Capital One" +DELETE FROM providers WHERE name="Ceska Sporitelna" +DELETE FROM providers WHERE name="DNB" +DELETE FROM providers WHERE name="Erste Bank Hrvatska" +DELETE FROM providers WHERE name="First Direct" +DELETE FROM providers WHERE name="First Tech Federal Credit Union" +DELETE FROM providers WHERE name="Handelsbanken" +DELETE FROM providers WHERE name="HSBC" +DELETE FROM providers WHERE name="Länsförsäkringar" +DELETE FROM providers WHERE name="Navy Federal Credit Union" +DELETE FROM providers WHERE name="Nordea Sverige" +DELETE FROM providers WHERE name="Nordnet Sverige" +DELETE FROM providers WHERE name="Podravska banka" +DELETE FROM providers WHERE name="Santander PL" +DELETE FROM providers WHERE name="SEB" +DELETE FROM providers WHERE name="SoFi" +DELETE FROM providers WHERE name="State Bank of India" +DELETE FROM providers WHERE name="Swedbank" +DELETE FROM providers WHERE name="TBC Bank" +DELETE FROM providers WHERE name="USAA" +DELETE FROM providers WHERE name="UW Credit Union" +DELETE FROM providers WHERE name="Zagrebačka banka" +DELETE FROM providers WHERE name="Zurich Cantonal Bank (ZKB)" +DELETE FROM providers WHERE name="Clio" +DELETE FROM providers WHERE name="Docusign" +DELETE FROM providers WHERE name="HelloSign" +DELETE FROM providers WHERE name="Finnair" +DELETE FROM providers WHERE name="Uber" +DELETE FROM providers WHERE name="007Names" +DELETE FROM providers WHERE name="1&1 IONOS" +DELETE FROM providers WHERE name="101domain" +DELETE FROM providers WHERE name="20i" +DELETE FROM providers WHERE name="Above.com" +DELETE FROM providers WHERE name="ClouDNS" +DELETE FROM providers WHERE name="Directnic" +DELETE FROM providers WHERE name="DNS Made Easy" +DELETE FROM providers WHERE name="DNSimple" +DELETE FROM providers WHERE name="Domeneshop" +DELETE FROM providers WHERE name="Domeny.tv" +DELETE FROM providers WHERE name="Dyn" +DELETE FROM providers WHERE name="Dynadot" +DELETE FROM providers WHERE name="Dynu" +DELETE FROM providers WHERE name="easyDNS" +DELETE FROM providers WHERE name="eNom" +DELETE FROM providers WHERE name="EuroDNS" +DELETE FROM providers WHERE name="Fabulous" +DELETE FROM providers WHERE name="Gandi" +DELETE FROM providers WHERE name="GoDaddy" +DELETE FROM providers WHERE name="Google Domains" +DELETE FROM providers WHERE name="Hexonet" +DELETE FROM providers WHERE name="Hover.com" +DELETE FROM providers WHERE name="Hurricane Electric" +DELETE FROM providers WHERE name="Incapsula" +DELETE FROM providers WHERE name="Internet.bs" +DELETE FROM providers WHERE name="INWX" +DELETE FROM providers WHERE name="iWantMyName" +DELETE FROM providers WHERE name="Joker.com" +DELETE FROM providers WHERE name="Loopia" +DELETE FROM providers WHERE name="MarkMonitor" +DELETE FROM providers WHERE name="Moniker" +DELETE FROM providers WHERE name="Name.com" +DELETE FROM providers WHERE name="Namecheap" +DELETE FROM providers WHERE name="NameSilo.com" +DELETE FROM providers WHERE name="NearlyFreeSpeech.net" +DELETE FROM providers WHERE name="Nominet" +DELETE FROM providers WHERE name="NS1" +DELETE FROM providers WHERE name="OpenDNS" +DELETE FROM providers WHERE name="Openprovider" +DELETE FROM providers WHERE name="OpenSRS" +DELETE FROM providers WHERE name="pair Domains" +DELETE FROM providers WHERE name="Porkbun" +DELETE FROM providers WHERE name="Rebrandly" +DELETE FROM providers WHERE name="Register4Less" +DELETE FROM providers WHERE name="Registro.br" +DELETE FROM providers WHERE name="UK2" +DELETE FROM providers WHERE name="Uniregistry" +DELETE FROM providers WHERE name="United Domains USA" +DELETE FROM providers WHERE name="united-domains Reselling" +DELETE FROM providers WHERE name="united-domains.de" +DELETE FROM providers WHERE name="VentraIP" +DELETE FROM providers WHERE name="ANXPRO Bitcoin Exchange" +DELETE FROM providers WHERE name="AnycoinDirect" +DELETE FROM providers WHERE name="Binance" +DELETE FROM providers WHERE name="BitBay" +DELETE FROM providers WHERE name="Bitcoin.de" +DELETE FROM providers WHERE name="Bitcoins Norway" +DELETE FROM providers WHERE name="BitcoinTrade" +DELETE FROM providers WHERE name="Bitfinex" +DELETE FROM providers WHERE name="Bitflyer" +DELETE FROM providers WHERE name="BitGo" +DELETE FROM providers WHERE name="Bithumb" +DELETE FROM providers WHERE name="Bitlish" +DELETE FROM providers WHERE name="Bitpay" +DELETE FROM providers WHERE name="Bitstamp" +DELETE FROM providers WHERE name="Bittrex" +DELETE FROM providers WHERE name="Blockchain" +DELETE FROM providers WHERE name="Braziliex" +DELETE FROM providers WHERE name="BTC BOX" +DELETE FROM providers WHERE name="BTC Markets" +DELETE FROM providers WHERE name="BTCPOP" +DELETE FROM providers WHERE name="BX Thailand" +DELETE FROM providers WHERE name="CEX.IO" +DELETE FROM providers WHERE name="Changelly" +DELETE FROM providers WHERE name="Circle" +DELETE FROM providers WHERE name="COBINHOOD" +DELETE FROM providers WHERE name="Coin Cafe" +DELETE FROM providers WHERE name="Coinapult" +DELETE FROM providers WHERE name="Coinbase" +DELETE FROM providers WHERE name="CoinDeal" +DELETE FROM providers WHERE name="CoinFalcon" +DELETE FROM providers WHERE name="Coinfloor" +DELETE FROM providers WHERE name="CoinGate" +DELETE FROM providers WHERE name="Coinify (Merchants)" +DELETE FROM providers WHERE name="Coinjar" +DELETE FROM providers WHERE name="CoinOne" +DELETE FROM providers WHERE name="Coins.ph" +DELETE FROM providers WHERE name="Coinspot" +DELETE FROM providers WHERE name="CoinTracking" +DELETE FROM providers WHERE name="Coinut" +DELETE FROM providers WHERE name="Cryptopia" +DELETE FROM providers WHERE name="DSX" +DELETE FROM providers WHERE name="Gatehub" +DELETE FROM providers WHERE name="Gemini" +DELETE FROM providers WHERE name="HitBTC" +DELETE FROM providers WHERE name="Korbit" +DELETE FROM providers WHERE name="Kraken" +DELETE FROM providers WHERE name="LiteBit" +DELETE FROM providers WHERE name="LocalBitcoins" +DELETE FROM providers WHERE name="localethereum" +DELETE FROM providers WHERE name="Luno" +DELETE FROM providers WHERE name="Mercado Bitcoin" +DELETE FROM providers WHERE name="Poloniex" +DELETE FROM providers WHERE name="SatoshiTango" +DELETE FROM providers WHERE name="Uphold" +DELETE FROM providers WHERE name="Wirex" +DELETE FROM providers WHERE name="Xapo" +DELETE FROM providers WHERE name="Microsoft To-Do" +DELETE FROM providers WHERE name="Planio" +DELETE FROM providers WHERE name="Toodledo" +DELETE FROM providers WHERE name="Trello" +DELETE FROM providers WHERE name="AdGuard" +DELETE FROM providers WHERE name="Blur" +DELETE FROM providers WHERE name="Boxcryptor" +DELETE FROM providers WHERE name="bugcrowd" +DELETE FROM providers WHERE name="Cloudflare" +DELETE FROM providers WHERE name="Cobalt" +DELETE FROM providers WHERE name="DigiCert" +DELETE FROM providers WHERE name="dmarcian" +DELETE FROM providers WHERE name="Dome9 Security" +DELETE FROM providers WHERE name="Entrust" +DELETE FROM providers WHERE name="HackerOne" +DELETE FROM providers WHERE name="Norton" +DELETE FROM providers WHERE name="Prey" +DELETE FROM providers WHERE name="Pwnie Express Pwn Pulse" +DELETE FROM providers WHERE name="RBLTracker" +DELETE FROM providers WHERE name="Sophos Central" +DELETE FROM providers WHERE name="SSLTrust" +DELETE FROM providers WHERE name="ThreatConnect" +DELETE FROM providers WHERE name="ThreatX" +DELETE FROM providers WHERE name="Tinfoil Security" +DELETE FROM providers WHERE name="TorGuard" diff --git a/migrations/2019-09-02-132153_fill_providers/up.sql b/migrations/2019-09-02-132153_fill_providers/up.sql new file mode 100644 index 0000000..bc89cec --- /dev/null +++ b/migrations/2019-09-02-132153_fill_providers/up.sql @@ -0,0 +1,606 @@ +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("FastMail", "https://www.fastmail.com/", "https://www.fastmail.com/help/account/2fa.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Gmail", "https://mail.google.com", "https://www.google.com/intl/en-US/landing/2step/features.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("GMX.net", "https://www.gmx.net/", "https://hilfe.gmx.net/sicherheit/2fa/einrichten.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hushmail", "https://www.hushmail.com", "https://help.hushmail.com/hc/en-us/articles/213268943", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("mail.de", "https://mail.de/", "https://mail.de/hilfe/u2f-authenticator", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mail.Ru", "https://mail.ru/", "https://help.mail.ru/mail-help/2auth", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("mailbox.org", "https://mailbox.org/", "https://kb.mailbox.org/x/5AcS", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mailfence", "https://mailfence.com/", "https://mailfence.com/c/mailfence/more/totp.jsp", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Migadu", "https://www.migadu.com/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mimecast", "https://www.mimecast.com/", "https://community.mimecast.com/docs/DOC-1915", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MXroute", "https://mxroute.com/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Outlook.com", "https://outlook.com", "https://support.microsoft.com/en-us/help/12408/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Pobox", "https://www.pobox.com/", "https://pobox.com/helpspot/index.php?pg=kb.chapter&id=65", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Posteo", "https://posteo.de/", "https://posteo.de/en/help/what-is-two-factor-authentication-and-how-do-i-set-it-up", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ProtonMail", "https://protonmail.com/", "https://protonmail.com/support/knowledge-base/two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Runbox", "https://runbox.com", "https://help.runbox.com/account-security/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Seznam.cz", "https://seznam.cz", "https://blog.seznam.cz/2018/04/seznam-cz-ma-nove-dvoufazove-overeni-u-vsech-svych-sluzeb-zvysi-zabezpeci-prihlasovani-napriklad-do-emailu/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("StartMail", "https://www.startmail.com", "https://support.startmail.com/index.php?/Knowledgebase/Article/View/704", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Thexyz", "https://www.thexyz.com/", "https://www.thexyz.com/account/knowledgebase/15/Enabling-two-factor-authentication.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Tutanota", "https://tutanota.com/", "https://tutanota.uservoice.com/knowledgebase/articles/1201942", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Yahoo Japan Mail", "https://mail.yahoo.co.jp/", "https://id.yahoo.co.jp/security/otp.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Yandex.Mail", "https://mail.yandex.com/", "https://yandex.com/support/passport/authorization/twofa.xml", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Zimbra", "https://www.zimbra.com/", "https://blog.zimbra.com/2016/02/zimbra-collaboration-8-7-two-factor-authentication-2fa-technical-preview/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Zoho Mail", "https://www.zoho.com/mail/", "https://adminconsole.wiki.zoho.com/mail/Two-Factor-Authentication.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Adobe ID", "https://accounts.adobe.com/", "https://helpx.adobe.com/manage-account/using/secure-your-adobe-account.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Airtable", "https://airtable.com", "https://support.airtable.com/hc/en-us/articles/219409917", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("AngelList", "https://angel.co", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Autodesk", "https://www.autodesk.com", "https://knowledge.autodesk.com/customer-service/account-management/account-profile/account-security/two-step-verification", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Automater", "https://automater.pl/en/", "https://www.youtube.com/watch?v=5OLcvjVhhuI", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("AwardWallet", "https://awardwallet.com", "https://awardwallet.com/faqs#44", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Chartbeat", "https://chartbeat.com/", "https://chartbeat.zendesk.com/hc/en-us/articles/209531888", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Cisco Meraki", "https://meraki.cisco.com/", "https://documentation.meraki.com/zGeneral_Administration/Managing_Dashboard_Access/Using_Google_Authenticator_for_Two-factor_Authentication_in_Dashboard", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CloudConvert", "https://cloudconvert.com", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Cloudinary", "https://cloudinary.com", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DirectAdmin", "https://www.directadmin.com", "https://directadmin.com/features.php?id=1754", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Envato", "https://envato.com", "https://help.market.envato.com/hc/en-us/articles/115005592963", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Everlaw", "https://everlaw.com", "https://support.everlaw.com/hc/en-us/articles/206312165", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Figma", "https://www.figma.com/", "https://help.figma.com/article/208--", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Findmyshift", "https://www.findmyshift.com/", "https://www.findmyshift.com/help/what-is-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Firefox", "https://accounts.firefox.com", "https://support.mozilla.org/en-US/kb/secure-firefox-account-two-step-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Formstack", "https://www.formstack.com/", "https://help.formstack.com/hc/en-us/articles/360019517891", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("GrowingIO", "https://www.growingio.com/", "https://docs.growingio.com/docs/configuration/account-management#22-kai-qi-er-ci-ren-zheng", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Help Scout", "https://helpscout.com", "https://docs.helpscout.com/article/907--", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("IFTTT", "https://ifttt.com", "https://ifttt.com/settings#two-step-verification", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ImmobilienScout24", "https://www.immobilienscout24.de", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Jitbit Helpdesk", "https://www.jitbit.com/hosted-helpdesk/", "https://support.jitbit.com/helpdesk/KB/View/11048235", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Kayako", "https://www.kayako.com", "https://support.kayako.com/article/1198-securing-your-user-account-with-two-factor-authentication-2fa", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Kickstarter", "https://www.kickstarter.com", "https://help.kickstarter.com/hc/en-us/articles/115005127094", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MathWorks", "https://www.mathworks.com/", "https://www.mathworks.com/mw_account/two_step_verification/frequently-asked-questions.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mixpanel", "https://mixpanel.com/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("No Starch Press", "https://nostarch.com/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Office 365", "https://office.microsoft.com/en-us/business/", "https://support.office.com/en-US/article/Set-up-multi-factor-authentication-for-Office-365-8f0454b2-f51a-4d9c-bcde-2c48e41621c6", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Onshape", "https://www.onshape.com/", "https://cad.onshape.com/help/Content/twofactorauthentication.htm", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Patreon", "https://www.patreon.com/", "https://support.patreon.com/hc/en-us/articles/206538086", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("PhraseApp", "https://phraseapp.com", "https://phraseapp.com/blog/posts/multi-factor-how-to-secure-your-account-using-multi-factor/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Repairshopr", "https://www.repairshopr.com/", "https://feedback.repairshopr.com/knowledgebase/articles/928266", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ripe NCC", "https://www.ripe.net/", "https://www.ripe.net/participate/member-support/ripe-ncc-access/two-step-verification", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SaneBox", "https://www.sanebox.com/", "https://www.sanebox.com/help/127", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SmartSimple", "https://www.smartsimple.com", "https://wiki.smartsimple.com/wiki/Two-Factor_Authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ubiquiti Networks", "https://www.ubnt.com", "https://help.ubnt.com/hc/en-us/articles/115012986607", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Usabilla", "https://usabilla.com", "https://support.usabilla.com/hc/en-us/articles/115003081611", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Watchman Monitoring", "https://www.watchmanmonitoring.com", "https://www.watchmanmonitoring.com/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Weclapp", "https://weclapp.com/", "https://doc.weclapp.com/knowledgebase/zwei-wege-authentifizierung-2fa/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Wikipedia", "https://www.wikipedia.org/", "https://meta.wikimedia.org/wiki/Help:Two-factor_authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Yclas", "https://yclas.com/", "https://docs.yclas.com/2-step-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("YourAcclaim", "https://youracclaim.com", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Zendesk", "https://www.zendesk.com", "https://support.zendesk.com/hc/en-us/articles/203824246", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Google Play", "https://play.google.com", "https://www.google.com/intl/en-US/landing/2step/features.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mixer", "https://mixer.com/", "https://watchbeam.zendesk.com/hc/en-us/articles/115000997646", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Niconico", "https://www.nicovideo.jp/", "https://qa.nicovideo.jp/faq/show/4500", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("smashcast", "https://www.smashcast.tv/", "https://help.smashcast.tv/customer/en/portal/articles/2779887", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Twitch", "https://www.twitch.tv/", "https://help.twitch.tv/s/article/two-factor-authentication-with-authy", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("YouTube", "https://www.youtube.com/", "https://www.google.com/intl/en-US/landing/2step/features.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Amazon Pay", "https://pay.amazon.com", "https://www.amazon.com/gp/help/customer/display.html?nodeId=201962420", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Braintree", "https://www.braintreepayments.com/", "https://articles.braintreepayments.com/reference/security/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Buycraft", "https://buycraft.net", "https://help.buycraft.net/article/83-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Dwolla", "https://www.dwolla.com", "https://support.dwolla.com/customer/portal/articles/2079147", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Google Wallet", "https://www.google.se/wallet/", "https://www.google.com/intl/en-US/landing/2step/features.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Klarna", "https://www.klarna.com", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("NETELLER", "https://www.neteller.com/", "https://support.neteller.com/ACCOUNT/Two-Factor-Authentication/85238429/What-is-two-step-authentication.htm", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("PAYEER", "https://payeer.com/en/", "https://payeer.com/en/faq/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("PayPal", "https://www.paypal.com/", "https://www.paypal.com/us/smarthelp/article/faq4057", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Paysafecard", "https://www.paysafecard.com/", "https://www.paysafecard.com/en-au/lp-products/2-step-login/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Payza", "https://www.payza.eu/", "https://docs.payza.eu/docs/personal-manual-advanced-security#section-how-do-i-set-up-2-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Privacy", "https://privacy.com/", "https://privacy.com/faq", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ravelin", "https://www.ravelin.com/", "https://ravelin.zendesk.com/hc/en-us/articles/115001071665", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Recurly", "https://www.recurly.com/", "https://docs.recurly.com/docs/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Skrill", "https://skrill.com/", "https://www.skrill.com/en/support#/path/ACCOUNT/Two-Factor-Authentication/905761532/Two-Factor-Authentication-2FA.htm", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Square", "https://squareup.com", "https://squareup.com/help/us/en/article/5593", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Stripe", "https://www.stripe.com/", "https://support.stripe.com/questions/how-do-i-enable-two-step-verification", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Yandex.Money", "https://money.yandex.ru", "https://money.yandex.ru/doc.xml?id=524852", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("AltoIRA", "https://www.altoira.com", "https://help.altoira.com/hc/en-us/articles/360007374654", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BGL Corporate Solutions", "https://www.bglcorp.com/", "https://sf360.zendesk.com/hc/en-au/articles/360020963051", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitbond", "https://www.bitbond.com", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Carta", "https://carta.com/", "https://support.carta.com/s/article/2-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DEGIRO", "https://www.degiro.nl", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Exact Online", "https://exact.com/", "https://support.exactonline.com/community/s/knowledge-base#All-All-HNO-Concept-general-security-gen-auth-totpc", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("FreeAgent", "https://www.freeagent.com", "https://www.freeagent.com/support/kb/getting-started/two-step-verification", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("FreeTaxUSA", "https://www.freetaxusa.com/", "https://www.freetaxusa.com/safe.jsp", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Intuit TurboTax", "https://turbotax.intuit.com/", "https://ttlc.intuit.com/questions/2902682-what-is-two-step-verification", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Invoiced", "https://invoiced.com/", "https://support.invoiced.com/knowledge_base/topics/setting-up-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Justworks", "https://justworks.com/", "https://help.justworks.com/hc/en-us/articles/360004477492", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Metorik", "https://www.metorik.com", "https://help.metorik.com/article/22-how-can-i-enable-2fa-on-my-account", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mint", "https://www.mint.com", "https://help.mint.com/Security/908045661", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Moneybird", "https://www.moneybird.com/", "https://www.moneybird.nl/blog/twee-staps-verificatie/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Paycor", "https://www.paycor.com", "https://www.paycor.com/security/how-to-keep-your-account-safe", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Pocketsmith", "https://www.pocketsmith.com", "https://learn.pocketsmith.com/article/167--", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Quickbooks Online", "https://www.quickbooks.com", "https://accounts-help.lc.intuit.com/questions/1590157", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("QuickFile", "https://www.quickfile.co.uk", "https://community.quickfile.co.uk/t/2-factor-authentication/8892", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SimpleTax", "https://simpletax.ca/", "https://help.simpletax.ca/questions/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("TransferWise", "https://transferwise.com", "https://transferwise.com/help/12/managing-your-profile/2932125", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Xero", "https://www.xero.com/", "https://help.xero.com/nz/MyXero_Two-Step_About", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Action Network", "https://actionnetwork.org/", "https://help.actionnetwork.org/hc/en-us/articles/217206826", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Capsule", "https://capsulecrm.com/", "https://capsulecrm.com/support/user-preferences/#enabling-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Cloze", "https://www.cloze.com/", "https://help.cloze.com/knowledge_base/topics/how-do-i-enable-2-step-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Customer.io", "https://customer.io", "https://customer.io/docs/two-factor-auth.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Direct Mail", "https://directmailmac.com", "https://directmailmac.com/support/article/507", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Discord", "https://discordapp.com/", "https://support.discordapp.com/hc/en-us/articles/219576828", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Front App", "https://frontapp.com", "https://community.frontapp.com/t/q56jf8/activating-two-factor-authentication-2fa", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Grape", "https://chatgrape.com/", "https://chatgrape.com/doc/deployment/2fa.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hangouts", "https://hangouts.google.com/", "https://www.google.com/intl/en-US/landing/2step/features.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HubSpot", "https://www.hubspot.com/", "https://knowledge.hubspot.com/articles/kcs_article/account/how-can-i-set-up-two-factor-authentication-for-my-hubspot-login", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MailChimp", "https://mailchimp.com/", "https://kb.mailchimp.com/accounts/login/set-up-a-two-factor-authentication-app-at-login", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mailgun", "https://www.mailgun.com", "https://help.mailgun.com/hc/en-us/articles/360011664433", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Peerio", "https://peerio.com", "https://support.peerio.com/hc/en-us/articles/203665635", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Salesforce", "https://www.salesforce.com", "https://developer.salesforce.com/docs/atlas.en-us.securityImplGuide.meta/securityImplGuide/add_time-based_token.htm", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SendGrid", "https://sendgrid.com/", "https://sendgrid.com/docs/ui/account-and-settings/two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Sendloop", "https://app.sendloop.com", "https://help.sendloop.com/docs/securing-your-account", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Skype", "https://www.skype.com", "https://support.microsoft.com/en-us/help/12408/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Slack", "https://slack.com/", "https://get.slack.help/hc/en-us/articles/204509068", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SocketLabs", "https://socketlabs.com/", "https://help.socketlabs.com/docs/two-step-verification", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SparkPost", "https://sparkpost.com/", "https://www.sparkpost.com/docs/my-account-and-profile/enabling-two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Stackfield", "https://www.stackfield.com/", "https://en.stackfield.help/article/92-activating-deactivating-the-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Betterment", "https://www.betterment.com/", "https://help.betterment.com/hc/en-us/articles/115004260006", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Charles Schwab", "https://www.schwab.com/", "/notes/schwab/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("E*Trade", "https://www.etrade.com/", "https://us.etrade.com/landing/secureid_enter", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Fidelity Investments", "https://www.fidelity.com", "/notes/fidelity/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Interactive Brokers", "https://www.interactivebrokers.com", "https://www.interactivebrokers.com/en/index.php?f=ibgStrength&p=log", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Nutmeg", "https://www.nutmeg.com/", "https://support.nutmeg.com/hc/en-us/articles/115000495111", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Robinhood", "https://www.robinhood.com/", "https://support.robinhood.com/hc/en-us/articles/360001213783", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Wealthfront", "https://www.wealthfront.com/", "https://support.wealthfront.com/hc/en-us/articles/211004563", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Wealthsimple", "https://www.wealthsimple.com", "https://help.wealthsimple.com/hc/en-ca/articles/360005175373", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Adafruit", "https://www.adafruit.com", "https://learn.adafruit.com/how-to-set-up-2-factor-authentication-on-adafruit", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Allegro", "https://allegro.pl", "https://allegro.pl/pomoc/faq/dwustopniowe-logowanie-faq-oGgdkGDqXCq", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Amazon", "https://www.amazon.com", "https://www.amazon.com/gp/help/customer/display.html?nodeId=201596330", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Apple", "https://appleid.apple.com", "https://support.apple.com/en-us/HT204915", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Digitec", "https://www.digitec.ch", "https://www.digitec.ch/en/page/new-two-factor-authentication-for-your-user-account-6589", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("eBay", "https://www.ebay.com", "https://community.ebay.com/t5/Announcements/eBay-launches-a-new-2-step-verification-method-to-increase/ba-p/29818464", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Etsy", "https://www.etsy.com/", "https://help.etsy.com/hc/en-us/articles/115015569567", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mercado Libre", "https://www.mercadolibre.com", "https://ayuda.mercadolibre.com.ar/ayuda/Consejos-para-fortalecer-la-se_961", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Newegg", "https://www.newegg.com", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Purse", "https://purse.io/", "https://support.purse.io/account/2-factor-authentication-2fa", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Shopify", "https://shopify.com/", "https://help.shopify.com/manual/your-account/account-security/two-step-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Tokopedia", "https://www.tokopedia.com/", "https://www.tokopedia.com/panduan-keamanan/fitur-keamanan-tambahan/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("(ISC)2", "https://www.isc2.org", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Boston University", "https://www.bu.edu", "https://www.bu.edu/tech/support/duo/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("California Institute of Technology (CalTech)", "https://www.caltech.edu", "https://imss.caltech.edu/node/1408", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Carnegie Mellon University", "https://www.cmu.edu/", "https://www.cmu.edu/computing/services/security/identity-access/authentication/how-to/use2fa-weblogin.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Clemson University", "https://www.clemson.edu/", "https://2fa.app.clemson.edu/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Clever", "https://clever.com", "https://support.clever.com/hc/en-us/articles/202062333", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CSN", "https://www.csn.se", "https://tjanster.csn.se/bas/vanligaFragor.do", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Duke University", "https://www.duke.edu", "https://idms-mfa.oit.duke.edu/mfa/help", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("East Carolina University", "https://www.ecu.edu", "https://itcs.ecu.edu/services/accounts-passwords/multi-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Eastern Michigan University", "https://www.emich.edu", "https://www.emich.edu/it/security/esp/duo.php", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Georgia Institute of Technology", "https://www.gatech.edu", "https://twofactor.oit.gatech.edu", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Harvard University", "https://www.harvard.edu", "https://huit.harvard.edu/twostep", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("KnowBe4", "https://www.knowbe4.com/", "https://support.knowbe4.com/hc/en-us/articles/225681448", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Massachusetts Institute of Technology", "https://web.mit.edu/", "https://kb.mit.edu/confluence/display/istcontrib/Duo+Authentication+Landing+Page", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Miami University", "https://miamioh.edu/", "https://miamioh.edu/it-services/initiatives-and-projects/info-security/duo/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Pennsylvania State University", "https://www.psu.edu/", "https://www.identity.psu.edu/services/authentication-services/two-factor/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Purdue University", "https://www.purdue.edu/", "https://www.purdue.edu/securepurdue/iamoServices/BoilerKey.php", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ryerson University", "https://www.ryerson.ca", "https://www.ryerson.ca/ccs/services/ITSecurity/protecting-your-identity/two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Stanford University", "https://www.stanford.edu/", "https://uit.stanford.edu/service/webauth/twostep", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Temple University", "https://www.temple.edu/", "https://computerservices.temple.edu/two-step-verification", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("University of Idaho", "https://www.uidaho.edu", "https://support.uidaho.edu/TDClient/KB/ArticleDet?ID=109", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("University of Michigan", "https://www.umich.edu", "https://www.safecomputing.umich.edu/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("University of Washington", "https://www.washington.edu/", "https://itconnect.uw.edu/security/uw-netids/2fa/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Virginia Commonwealth University", "https://www.vcu.edu", "https://ts.vcu.edu/askit/essential-computing/information-security/2factor/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Virginia Tech", "https://www.vt.edu/", "https://www.tech.it.vt.edu/2factor/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Amazon Web Services", "https://aws.amazon.com", "https://aws.amazon.com/iam/details/mfa/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Cloud 66", "https://www.cloud66.com", "https://blog.cloud66.com/two-factor-authentication-for-your-accounts/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("cloud.ca", "https://cloud.ca", "https://cloud.ca/two-factor-authentication-is-now-available-on-cloud-ca/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DigitalOcean", "https://www.digitalocean.com/", "https://www.digitalocean.com/docs/accounts/security/2fa/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("EngineYard", "https://www.engineyard.com", "https://blog.engineyard.com/2015/engine-yards-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("fortrabbit", "https://www.fortrabbit.com/", "https://help.fortrabbit.com/account#toc-setting-up-2fa", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Google Cloud Platform", "https://cloud.google.com", "https://www.google.com/intl/en-US/landing/2step/features.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Heroku", "https://www.heroku.com/", "https://devcenter.heroku.com/articles/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hostiso", "https://hostiso.com/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Joyent", "https://www.joyent.com/", "https://docs.joyent.com/public-cloud/getting-started/2fa", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Laravel Forge", "https://forge.laravel.com/", "https://forge.laravel.com/user/profile#/authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Leaseweb", "https://www.leaseweb.com/", "https://kb.leaseweb.com/users-and-accounts/managing-your-profile/setup-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Linode", "https://www.linode.com/", "https://www.linode.com/docs/security/linode-manager-security-controls", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MacStadium", "https://www.macstadium.com/", "https://help.macstadium.com/articles/macstadium-two-factor-authentication-guide", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Microsoft Azure", "https://azure.microsoft.com/", "https://azure.microsoft.com/en-us/documentation/articles/multi-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("mLab", "https://mlab.com/", "https://docs.mlab.com/security/#two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Packet", "https://www.packet.com/", "https://support.packet.com/kb/articles/portal", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ProfitBricks", "https://www.profitbricks.de", "https://www.profitbricks.com/help/2-Factor_Authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Rackspace", "https://www.rackspace.com/", "https://support.rackspace.com/how-to/multi-factor-authentication-from-the-cloud-control-panel/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Scaleway", "https://www.scaleway.com", "https://blog.online.net/2017/06/13/introducing-two-factor-authentication-on-scaleway/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Scalr", "https://www.scalr.com", "https://scalr-wiki.atlassian.net/wiki/display/docs/Two-Factor+Authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SingleHop", "https://www.singlehop.com", "http://library.singlehop.com/assets_project_development/Two_Factor_Instructions.pdf", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Tilaa", "https://www.tilaa.com", "https://blog.tilaa.com/post/128110588046", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("UpCloud", "https://www.upcloud.com", "https://www.upcloud.com/support/two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Userify", "https://userify.com", "https://userify.com/docs/multifactor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Vultr", "https://www.vultr.com", "https://www.vultr.com/docs/using-two-factor-authentication-to-login-to-vultr-control-panel", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Aha!", "https://www.aha.io/", "https://support.aha.io/hc/en-us/articles/202000957", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Airbrake", "https://airbrake.io", "https://airbrake.io/docs/features/two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Algolia", "https://algolia.com", "https://www.algolia.com/doc/security/best-security-practices/#two-factor-authentication-2fa", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("AppSignal", "https://appsignal.com", "https://docs.appsignal.com/user-account/two-factor-authentication.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("AppVeyor", "https://www.appveyor.com", "https://www.appveyor.com/blog/2018/11/07/2FA-implementation/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("aTech Media", "https://atechmedia.com", "https://atechmedia.com/blog/general/launches/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Atlassian Cloud", "https://id.atlassian.com", "https://confluence.atlassian.com/cloud/secure-your-account-with-two-step-verification-939505063.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitbucket", "https://bitbucket.org", "https://confluence.atlassian.com/x/425QLg", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Buddy", "https://buddy.works", "https://buddy.works/blog/introducing-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bugsnag", "https://bugsnag.com", "https://docs.bugsnag.com/product/account-and-security/#security", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bugzilla@Mozilla", "https://bugzilla.mozilla.org", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Buildkite", "https://buildkite.com", "https://buildkite.com/changelog/31-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BuiltWith", "https://builtwith.com", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CM Telecom", "https://www.cmtelecom.com/", "https://help.onlinesmsgateway.com/en/accounts-and-payments/how-do-i-enable-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Code Climate", "https://codeclimate.com", "https://docs.codeclimate.com/docs/enabling-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Codeanywhere", "https://codeanywhere.com", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Codeship", "https://codeship.com/", "https://documentation.codeship.com/general/about/2fa/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Compose.io", "https://www.compose.io/", "https://docs.compose.io/security/compose-two-factor-authentication.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Crowdin", "https://crowdin.com/", "https://support.crowdin.com/account-settings/#two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DeployHQ", "https://www.deployhq.com/", "https://www.deployhq.com/support/managing-your-account/personal-profile/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Domino Data Lab", "https://www.dominodatalab.com/", "https://support.dominodatalab.com/hc/en-us/articles/115000998406", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Drupal.org", "https://www.drupal.org/", "https://www.drupal.org/drupalorg/docs/user-accounts/setting-up-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Esri", "https://www.esri.com", "https://doc.arcgis.com/en/arcgis-online/reference/multifactor.htm", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("FogBugz & Kiln", "https://www.fogbugz.com/", "https://help.manuscript.com/10892", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("GitHub", "https://github.com", "https://help.github.com/articles/about-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("GitLab", "https://gitlab.com", "https://docs.gitlab.com/ee/user/profile/account/two_factor_authentication.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HashiCorp Terraform Enterprise", "https://app.terraform.io/", "https://www.terraform.io/docs/enterprise/users-teams-organizations/2fa.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HashiCorp Vagrant Cloud", "https://app.vagrantup.com/", "https://www.vagrantup.com/docs/vagrant-cloud/users/authentication.html#two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("IT Glue", "https://www.itglue.com/", "https://kb.itglue.com/hc/en-us/articles/213293197", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Koding", "https://koding.com", "https://www.koding.com/blog/2015/06/two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Launchpad", "https://launchpad.net", "https://help.ubuntu.com/community/SSO/FAQs/2FA", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Looker", "https://looker.com/", "https://www.looker.com/docs/admin/security/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mapbox", "https://www.mapbox.com", "https://www.mapbox.com/help/two-step-verification/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Metrological", "https://www.metrological.com/", "https://github.com/2factorauth/twofactorauth/pull/2273#issuecomment-271876292", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MongoDB Cloud Manager", "https://cloud.mongodb.com", "https://docs.cloudmanager.mongodb.com/core/two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("npm", "https://www.npmjs.com/", "https://docs.npmjs.com/getting-started/using-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Panic Sync", "https://panic.com/", "https://library.panic.com/general/sync-2fa/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Phacility", "https://phacility.com/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Pushover", "https://pushover.net/", "https://pushover.net/faq#security-2fa", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("PyPI", "https://pypi.org/", "https://pypi.org/help/#twofa", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("PythonAnywhere", "https://www.pythonanywhere.com", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Raygun", "https://raygun.com", "https://raygun.com/docs/workflow/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RBCommons", "https://rbcommons.com", "https://beanbag.freshdesk.com/support/solutions/articles/3000006998", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Report URI", "https://report-uri.com", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Rollbar", "https://rollbar.com/", "https://rollbar.com/docs/two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RubyGems.org", "https://rubygems.org", "https://guides.rubygems.org/setting-up-multifactor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Semaphore", "https://semaphoreci.com", "https://semaphoreci.com/docs/two-step-verification.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Sentry", "https://sentry.io", "https://blog.sentry.io/2016/06/22/introducing-2fa", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SourceForge", "https://sourceforge.net/", "https://sourceforge.net/blog/introducing-multifactor-authentication-on-sourceforge/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("StatusCake", "https://statuscake.com/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Sumo Logic", "https://www.sumologic.com", "https://help.sumologic.com/Manage/Security/About_2-Step_Verification", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Unfuddle", "https://unfuddle.com/", "https://unfuddle.com/blog/2014/07/140721-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Unity", "https://unity3d.com/", "https://support.unity3d.com/hc/en-us/articles/208764976", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Visual Studio Online", "https://www.visualstudio.com/", "https://support.microsoft.com/en-us/help/12408/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Zapier", "https://zapier.com", "https://zapier.com/help/two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("34SP.com", "https://www.34SP.com", "https://www.34sp.com/kb/142/how-to-enable-two-factor-authentication-on-your-account", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("A2 Hosting", "https://www.a2hosting.com", "https://www.a2hosting.com/kb/a2-hosting-customer-portal/account-management/enabling-two-factor-authentication-for-your-a2-hosting-account", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Acquia", "https://www.acquia.com", "https://docs.acquia.com/acquia-cloud/access/signin/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Binary Lane", "https://www.binarylane.com.au/", "https://www.binarylane.com.au/support/solutions/articles/1000199372", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Binero", "https://www.binero.se", "https://blogg.binero.se/2017/10/tvafaktorsautentisering/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Blacknight", "https://blacknight.com", "https://help.blacknight.com/hc/en-us/articles/360001358517", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bluehost", "https://www.bluehost.com/", "https://my.bluehost.com/cgi/help/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CDN77", "https://www.cdn77.com", "https://client.cdn77.com/support/knowledgebase/billing/cdn77-two-step-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CDNsun", "https://cdnsun.com", "https://cdnsun.com/knowledgebase/billing/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ChunkHost", "https://chunkhost.com", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Cloudways", "https://www.cloudways.com/", "https://support.cloudways.com/enabling-two-factor-authentication-for-your-cloudways-account/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("cyon", "https://www.cyon.ch", "https://www.cyon.ch/support/a/225/wie-aktiviere-ich-die-zwei-schritt-verifizierung", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Dreamhost", "https://dreamhost.com", "https://help.dreamhost.com/hc/en-us/articles/216013897", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Easy", "https://easy.gr/", "https://easy.gr/el/faq", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Fastly", "https://www.fastly.com", "https://docs.fastly.com/guides/account-management-and-security/enabling-and-disabling-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Flywheel", "https://getflywheel.com", "https://getflywheel.com/wordpress-support/how-to-enable-two-factor-authentication-on-flywheel", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Glesys", "https://glesys.com/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Greenhost", "https://greenhost.net", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hetzner Online", "https://www.hetzner.de/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hostens", "https://www.hostens.com/", "https://www.hostens.com/knowledgebase/how-to-enhance-account-security/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HostHatch", "https://hosthatch.com/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hostnet", "https://www.hostnet.nl/", "https://www.hostnet.nl/veelgestelde-vragen/tweestaps-authenticatie", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HostUS", "https://hostus.us", "https://my.hostus.us/knowledgebase/106/How-do-I-secure-my-account-with-Two-Factor-Authentication-or-TOTP.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ICDSoft", "https://www.icdsoft.com", "https://tickets.suresupport.com/faq/article-1700", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ICUK", "https://www.icuk.net", "https://www.icuk.net/reseller/security.asp", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Infomaniak", "https://www.infomaniak.com/", "https://www.infomaniak.ch/en/support/faq/1940", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("INIZ", "https://iniz.com", "https://my.iniz.com/knowledgebase/24/Securing-Your-Account-2FA.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("IO Zoom", "https://www.iozoom.com", "https://www.iozoom.com/client/announcements.php?id=6", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Kinsta", "https://kinsta.com", "https://kinsta.com/blog/wordpress-two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("KnownHost", "https://www.knownhost.com", "https://www.knownhost.com/wiki/my-knownhost/two-factor", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Liquid Web", "https://www.liquidweb.com", "https://www.liquidweb.com/kb/how-to-enable-two-factor-authentication-2fa/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mammoth Networks", "https://www.mammoth.net.au/", "https://www.mammoth.net.au/news/2012/10/22/two-factor-authentication-now-available", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MaxCDN", "https://www.maxcdn.com", "https://www.maxcdn.com/one/tutorial/enable-two-step-verification/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Miss Hosting", "https://misshosting.com/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("NearlyFreeSpeech.NET", "https://www.nearlyfreespeech.net/", "https://blog.nearlyfreespeech.net/2014/02/28/price-cuts-more-security-and-recovery-options/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Netcup", "https://netcup.eu/", "https://www.netcup-wiki.de/wiki/Stammdaten_CCP#Zwei-Faktor-Authentifizierung_.282FA.29", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Nitrado", "https://server.nitrado.net/", "https://server.nitrado.net/deu/news2/view/nitrado-bietet-zweifaktorauthentifizierung/?f=index/mode:0/page:2", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Noez", "https://noez.de/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Oderland", "https://www.oderland.se/", "https://www.oderland.se/support/en/artikel/how-is-my-personal-information-handled/#how-do-i-encrypt-personal-information", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Online", "https://www.online.net/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("OVH", "https://www.ovh.com/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("PlanetHoster", "https://www.planethoster.com/", "https://blog.planethoster.com/securite-espace-client-planethoster/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RamNode", "https://www.ramnode.com", "https://clientarea.ramnode.com/knowledgebase.php?action=displayarticle&id=70", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RunCloud", "https://www.runcloud.io", "https://runcloud.io/docs/account/authentication.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("section.io", "https://www.section.io", "https://www.section.io/docs/how-to/user-management/enable-two-factor-authentication-on-your-account/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SiteGround", "https://www.siteground.com", "https://www.siteground.com/tutorials/two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SpeedIT Solutions", "https://www.speedit.org/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Squarespace", "https://squarespace.com/", "https://support.squarespace.com/hc/en-us/articles/360000044827", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Time4VPS", "https://www.time4vps.eu/", "https://billing.time4vps.eu/knowledgebase/article/100/2-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("TransIP", "https://www.transip.nl/", "https://www.transip.nl/vragen/574-hoe-stel-two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("UKFast", "https://www.ukfast.co.uk/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ukraine", "https://www.ukraine.com.ua/", "https://www.ukraine.com.ua/faq/rekomendatsii-po-zashchite-ot-vzloma-uchetnoj-zapisi.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("UpCloud", "https://www.upcloud.com", "https://www.upcloud.com/support/two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("VentraIP", "https://ventraip.com.au", "https://ventraip.com.au/faq/article/two-factor-authentication-faq-vipcontrol/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Versio", "https://www.versio.nl", "https://www.versio.nl/nieuws/twofactor-authenticatie-nu-beschikbaar-voor-uw-klantenaccount-205", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("VPS Server", "https://www.vpsserver.com/", "https://github.com/2factorauth/twofactorauth/pull/2311#issuecomment-273424695", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("WebFaction", "https://www.webfaction.com", "https://docs.webfaction.com/user-guide/control_panel.html#two-step-login", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Wedos", "https://hosting.wedos.com", "https://kb.wedos.com/cs/zakaznik/otp.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("WP Engine", "https://wpengine.com/", "https://wpengine.com/support/2-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("drchrono", "https://www.drchrono.com", "https://www.drchrono.com/blog/two-factor-authentication-extra-security-for-your-health-records/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("FollowMyHealth", "https://www.followmyhealth.com/", "http://support.followmyhealth.com/customer/portal/articles/1309938", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Google Fit", "https://fit.google.com", "https://www.google.com/intl/en-US/landing/2step/features.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HealthVault (w/Microsoft Account)", "https://www.healthvault.com", "https://support.microsoft.com/en-us/help/12408/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RunSignUp", "https://runsignup.com/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("500px", "https://500px.com/", "https://support.500px.com/hc/en-us/articles/205115877", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Buffer", "https://bufferapp.com", "https://blog.bufferapp.com/introducing-the-safest-social-media-publishing-on-the-web", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Facebook", "https://facebook.com", "https://www.facebook.com/help/148233965247823", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HootSuite", "https://hootsuite.com", "https://help.hootsuite.com/hc/en-us/articles/204595950", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Instagram", "https://www.instagram.com", "https://help.instagram.com/566810106808145", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("LinkedIn", "https://linkedin.com", "https://www.linkedin.com/help/linkedin/answer/531", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Lobsters", "https://lobste.rs/", "https://lobste.rs/s/1cyltz/two_factor_authentication_now_available", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Pinterest", "https://pinterest.com", "https://help.pinterest.com/en/articles/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Plurk", "https://plurk.com", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Reddit", "https://www.reddit.com/", "https://www.reddithelp.com/en/categories/using-reddit/your-reddit-account/how-set-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Snapchat", "https://www.snapchat.com/", "https://support.snapchat.com/en-US/article/enable-login-verification", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Tumblr", "https://www.tumblr.com/", "https://www.tumblr.com/docs/en/two_factor_auth", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Twitter", "https://twitter.com", "https://support.twitter.com/articles/20170388", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("VK", "https://vk.com", "https://vk.com/page-59800369_47885415", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("WordPress.com", "https://wordpress.com", "https://en.support.wordpress.com/security/two-step-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Wykop", "https://www.wykop.pl", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("XING", "https://www.xing.com", "https://faq.xing.com/en/settings-security/two-factor-login-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Private Internet Access", "https://www.privateinternetaccess.com", "https://www.privateinternetaccess.com/helpdesk/kb/articles/how-do-i-use-the-2fa-system", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ProtonVPN", "https://protonvpn.com/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Amazon AWS WorkSpaces", "https://aws.amazon.com/workspaces/", "https://aws.amazon.com/blogs/aws/multi-factor-auth-for-workspaces/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ConnectWise Control (ScreenConnect)", "https://www.connectwise.com/software/control", "https://docs.connectwise.com/ConnectWise_Control_Documentation/Get_started/Administration_page/Security_page/Enable_two-factor_authentication_for_host_accounts", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("join.me (w/ LogMeIn account)", "https://join.me/", "https://secure.logmein.com/welcome/webhelp/EN/Pro/LogMeIn/c_common_Security_TwoStep.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("LogMeIn", "https://secure.logmein.com/", "https://secure.logmein.com/welcome/webhelp/EN/Pro/LogMeIn/c_Common_Account_Security.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MB Connect Line", "https://www.mbconnectline.com", "http://www.cc-onlinehelp.com/en/#index/administrati/users/authenticati/authenticati.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("O&O Syspectr", "https://www.syspectr.com", "https://www.syspectr.com/en/faq/how-do-i-activate-deactivate-two-factor-authentication-for-my-account", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RealVNC", "https://www.realvnc.com", "https://www.realvnc.com/en/connect/docs/multi-factor-auth.html#protecting-your-realvnc-account", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Remote Desktop Manager", "https://www.remotedesktopmanager.com", "https://help.remotedesktopmanager.com/howto_googleauthenticator.htm", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("TeamViewer", "https://www.teamviewer.com", "https://www.teamviewer.com/en/help/402-How-do-I-activate-deactivate-two-factor-authentication-for-my-TeamViewer-account.aspx", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Datové schránky", "https://www.mojedatovaschranka.cz", "https://www.mojedatovaschranka.cz/static/ISDS/help/page10.html#10_5_2", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DigiD", "https://www.digid.nl/", "https://www.digid.nl/nl/vraag-en-antwoord/hoe-kan-ik-de-sms-controle-toevoegen/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HMRC", "https://hmrc.gov.uk", "https://www.gov.uk/government/publications/genuine-hmrc-contact-and-recognising-phishing-emails/genuine-hmrc-contact-and-recognising-phishing-emails#hmrc-short-message-service-text-messages", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("login.gov", "https://login.gov/", "https://www.login.gov/help/changing-settings/how-do-I-set-up-an-authentication-app/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("myGov", "https://my.gov.au", "https://my.gov.au/mygov/content/html/help.html#securityCode", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RealMe", "https://www.realme.govt.nz/", "https://www.realme.govt.nz/help/#second-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Skatteverket", "https://www.skatteverket.se", "https://www.skatteverket.se/privat/sjalvservice/allaetjanster/omelegitimation.4.18e1b10334ebe8bc80004811.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("US Internal Revenue Service", "https://www.irs.gov/Individuals/Get-Transcript", "https://www.irs.gov/individuals/secure-access-how-to-register-for-certain-online-self-help-tools", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("US Veteran Affairs", "https://www.va.gov", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Andrews & Arnold", "https://aa.net.uk", "https://aa.net.uk/kb-broadband-2fa.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Comcast", "https://www.xfinity.com/", "https://www.xfinity.com/support/account/enroll-2-step-verification/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Con Edison", "https://www.coned.com/", "https://www.coned.com/en/accounts-billing/new-my-account-faqs", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Google Fi", "https://fi.google.com/", "https://www.google.com/intl/en-US/landing/2step/features.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Google Fiber", "https://fiber.google.com/", "https://www.google.com/intl/en-US/landing/2step/features.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Halebop", "https://www.halebop.se/", "https://github.com/2factorauth/twofactorauth/pull/2304#issue-200730083", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Republic Wireless", "https://republicwireless.com/", "https://help.republicwireless.com/hc/en-us/articles/360008803994", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Sonic", "https://www.sonic.com/", "https://help.sonic.com/hc/en-us/articles/236079387", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Telia (Sweden)", "https://www.telia.se/", "https://www.telia.se/privat/support/info/logga-in-med-bankid-och-eleg-pa-mitt-telia", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Telzio", "https://www.telzio.com/", "https://telzio.com/support/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ting", "https://ting.com/", "https://help.ting.com/hc/en-us/articles/209351258", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ankama", "https://www.ankama.com", "https://support.ankama.com/hc/en-us/categories/200093427-DOFUS-Security", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ashes of Creation", "https://ashesofcreation.com", "https://ashesofcreation.zendesk.com/hc/en-us/articles/360022983234", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Aternos", "https://aternos.org/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Black Desert Online", "https://www.blackdesertonline.com/", "https://blackdesert.zendesk.com/hc/en-us/articles/360000535909", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Blade & Soul", "https://www.bladeandsoul.com/", "https://support.bladeandsoul.com/hc/en-us/articles/207578553", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Blizzard", "https://blizzard.com", "https://us.battle.net/support/en/article/Blizzard-Authenticator", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bohemia Interactive", "https://www.bohemia.net/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Electronic Arts (Origin)", "https://www.ea.com/", "https://help.ea.com/en-us/help/account/origin-login-verification-information/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Enjin", "https://www.enjin.com/", "https://support.enjin.com/hc/en-us/articles/201090770", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Epic Games", "https://www.epicgames.com/", "https://epicgames.helpshift.com/a/epic-accounts/?s=epic-accounts&f=what-is-two-factor-authentication-2fa-and-how-do-i-opt-in", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("EVE Online", "https://www.eveonline.com/", "https://support.eveonline.com/hc/en-us/articles/203465601", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("FaceIT", "https://www.faceit.com", "https://support.faceit.com/hc/en-us/articles/115000254670", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Gaijin Entertainment", "https://gaijin.net", "https://support.gaijin.net/hc/en-us/articles/203623622", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Garena Online", "https://www.garena.sg/", "https://account.garena.com/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("GREE", "https://product.gree.net/", "/notes/gree/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Guild Wars 2", "https://www.guildwars2.com", "https://help.guildwars2.com/hc/en-us/articles/230672927", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Humble Bundle", "https://www.humblebundle.com/", "https://support.humblebundle.com/hc/en-us/articles/202421374", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("itch.io", "https://itch.io/", "https://itch.io/docs/advanced/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("lichess.org", "https://lichess.org", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Nintendo Account", "https://accounts.nintendo.com/", "https://en-americas-support.nintendo.com/app/answers/detail/a_id/27496", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Roberts Space Industries", "https://robertsspaceindustries.com/", "https://robertsspaceindustries.com/faq/two-step-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Rockstar Games Social Club", "https://socialclub.rockstargames.com", "https://support.rockstargames.com/articles/360000031747", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RuneScape", "https://www.runescape.com/", "https://support.runescape.com/hc/en-gb/articles/206811835", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Scryfall", "https://www.scryfall.com/", "https://scryfall.com/docs/privacy#scryfall-accounts", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Square Enix", "https://na.square-enix.com/", "http://www.square-enix.com/na/account/otp/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Star Wars: The Old Republic", "https://www.swtor.com/", "https://www.swtor.com/info/security-key", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Steam", "https://store.steampowered.com/", "https://support.steampowered.com/kb_article.php?ref=8625-WRAH-9030", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Tibia", "https://www.tibia.com/", "https://www.tibia.com/support/?subtopic=gethelp&topicid=21", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Toontown Rewritten", "https://www.toontownrewritten.com/", "https://www.toontownrewritten.com/help/faq/accounts--login#twostep", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Trion Worlds", "https://www.trionworlds.com/en/", "https://support.trionworlds.com/hc/en-us/articles/204183357", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ubisoft/Uplay", "https://uplay.ubi.com/", "https://support.ubi.com/en-GB/Faqs/000039953", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Wargaming", "https://wargaming.net/", "https://wargaming.net/support/kb/articles/792", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Xbox Live", "https://www.xbox.com/live", "https://support.microsoft.com/en-us/help/12408/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("YoYo Games", "https://www.yoyogames.com/", "https://help.yoyogames.com/hc/en-us/articles/216757288-Creating-a-YoYo-Account", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Apple iCloud", "https://www.icloud.com", "https://support.apple.com/en-us/HT204915", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Backblaze", "https://www.backblaze.com", "https://help.backblaze.com/hc/en-us/articles/217666588", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Dropbox", "https://www.dropbox.com", "https://help.dropbox.com/security/enable-two-step-verification", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Evernote", "https://evernote.com", "https://help.evernote.com/hc/en-us/articles/208314238", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Google Drive", "https://drive.google.com", "https://www.google.com/intl/en-US/landing/2step/features.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Koofr", "https://koofr.eu", "https://koofr.eu/help/other/how-do-i-enable-2-step-verification/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mega", "https://mega.nz/", "https://mega.nz/help/client/webclient/security-and-privacy/5bb5436cf1b70966038b456b", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Nimbox", "https://www.nimbox.co.uk/", "https://www.nimbox.co.uk/help-centre/two-step-two-factor-authentication-2fa/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("OneDrive", "https://onedrive.live.com", "https://support.microsoft.com/en-us/help/12408/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("PCloud", "https://www.pcloud.com", "https://www.pcloud.com/help/general-help-center/67-how-can-i-set-up-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("QNAP", "https://www.qnap.com", "https://www.qnap.com/en-us/how-to/tutorial/article/how-to-enhance-account-security-using-2-step-verification", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SmartBox", "https://www.panterranetworks.com/products/smartbox.php", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Sync", "https://www.sync.com", "https://www.sync.com/help/how-do-i-setup-two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Synology", "https://www.synology.com/", "https://originwww.synology.com/en-us/knowledgebase/tutorials/615#t5", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ThisData", "https://thisdata.com", "http://help.thisdata.com/docs/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Tresorit", "https://tresorit.com/", "https://support.tresorit.com/hc/en-us/articles/216114527", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Wasabi", "https://wasabi.com/", "https://wasabi.com/wp-content/themes/wasabi/docs/User_Guide/index.html#t=topics%2FCONSOLE_ACCESS_for_the_Root_User.htm", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Yandex.Disk", "https://disk.yandex.com", "https://yandex.com/support/passport/authorization/twofa.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Zetta.net", "https://www.zetta.net/", "https://www.zetta.net/about/blog/how-set-zetta-two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Zoolz", "https://intelli.zoolz.com/", "https://wiki.zoolz.com/how-do-i-enable-two-factor-authentication-on-my-zoolz-intelligent-account/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("1Password", "https://1password.com/", "https://support.1password.com/two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitium", "https://www.bitium.com", "https://support.bitium.com/administration/multi-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("bitwarden", "https://bitwarden.com", "https://help.bitwarden.com/article/setup-two-step-login/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Centrify", "https://www.centrify.com", "https://www.centrify.com/solutions/why-multi-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Dashlane", "https://www.dashlane.com", "https://support.dashlane.com/hc/en-us/articles/202625042", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ID.me", "https://www.id.me/", "https://help.id.me/hc/en-us/categories/360001435974", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Keeper", "https://keepersecurity.com/", "https://www.keepersecurity.com/security#twoFactor", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("LastPass", "https://lastpass.com/", "https://helpdesk.lastpass.com/multifactor-authentication-options/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MyDigipass.com", "https://mydigipass.com/", "https://www.mydigipass.com/en/fp/signup", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Okta", "https://www.okta.com/", "https://help.okta.com/en/prod/Content/Topics/Security/MFA.htm", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("PassHub", "https://passhub.net/", "https://passhub.net/security.php", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RoboForm", "https://www.roboform.com/", "https://help.roboform.com/hc/en-us/articles/115002729512", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SAASPASS", "https://saaspass.com", "https://saaspass.com/faq/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SailPoint", "https://www.sailpoint.com/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("True Key", "https://www.truekey.com", "https://help.truekey.com/hc/en-us/articles/218580447-How-can-I-add-additional-factors-", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Addiko Bank", "https://www.addiko.hr/", "https://www.addiko.hr/static/uploads/mtoken-uputa-za-koristenje.pdf", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("AirBank", "https://www.airbank.cz", "https://www.airbank.cz/co-vas-nejvic-zajima/jake-bezpecnostni-prvky-u-nas-mame", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Avanza", "https://www.avanza.se/", "https://www.avanza.se/kundservice.html/1335/tvafaktorsinloggning/d264248e-bea3-48a0-bf2d-157309734649", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Barclays UK", "https://www.barclays.co.uk/", "https://www.barclays.co.uk/Helpsupport/UpgradetoPINsentry/P1242559314766", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Capital One", "https://www.capitalone.com/", "https://www.capitalone.com/identity-protection/swiftid/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ceska Sporitelna", "https://www.csas.cz/en/", "https://www.csas.cz/cs/mobilni-aplikace/george-klic", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DNB", "https://www.dnb.no/", "https://www.dnb.no/privat/kundeservice/innlogging-nettbank.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Erste Bank Hrvatska", "https://www.erstebank.hr/", "https://www.erstebank.hr/content/dam/hr/ebc/www_erstebank_hr/gradani/downloads/e-bankarstvo/Upute%20za%20prijavu.pdf", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("First Direct", "https://www1.firstdirect.com/", "https://www1.firstdirect.com/help/secure-key/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("First Tech Federal Credit Union", "https://www.firsttechfed.com/", "https://www.firsttechfed.com/Tools-and-Resources/Tools-and-Resources/What-You-Can-Do-To-Protect-Your-Privacy#3", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Handelsbanken", "https://www.handelsbanken.se/", "https://www.handelsbanken.se/shb/INeT/ICentSv.nsf/Default/qAE99695C4C1D033DC12579120036EB43?Opendocument", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HSBC", "https://www.hsbc.com/", "https://www.hsbc.co.uk/1/2/customer-support/online-banking-security/secure-key", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Länsförsäkringar", "https://www.lansforsakringar.se/", "https://www.lansforsakringar.se/privat/att-vara-kund/digitala-tjanster-telefonbank/internetbanken/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Navy Federal Credit Union", "https://www.navyfederal.org/", "https://nfcucloud.custhelp.com/app/answers/list/c/543", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Nordea Sverige", "https://www.nordea.se/", "https://www.nordea.se/privat/vardagstjanster/internet-mobil-telefon/bank-id.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Nordnet Sverige", "https://www.nordnet.se/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Podravska banka", "https://www.poba.hr/", "https://www.poba.hr/get_file.php?d=pobaklik__upute_gradani.pdf", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Santander PL", "https://santander.pl", "https://santander.pl/firmy/bankowosc-elektroniczna/bzwbk24-mini-firma/metody-autoryzacji/metody-autoryzacji.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SEB", "https://seb.se/", "https://seb.se/privat/digitala-tjanster", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SoFi", "https://www.sofi.com/", "https://www.sofi.com/blog/introducing-two-step-verification-sofi-next-level-account-protection/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("State Bank of India", "https://www.onlinesbi.com/", "https://www.onlinesbi.com/sbijava/mobile/sbsecure_otp_app_faq.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Swedbank", "https://www.swedbank.se/", "https://hjalp.swedbank.se/logga-in/index.htm", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("TBC Bank", "https://www.tbcbank.ge", "https://www.tbcbank.ge/web/en/web/guest/tbc-digipass", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("USAA", "https://www.usaa.com/", "https://www.usaa.com/inet/pages/security_token_logon_options", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("UW Credit Union", "https://www.uwcu.org/", "https://www.uwcu.org/OnlineBanking/OnlineSecurity/VerifyU.aspx", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Zagrebačka banka", "https://www.zaba.hr/", "https://www.zaba.hr/home/token#pan3", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Zurich Cantonal Bank (ZKB)", "https://www.zkb.ch/", "https://www.zkb.ch/de/pr/pk/efinance/ebanking/login-verfahren.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Clio", "https://www.clio.com", "https://support.clio.com/hc/en-us/articles/203184210", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Docusign", "https://www.docusign.com", "https://support.docusign.com/en/guides/ndse-user-guide-two-step-verification", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HelloSign", "https://www.hellosign.com/", "https://faq.hellosign.com/hc/en-us/articles/360025164091", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Finnair", "https://www.finnair.com/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Uber", "https://www.uber.com/", "https://help.uber.com/h/b8bb9152-8c91-4f49-83c4-35cf2e1dcf72", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("007Names", "https://www.007names.com", "https://www.007names.com/info/two-step.xhtml", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("1&1 IONOS", "https://www.ionos.com/", "https://www.ionos.com/help/index.php?id=3269", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("101domain", "https://101domain.com", "https://www.101domain.com/vip_security_card.htm", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("20i", "https://www.20i.com", "https://www.20i.com/support/my-services/two-factor-authentication-my20i", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Above.com", "https://www.above.com", "https://www.above.com/manual/my-account-manual-two-step-auth.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ClouDNS", "https://www.cloudns.net/", "https://www.cloudns.net/wiki/article/201/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Directnic", "https://directnic.com", "https://directnic.com/knowledge/article/137:how+do+i+set+up+two-factor+authentication%3F", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DNS Made Easy", "https://www.dnsmadeeasy.com", "https://help.dnsmadeeasy.com/administrative/enable-two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DNSimple", "https://dnsimple.com/", "https://support.dnsimple.com/articles/two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Domeneshop", "https://domeneshop.no/", "https://domeneshop.no/faq?id=344", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Domeny.tv", "https://www.domeny.tv/en", "https://www.domeny.tv/en/two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Dyn", "https://dyn.com/", "https://help.dyn.com/2-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Dynadot", "https://dynadot.com/", "https://dynadot.com/domain/security.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Dynu", "https://www.dynu.com/", "https://www.dynu.com/en-US/Blog/Article?Article=It-is-time-to-enable-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("easyDNS", "https://easydns.com", "https://kb.easydns.com/knowledge/account-security/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("eNom", "https://www.enom.com/", "https://www.enom.com/kb/kb/kb_1687-setup-2-factor.htm", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("EuroDNS", "https://www.eurodns.com", "https://help.eurodns.com/customer/en/portal/articles/1633106", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Fabulous", "https://fabulous.com", "https://fabulous.com/knowledge/article/137", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Gandi", "https://gandi.net", "https://docs.gandi.net/en/account_management/security/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("GoDaddy", "https://www.godaddy.com/", "https://www.godaddy.com/help/enable-two-step-verification-7502", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Google Domains", "https://domains.google.com", "https://www.google.com/intl/en-US/landing/2step/features.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hexonet", "https://www.hexonet.net/", "https://www.hexonet.net/assets/pdf/2FA.pdf", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hover.com", "https://www.hover.com/", "https://help.hover.com/hc/en-us/articles/217282267", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hurricane Electric", "https://www.he.net/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Incapsula", "https://www.incapsula.com/", "https://docs.incapsula.com/Content/management-console-and-settings/account-settings.htm", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Internet.bs", "https://www.internet.bs", "/notes/internetbs/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("INWX", "https://www.inwx.com/en/", "https://www.inwx.com/en/offer/mobiletan", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("iWantMyName", "https://iwantmyname.com/", "https://help.iwantmyname.com/customer/portal/articles/1139898", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Joker.com", "https://joker.com", "https://joker.com/faq/content/52/480/en/what-is-two_factor_authentication.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Loopia", "https://www.loopia.se/", "https://blogg.loopia.se/2015/03/16/nu-kan-du-logga-in-med-tvafaktorsautentiering-hos-loopia-genom-bankid/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MarkMonitor", "https://www.markmonitor.com", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Moniker", "https://www.moniker.com/", "https://faq.moniker.com/login-into-moniker", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Name.com", "https://www.name.com/", "https://www.name.com/services/two-step-verification", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Namecheap", "https://www.namecheap.com/", "https://www.namecheap.com/support/knowledgebase/article.aspx/9253/45", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("NameSilo.com", "https://www.namesilo.com/", "https://www.namesilo.com/Support/2~Factor-Authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("NearlyFreeSpeech.net", "https://www.nearlyfreespeech.net/", "https://blog.nearlyfreespeech.net/2014/02/28/price-cuts-more-security-and-recovery-options/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Nominet", "https://www.nominet.uk/", "https://registrars.nominet.org.uk/sites/default/files/two_factor_authentication_userguide.pdf", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("NS1", "https://ns1.com/", "https://ns1.com/articles/enabling-2-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("OpenDNS", "https://www.opendns.com/", "https://engineering.opendns.com/2014/05/22/launching-two-step-verification/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Openprovider", "https://www.openprovider.co.uk", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("OpenSRS", "https://opensrs.com", "https://help.opensrs.com/hc/en-us/articles/209618017", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("pair Domains", "https://www.pairdomains.com/", "https://www.pairdomains.com/kb/posts/345", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Porkbun", "https://porkbun.com", "https://kb.porkbun.com/category/20--", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Rebrandly", "https://rebrandly.com", "https://support.rebrandly.com/hc/en-us/articles/360007220373", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Register4Less", "https://register4less.com/", "https://blog.register4less.com/two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Registro.br", "https://registro.br", "https://registro.br/ajuda.html?secao=GerenciamentoConta&item=310", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("UK2", "https://www.uk2.net/", "https://www.uk2.net/knowledgebase/display/UK2/Two+Factor+Authentication+Security+-+2FA", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Uniregistry", "https://uniregistry.com/", "https://uniregistry.help/my-account-en/what-is-two-step-verification/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("United Domains USA", "https://www.uniteddomains.com/", "https://help.uniteddomains.com/hc/en-us/articles/115001458813", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("united-domains Reselling", "https://www.ud-reselling.com/en/", "https://www.ud-reselling.com/en/security/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("united-domains.de", "https://www.united-domains.de/", "https://help.united-domains.de/faq-article/wie-aktiviere-ich-die-zweistufige-verifizierung-und-mache-mein-portfolio-login-sicherer", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("VentraIP", "https://ventraip.com.au/", "https://ventraip.com.au/faq/article/two-factor-authentication-faq-vipcontrol/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ANXPRO Bitcoin Exchange", "https://anxpro.com/", "https://anxpro.com/pages/security", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("AnycoinDirect", "https://anycoindirect.eu", "https://support.anycoindirect.eu/hc/en-gb/articles/115001423191", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Binance", "https://www.binance.com/", "https://support.binance.com/hc/en-us/articles/115002439332", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BitBay", "https://bitbay.net/", "https://bitbay.net/en/safety", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitcoin.de", "https://bitcoin.de", "https://www.bitcoin.de/de/faq/was-ist-die-2-step-verification-2-faktor-authentifizierung/46.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitcoins Norway", "https://bitcoinsnorway.com", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BitcoinTrade", "https://bitcointrade.com.br/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitfinex", "https://www.bitfinex.com", "https://support.bitfinex.com/hc/en-us/sections/203192029", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitflyer", "https://bitflyer.com", "https://bitflyer.com/en-jp/faq/2-10", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BitGo", "https://www.bitgo.com", "https://bitgo.freshdesk.com/support/solutions/articles/27000037397", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bithumb", "https://www.bithumb.com/", "https://bithumb.cafe/archives/7286", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitlish", "https://bitlish.com", "https://bitlish.com/how#mfa", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitpay", "https://bitpay.com", "https://support.bitpay.com/hc/en-us/articles/360006612692", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitstamp", "https://bitstamp.net", "https://www.bitstamp.net/s/documents/bitstamp_2_factor_authentication_guide.pdf", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bittrex", "https://bittrex.com", "https://bittrex.zendesk.com/hc/en-us/articles/115000198612", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Blockchain", "https://blockchain.info/", "https://support.blockchain.com/hc/en-us/articles/211164103", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Braziliex", "https://braziliex.com/", "https://braziliex.com/faq/index.php?id=288", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BTC BOX", "https://www.btcbox.co.jp/", "https://www.btcbox.co.jp/help/ga", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BTC Markets", "https://www.btcmarkets.net/", "https://www.btcmarkets.net/faq#q27", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BTCPOP", "https://btcpop.co/", "https://blog.btcpop.co/2017/04/27/signing-security-btcpop-co-account/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BX Thailand", "https://bx.in.th/", "https://bx.in.th/info/faq/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CEX.IO", "https://cex.io/", "https://cex.io/guide#4", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Changelly", "https://changelly.com/", "https://changelly.com/faq#what-is-2fa-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Circle", "https://circle.com", "https://support.circle.com/hc/en-us/articles/213560483", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("COBINHOOD", "https://cobinhood.com", "https://cobinhood.zendesk.com/hc/en-us/articles/115003476871", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coin Cafe", "https://coincafe.com", "https://blog.coincafe.com/2016/01/08/2fa/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coinapult", "https://coinapult.com", "https://coinapult.com/faq", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coinbase", "https://www.coinbase.com/", "https://support.coinbase.com/customer/en/portal/articles/1658338", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CoinDeal", "https://coindeal.com", "https://coindeal.com/security", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CoinFalcon", "https://coinfalcon.com/", "https://support.coinfalcon.com/en-us/article/how-to-setup-two-factor-authentication-2fa-nkjppd/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coinfloor", "https://www.coinfloor.co.uk/", "https://www.coinfloor.co.uk/security", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CoinGate", "https://coingate.com", "https://support.coingate.com/en/65/how-do-i-set-up-2-factor-authentication-2fa-on-my-account", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coinify (Merchants)", "https://coinify.com/merchants", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coinjar", "https://coinjar.com", "https://support.coinjar.com/hc/en-us/articles/202910075", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CoinOne", "https://coinone.co.kr/", "https://coinone.co.kr/static/download/coinone_guide.pdf", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coins.ph", "https://coins.ph/", "https://support.coins.ph/hc/en-us/articles/202604924", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coinspot", "https://www.coinspot.com.au/", "https://coinspot.zendesk.com/hc/en-us/sections/115000049254", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CoinTracking", "https://cointracking.info/", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coinut", "https://coinut.com/", "https://help.coinut.com/hc/en-us/articles/360005061354", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Cryptopia", "https://www.cryptopia.co.nz", "https://support.cryptopia.co.nz/csm?id=kb_article&sys_id=a8c51421dbed1f009990f6fcbf96194a", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DSX", "https://dsx.uk/", "https://docs.dsx.uk/dsx/getting-started-with-dsx/your-security-is-our-priority/enable-two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Gatehub", "https://gatehub.net", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Gemini", "https://gemini.com/", "https://gemini.com/blog/better-two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HitBTC", "https://www.hitbtc.com/", "https://support.hitbtc.com/hc/en-us/articles/360000719229", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Korbit", "https://www.korbit.co.kr", "https://support.korbit.co.kr/customer/en/portal/articles/1717692", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Kraken", "https://www.kraken.com/", "https://support.kraken.com/hc/en-us/articles/360000426923", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("LiteBit", "https://www.litebit.eu/", "https://support.litebit.eu/hc/en-us/articles/115000953504", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("LocalBitcoins", "https://localbitcoins.com/", "https://localbitcoins.blogspot.com.au/2013/05/using-two-factor-authentication-on.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("localethereum", "https://localethereum.com", "", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Luno", "https://www.luno.com/", "https://www.luno.com/help/en/articles/1000203420", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mercado Bitcoin", "https://www.mercadobitcoin.com.br/", "https://suporte.mercadobitcoin.com.br/hc/pt-br/articles/360000385152", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Poloniex", "https://poloniex.com/", "https://support.poloniex.circle.com/hc/en-us/articles/360025399352", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SatoshiTango", "https://satoshitango.com/", "https://github.com/2factorauth/twofactorauth/pull/2321#issuecomment-273971890", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Uphold", "https://uphold.com/", "https://support.uphold.com/hc/en-us/articles/360024042471", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Wirex", "https://wirexapp.com/", "https://wirexapp.com/hc/articles/207160259", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Xapo", "https://xapo.com", "https://support.xapo.com/articles/123/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Microsoft To-Do", "https://todo.microsoft.com/", "https://support.microsoft.com/en-us/help/12408/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Planio", "https://plan.io", "https://support.plan.io/news/133", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Toodledo", "https://www.toodledo.com", "https://www.toodledo.com/info/help.php#168", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Trello", "https://trello.com", "https://help.trello.com/article/993--", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("AdGuard", "https://adguard.com", "https://adguard.com/en/blog/adguard-2fa.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Blur", "https://www.abine.com/", "https://dnt.abine.com/#help/faq/faq-enabletwoFactor", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Boxcryptor", "https://www.boxcryptor.com", "https://www.boxcryptor.com/help/boxcryptor-account/#two-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("bugcrowd", "https://bugcrowd.com", "https://docs.bugcrowd.com/v1.0/docs/two-factor-authentication-1", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Cloudflare", "https://cloudflare.com", "https://support.cloudflare.com/hc/en-us/articles/200167866", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Cobalt", "https://cobalt.io/", "https://cobalt.io/blog/new-feature-two-factor-auth/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DigiCert", "https://www.digicert.com/", "https://www.digicert.com/two-factor-authentication.htm", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("dmarcian", "https://dmarcian.com/", "https://dmarcian.com/secure-dmarcian-2fa/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Dome9 Security", "https://dome9.com/", "https://dome9.com/overview/strong-2-factor-authentication", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Entrust", "https://www.entrust.net", "https://www.entrust.com/multi-factor-authentication-tools/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HackerOne", "https://hackerone.com", "https://docs.hackerone.com/hackers/two-factor-authentication.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Norton", "https://us.norton.com", "https://support.norton.com/sp/en/us/home/current/solutions/v100023155_NortonM_Retail_1_en_us", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Prey", "https://www.preyproject.com", "https://help.preyproject.com/article/248--", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Pwnie Express Pwn Pulse", "https://www.pwnieexpress.com/products/pulse-device-detection", "http://support.pwnieexpress.com/customer/en/portal/articles/2858909", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RBLTracker", "https://rbltracker.com/", "https://rbltracker.com/docs/setting-up-two-factor-authentication/", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Sophos Central", "https://www.sophos.com", "https://docs.sophos.com/central/Customer/help/en-us/central/Customer/concepts/ep_MultiFactorAuthentication.html", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SSLTrust", "https://www.ssltrust.com.au/", "https://www.ssltrust.com.au/help/account-management/enable-2factor", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ThreatConnect", "https://threatconnect.com/", "https://kb.threatconnect.com/customer/en/portal/articles/2214975", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ThreatX", "https://www.threatx.com/", "https://support.threatx.com/hc/en-us/articles/360022157591", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Tinfoil Security", "https://www.tinfoilsecurity.com", "https://support.tinfoilsecurity.com/article/43-do-you-support-two-factor-authentication-how-do-i-set-it-up", ""); +INSERT INTO providers (name, website, help_url, image_uri) VALUES ("TorGuard", "https://torguard.net", "", ""); diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 0000000..3d74fbb --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,23 @@ +ar +ca +da +de +en_GB +es +fi +fr +hu +id +it +ko +nb +nl +pl +pt +pt_BR +ru +sr +sr@latin +sv +tr +zh_TW \ No newline at end of file diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..e0d781c --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,22 @@ +data/com.bilelmoussaoui.Authenticator.appdata.xml.in.in +data/com.bilelmoussaoui.Authenticator.desktop.in.in +data/com.bilelmoussaoui.Authenticator.gschema.xml.in +data/resources/ui/about_dialog.ui.in +data/resources/ui/account_add.ui +data/resources/ui/account_config.ui +data/resources/ui/account_edit.ui +data/resources/ui/account_row.ui +data/resources/ui/password_widget.ui +data/resources/ui/provider_image.ui +data/resources/ui/settings.ui.in +data/resources/ui/shortcuts.ui +data/resources/ui/window.ui.in +src/authenticator.py.in +src/Authenticator/application.py.in +src/Authenticator/models/account.py +src/Authenticator/widgets/accounts/add.py +src/Authenticator/widgets/accounts/list.py +src/Authenticator/widgets/accounts/row.py +src/Authenticator/widgets/notification.py +src/Authenticator/widgets/settings.py +src/Authenticator/widgets/utils.py diff --git a/po/ar.po b/po/ar.po new file mode 100644 index 0000000..18c8b35 --- /dev/null +++ b/po/ar.po @@ -0,0 +1,665 @@ +# Arabic translations for Authenticator package. +# Copyright (C) 2018 THE Authenticator'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Authenticator package. +# Automatically generated, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: Authenticator\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2018-11-15 08:07+0000\n" +"Last-Translator: alaazghoul \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" +"X-Generator: Weblate 3.3-dev\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "الموثق" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +#, fuzzy +msgid "Two-factor authentication code generator" +msgstr "كود توليد التوثيق الثنائي." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "تطبيق بسيط يولد كود توثيق ثنائي، صمم لنظام Gnome" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "اضافات:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "ماسح كود QR" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "واجهة مستخدم جميلة" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "امكانية غلق التطبيق باستخدام رقم سري" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +#, fuzzy +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "من OpenPGP مشفر ملف JSON" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +msgid "Move the project to GOME Gitlab's World group" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +msgid "One Time Password now visible by default" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +#, fuzzy +msgid "Rename project to Authenticator" +msgstr "عن الموثق" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +#, fuzzy +msgid "Cleaner code base" +msgstr "تنظيف قاعدة البيانات" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +msgid "Remove unneeded features" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +msgid "Two-factor authentication" +msgstr "التوثيق الثنائي" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "Gnome; GTK; توثيق;" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +#, fuzzy +msgid "Default window position" +msgstr "وضع النافذة الافتراضي" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +#, fuzzy +msgid "Dark Theme" +msgstr "الوضع المعتم" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +#, fuzzy +msgid "Whether the application should use a dark theme." +msgstr "سواء أكان التطبيق يمكن اغلاقه أو لا" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "السلوك الأقصى للنافذة الافتراضية" + +#: data/ui/about_dialog.ui.in:10 +msgid "Two-factor authentication code generator." +msgstr "كود توليد التوثيق الثنائي." + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "فضل-المترجم" + +#: data/ui/account_add.ui:22 +msgid "Add a new account" +msgstr "اضافة حساب جديد" + +#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19 +msgid "Close" +msgstr "اغلاق" + +#: data/ui/account_add.ui:34 +msgid "Add" +msgstr "اضافة" + +#: data/ui/account_add.ui:54 +#, fuzzy +msgid "Scan QR Code" +msgstr "امسح كود QR" + +#: data/ui/account_config.ui:85 +msgid "Enable 2FA for this account" +msgstr "" + +#: data/ui/account_config.ui:86 +msgid "2FA Token" +msgstr "" + +#: data/ui/account_config.ui:100 +#, fuzzy +msgid "Account Name" +msgstr "اسم الحساب" + +#: data/ui/account_config.ui:123 +msgid "Provider" +msgstr "المزود" + +#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50 +msgid "Save" +msgstr "احفظ" + +#: data/ui/account_row.ui:23 +msgid "Edit" +msgstr "تحرير" + +#: data/ui/account_row.ui:41 +msgid "Delete" +msgstr "حذف" + +#: data/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "" + +#: data/ui/password_widget.ui:46 +#, fuzzy +msgid "Current Password:" +msgstr "اعادة الرقم السري" + +#: data/ui/password_widget.ui:90 +#, fuzzy +msgid "New Password:" +msgstr "الرقم السري" + +#: data/ui/password_widget.ui:135 +msgid "Confirm New Password:" +msgstr "" + +#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208 +#, fuzzy +msgid "Change Password" +msgstr "الرقم السري" + +#: data/ui/password_widget.ui:204 +#, fuzzy +msgid "Delete Password" +msgstr "اعادة الرقم السري" + +#: data/ui/provider_image.ui:41 +msgid "We couldn't find an image for this provider" +msgstr "" + +#. Night mode action +#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112 +msgid "Preferences" +msgstr "" + +#: data/ui/settings.ui.in:95 +#, fuzzy +msgid "Behaviour" +msgstr "السلوك" + +#: data/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "" + +#: data/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "" + +#: data/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "" + +#: data/ui/shortcuts.ui:31 +#, fuzzy +msgctxt "shortcut window" +msgid "Quit" +msgstr "خروج" + +#: data/ui/shortcuts.ui:40 +#, fuzzy +msgctxt "shortcut window" +msgid "Accounts" +msgstr "اسم الحساب" + +#: data/ui/shortcuts.ui:44 +#, fuzzy +msgctxt "shortcut window" +msgid "Add" +msgstr "اضافة" + +#: data/ui/shortcuts.ui:51 +#, fuzzy +msgctxt "shortcut window" +msgid "Search" +msgstr "بحث" + +#: data/ui/window.ui.in:182 +#, fuzzy +msgid "There are no accounts yet…" +msgstr "ليس هناك حساب بعد …" + +#: data/ui/window.ui.in:211 +#, fuzzy +msgid "Add a new account from the menu" +msgstr "اضافة حساب جديد" + +#: data/ui/window.ui.in:227 +#, fuzzy +msgid "Scan a QR Code" +msgstr "امسح كود QR" + +#: data/ui/window.ui.in:373 +msgid "No results found" +msgstr "" + +#: data/ui/window.ui.in:437 +#, fuzzy +msgid "Authenticator is locked" +msgstr "الموثق" + +#: data/ui/window.ui.in:476 +msgid "Unlock" +msgstr "" + +#: src/authenticator.py.in:50 +msgid "Start in debug mode" +msgstr "البدء في وضع التصحيح" + +#: src/authenticator.py.in:52 +msgid "Authenticator version number" +msgstr "رقم نسخة الموثق" + +#: src/Authenticator/application.py.in:92 +#: src/Authenticator/widgets/settings.py:92 +msgid "Lock the application" +msgstr "اقفل التطبيق" + +#: src/Authenticator/application.py.in:100 +#, fuzzy +msgid "from a plain-text JSON file" +msgstr "من ملف نص عادي Json" + +#: src/Authenticator/application.py.in:101 +#, fuzzy +msgid "in a plain-text JSON file" +msgstr "في نص عادي ملف JSON" + +#: src/Authenticator/application.py.in:103 +msgid "Restore" +msgstr "استرجاع" + +#: src/Authenticator/application.py.in:104 +msgid "Backup" +msgstr "نسخة احتياطية" + +#: src/Authenticator/application.py.in:113 +msgid "Donate" +msgstr "" + +#: src/Authenticator/application.py.in:114 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/Authenticator/application.py.in:115 +#, fuzzy +msgid "About Authenticator" +msgstr "الموثق" + +#: src/Authenticator/models/account.py:71 +msgid "Default" +msgstr "الافتراضي" + +#: src/Authenticator/widgets/accounts/add.py:58 +msgid "Invalid QR code" +msgstr "رمز QR خاطئ" + +#: src/Authenticator/widgets/accounts/list.py:143 +msgid "The One-Time Passwords expires in {} seconds" +msgstr "رقم سري المرة الواحدة سينتهي في {} ثانية" + +#: src/Authenticator/widgets/accounts/row.py:80 +msgid "Couldn't generate the secret code" +msgstr "لم يتكمن من توليد المفتاح السري" + +#: src/Authenticator/widgets/accounts/row.py:91 +msgid "The PIN of {} was copied to the clipboard" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:123 +msgid "The account was updated successfully" +msgstr "" + +#: src/Authenticator/widgets/notification.py:43 +#, fuzzy +msgid "Close the notification" +msgstr "اقفل التطبيق" + +#: src/Authenticator/widgets/notification.py:48 +#: src/Authenticator/widgets/notification.py:63 +msgid "Undo" +msgstr "تراجع" + +#: src/Authenticator/widgets/settings.py:93 +#, fuzzy +msgid "Lock the application with a password" +msgstr "امكانية غلق التطبيق باستخدام رقم سري" + +#: src/Authenticator/widgets/settings.py:157 +#, fuzzy +msgid "Authentication password is now enabled." +msgstr "رقم سر الموثق" + +#: src/Authenticator/widgets/settings.py:159 +#, fuzzy +msgid "The authentication password was updated." +msgstr "رقم سر الموثق" + +#: src/Authenticator/widgets/settings.py:163 +#, fuzzy +msgid "The authentication password was deleted." +msgstr "رقم سر الموثق" + +#: src/Authenticator/widgets/settings.py:204 +#, fuzzy +msgid "Save Password" +msgstr "الرقم السري" + +#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45 +msgid "JSON files" +msgstr "ملف JSON" + +#~ msgid "Huge database of (290+) websites/applications" +#~ msgstr "قاعدة بيانات ضخمة مكونة من (أكثر من ٢٩٠) موقع/تطبيق" + +#, fuzzy +#~ msgid "Night mode" +#~ msgstr "الوضع الليلي" + +#~ msgid "Enable/disable night mode within the application" +#~ msgstr "تفعيل/تعطيل الوضع الليلي في التطبيق" + +#~ msgid "Use a dark theme, if possible" +#~ msgstr "استخدم الوضع المعتم، ان امكن." + +#~ msgid "Settings" +#~ msgstr "الاعدادات" + +#, fuzzy +#~ msgid "Authenticator Password" +#~ msgstr "رقم سر الموثق" + +#~ msgid "Edit {} - {}" +#~ msgstr "تحرير {} - {}" + +#~ msgid "Open" +#~ msgstr "فتح" + +#~ msgid "Cancel" +#~ msgstr "الغاء" + +#~ msgid "Select" +#~ msgstr "اختيار" + +#, fuzzy +#~ msgid "Secret token" +#~ msgstr "الرمز السري" + +#~ msgid "zbar library is not found. QRCode scanner will be disabled" +#~ msgstr "مكتبة zbar غير موجودة. سيتم تعطيل ماسح كود QR" + +#~ msgid "Copy" +#~ msgstr "نسخ" + +#~ msgid "Search" +#~ msgstr "بحث" + +#~ msgid "Selection mode" +#~ msgstr "وضع الاختيار" + +#~ msgid "Click on items to select them" +#~ msgstr "اضغط على العناصر ليتم اختيارهم" + +#~ msgid "Old Password" +#~ msgstr "الرقم السري القديم" + +#~ msgid "Appearance" +#~ msgstr "المظهر" + +#~ msgid "Erase existing accounts" +#~ msgstr "مسح حسابات موجودة" + +#~ msgid "Set up application authentication password" +#~ msgstr "تثبيت رقم سري تطبيق الموثق" + +#~ msgid "The application needs to be restarted first." +#~ msgstr "يحتاج التطبيق لإعادة التشغيل أولاً." + +#~ msgid "The existing accounts will be erased in 5 seconds" +#~ msgstr "الحسابات الحالية ستحذف في ٥ ثوان" + +#~ msgid "An account or more were removed." +#~ msgstr "حساب أو أكثر تم ازالتهم." + +#~ msgid "Whether the application is locked with a password or not" +#~ msgstr "سواء أكان التطبيق مغلق برقم سري أو لا" + +#, fuzzy +#~ msgctxt "shortcut window" +#~ msgid "Select" +#~ msgstr "اختيار" + +#, fuzzy +#~ msgid "Authenticator@NAME_SUFFIX@" +#~ msgstr "الموثق" + +#~ msgid "in an OpenPGP-encrypted JSON file" +#~ msgstr "في OpenPGP مشفر ملف JSON" + +#~ msgid "About" +#~ msgstr "عن" + +#~ msgid "GPG paraphrase" +#~ msgstr "جملة سر GPG" + +#~ msgid "Import" +#~ msgstr "استيراد" + +#~ msgid "Paraphrase" +#~ msgstr "جملة سر" + +#~ msgid "There was an error during the import of the encrypted file." +#~ msgstr "هناك خطأ خلال استيراد الملف المشفر." + +#~ msgid "GPG fingerprint" +#~ msgstr "بصمة اصبع GPG" + +#~ msgid "Public keys" +#~ msgstr "المفاتيح العلنية" + +#~ msgid "Private keys" +#~ msgstr "المفاتيح السرية" + +#~ msgid "GPG keys location" +#~ msgstr "موقع مفاتيح GPG" + +#~ msgid "Encrypted GPG files" +#~ msgstr "ملفات GPG مشفرة" + +#~ msgid "com.github.bilelmoussaoui.Authenticator" +#~ msgstr "com.github.bilelmoussaoui.Authenticator" + +#~ msgid "Next" +#~ msgstr "التالي" + +#~ msgid "Two Factor Authentication code generator" +#~ msgstr "كود توليد التوثيق الثنائي" + +#~ msgid "Two-Factor Authentication code generator" +#~ msgstr "كود توليد التوثيق الثنائي" diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 0000000..bde545b --- /dev/null +++ b/po/ca.po @@ -0,0 +1,673 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Authenticator package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Authenticator\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2019-02-21 19:17+0000\n" +"Last-Translator: Adolfo Jayme Barrientos \n" +"Language-Team: Catalan \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 3.5-dev\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "Authenticator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +msgid "Two-factor authentication code generator" +msgstr "Generador de codis d’autenticació amb dos components" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Aplicació senzilla que genera codis d’autenticació amb dos components, " +"creada per al GNOME." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "Funcionalitats:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "Escàner de codis QR" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "Una interfície bonica" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Bloca l’aplicació mitjançant una contrasenya" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" +"Com que vaig moure l’aplicació al grup «World» del GitLab del GNOME, hi ha " +"disponible una compilació nova per cada entrega de codi nova al lloc web de " +"l’aplicació." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "Còpia de seguretat i restauració des de fitxers JSON bàsics" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "" +"Còpia de seguretat i restauració des de fitxers JSON xifrats amb el GPG" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "" +"Compatibilitat amb l’andOTP (aplicació lliure i oberta d’autenticació amb " +"dos components per a l’Android)" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "" +"Nova finestra de configuració amb tres seccions: Aparença, Comportament i " +"Còpia de seguretat" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "" +"S’ha corregit la compilació Flatpak amb l’entorn d’execució GNOME més recent" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +msgid "Move the project to GOME Gitlab's World group" +msgstr "S’ha traslladat el projecte al grup «World» del Gitlab del GNOME" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "Proveïdor de cerques del GNOME Shell" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "Els codis expiren alhora #91" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "" +"S’ha redissenyat la finestra principal per a una conformitat més estesa amb " +"les HIG del GNOME" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "" +"S’ha redissenyat la finestra Afegeix un compte nou per a més facilitat d’ús" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" +"És possible afegir comptes de proveïdors que no figuren a la base de dades " +"inclosa" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "És possible editar comptes" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +msgid "One Time Password now visible by default" +msgstr "La contrasenya d’un sol ús ara és visible per defecte" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "S’ha substituït el python-dbus pel GDBus" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "S’ha reparat l’escàner de QR al GNOME Shell" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "S’ha afegit una entrada nova per al nom d’usuari del compte" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "S’ha actualitzat la base de dades de comptes compatibles" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "" +"Correcció provisional per a l’error d’inici de l’aplicació en entorns " +"diferents al GNOME" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +msgid "Rename project to Authenticator" +msgstr "Canvi de nom del projecte a Authenticator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +msgid "Cleaner code base" +msgstr "Base de codi més neta" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "Inici més veloç" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +msgid "Remove unneeded features" +msgstr "Supressió de funcions no necessàries" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "S’ha canviat del pyzbar al zbarlight" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "Paquet Flatpak" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "Bilal Elmoussaoui" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +msgid "Two-factor authentication" +msgstr "Autenticació amb dos components" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "Gnome;GTK;Verificació;" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "@appid@" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "Posició per defecte de la finestra" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +#, fuzzy +msgid "Dark Theme" +msgstr "Tema fosc" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +#, fuzzy +msgid "Whether the application should use a dark theme." +msgstr "Si l’aplicació es pot blocar o no" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "Comportament per defecte de la finestra maximitzada" + +#: data/ui/about_dialog.ui.in:10 +msgid "Two-factor authentication code generator." +msgstr "Generador de codis d’autenticació amb dos components." + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "Adolfo Jayme Barrientos , 2018-2019" + +#: data/ui/account_add.ui:22 +msgid "Add a new account" +msgstr "Afegeix un compte nou" + +#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19 +msgid "Close" +msgstr "Tanca" + +#: data/ui/account_add.ui:34 +msgid "Add" +msgstr "Afegeix" + +#: data/ui/account_add.ui:54 +msgid "Scan QR Code" +msgstr "Escaneja un codi QR" + +#: data/ui/account_config.ui:85 +msgid "Enable 2FA for this account" +msgstr "" + +#: data/ui/account_config.ui:86 +msgid "2FA Token" +msgstr "" + +#: data/ui/account_config.ui:100 +#, fuzzy +msgid "Account Name" +msgstr "Nom del compte" + +#: data/ui/account_config.ui:123 +msgid "Provider" +msgstr "Proveïdor" + +#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50 +msgid "Save" +msgstr "Desa" + +#: data/ui/account_row.ui:23 +msgid "Edit" +msgstr "Edita" + +#: data/ui/account_row.ui:41 +msgid "Delete" +msgstr "Suprimeix" + +#: data/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "Copia el PIN al porta-retalls" + +#: data/ui/password_widget.ui:46 +#, fuzzy +msgid "Current Password:" +msgstr "Repetiu la contrasenya" + +#: data/ui/password_widget.ui:90 +#, fuzzy +msgid "New Password:" +msgstr "Contrasenya" + +#: data/ui/password_widget.ui:135 +msgid "Confirm New Password:" +msgstr "" + +#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208 +#, fuzzy +msgid "Change Password" +msgstr "Contrasenya" + +#: data/ui/password_widget.ui:204 +#, fuzzy +msgid "Delete Password" +msgstr "Repetiu la contrasenya" + +#: data/ui/provider_image.ui:41 +msgid "We couldn't find an image for this provider" +msgstr "" + +#. Night mode action +#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112 +msgid "Preferences" +msgstr "Preferències" + +#: data/ui/settings.ui.in:95 +msgid "Behaviour" +msgstr "Comportament" + +#: data/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "General" + +#: data/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Mostra les dreceres" + +#: data/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "Preferències" + +#: data/ui/shortcuts.ui:31 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Surt" + +#: data/ui/shortcuts.ui:40 +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Comptes" + +#: data/ui/shortcuts.ui:44 +msgctxt "shortcut window" +msgid "Add" +msgstr "Afegeix" + +#: data/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "Cerca" + +#: data/ui/window.ui.in:182 +msgid "There are no accounts yet…" +msgstr "Encara no hi ha cap compte…" + +#: data/ui/window.ui.in:211 +#, fuzzy +msgid "Add a new account from the menu" +msgstr "Afegeix un compte nou" + +#: data/ui/window.ui.in:227 +#, fuzzy +msgid "Scan a QR Code" +msgstr "Escaneja un codi QR" + +#: data/ui/window.ui.in:373 +msgid "No results found" +msgstr "" + +#: data/ui/window.ui.in:437 +msgid "Authenticator is locked" +msgstr "L’Authenticator està blocat" + +#: data/ui/window.ui.in:476 +msgid "Unlock" +msgstr "Desbloca" + +#: src/authenticator.py.in:50 +msgid "Start in debug mode" +msgstr "Inicia en mode de depuració" + +#: src/authenticator.py.in:52 +msgid "Authenticator version number" +msgstr "Número de versió de l’Authenticator" + +#: src/Authenticator/application.py.in:92 +#: src/Authenticator/widgets/settings.py:92 +msgid "Lock the application" +msgstr "Bloca l’aplicació" + +#: src/Authenticator/application.py.in:100 +msgid "from a plain-text JSON file" +msgstr "des d’un fitxer JSON de text sense format" + +#: src/Authenticator/application.py.in:101 +msgid "in a plain-text JSON file" +msgstr "en un fitxer JSON de text sense format" + +#: src/Authenticator/application.py.in:103 +msgid "Restore" +msgstr "Restaura" + +#: src/Authenticator/application.py.in:104 +msgid "Backup" +msgstr "Còpia de seguretat" + +#: src/Authenticator/application.py.in:113 +msgid "Donate" +msgstr "Fes un donatiu" + +#: src/Authenticator/application.py.in:114 +msgid "Keyboard Shortcuts" +msgstr "Dreceres de teclat" + +#: src/Authenticator/application.py.in:115 +msgid "About Authenticator" +msgstr "Quant a l’Authenticator" + +#: src/Authenticator/models/account.py:71 +msgid "Default" +msgstr "Per defecte" + +#: src/Authenticator/widgets/accounts/add.py:58 +msgid "Invalid QR code" +msgstr "El codi QR no és vàlid" + +#: src/Authenticator/widgets/accounts/list.py:143 +msgid "The One-Time Passwords expires in {} seconds" +msgstr "La contrasenya d’un sol ús caducarà en {} segons" + +#: src/Authenticator/widgets/accounts/row.py:80 +msgid "Couldn't generate the secret code" +msgstr "No s’ha pogut generar el codi secret" + +#: src/Authenticator/widgets/accounts/row.py:91 +msgid "The PIN of {} was copied to the clipboard" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:123 +msgid "The account was updated successfully" +msgstr "" + +#: src/Authenticator/widgets/notification.py:43 +#, fuzzy +msgid "Close the notification" +msgstr "Bloca l’aplicació" + +#: src/Authenticator/widgets/notification.py:48 +#: src/Authenticator/widgets/notification.py:63 +msgid "Undo" +msgstr "Desfés" + +#: src/Authenticator/widgets/settings.py:93 +msgid "Lock the application with a password" +msgstr "Bloca l’aplicació mitjançant una contrasenya" + +#: src/Authenticator/widgets/settings.py:157 +#, fuzzy +msgid "Authentication password is now enabled." +msgstr "Contrasenya d’autenticació" + +#: src/Authenticator/widgets/settings.py:159 +#, fuzzy +msgid "The authentication password was updated." +msgstr "Contrasenya d’autenticació" + +#: src/Authenticator/widgets/settings.py:163 +#, fuzzy +msgid "The authentication password was deleted." +msgstr "Contrasenya d’autenticació" + +#: src/Authenticator/widgets/settings.py:204 +#, fuzzy +msgid "Save Password" +msgstr "Contrasenya" + +#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45 +msgid "JSON files" +msgstr "Fitxers JSON" + +#~ msgid "Huge database of (290+) websites/applications" +#~ msgstr "Una immensa base de dades de més de 290 llocs web i aplicacions" + +#~ msgid "Night mode" +#~ msgstr "Mode nocturn" + +#~ msgid "Enable/disable night mode within the application" +#~ msgstr "Activa/desactiva el mode nocturn dins de l’aplicació" + +#~ msgid "Use a dark theme, if possible" +#~ msgstr "Utilitza un tema fosc si és possible" + +#~ msgid "Keep your accounts safer " +#~ msgstr "Garantiu la seguretat dels vostres comptes " + +#~ msgid "Settings" +#~ msgstr "Paràmetres" + +#~ msgid "Authenticator Password" +#~ msgstr "Contrasenya de l’Authenticator" + +#~ msgid "Edit {} - {}" +#~ msgstr "Edita {} - {}" + +#~ msgid "Authentication password was unset. Please restart the application" +#~ msgstr "" +#~ "S’ha desconfigurat la contrasenya d’autenticació. Torneu a iniciar " +#~ "l’aplicació" + +#~ msgid "" +#~ "Authentication password is now enabled. Please restart the application." +#~ msgstr "" +#~ "Ara està activada la contrasenya d’autenticació. Torneu a iniciar " +#~ "l’aplicació." + +#~ msgid "Open" +#~ msgstr "Obre" + +#~ msgid "Cancel" +#~ msgstr "Cancel·la" + +#~ msgid "Select" +#~ msgstr "Selecciona" + +#~ msgid "Secret token" +#~ msgstr "Testimoni secret" + +#~ msgid "zbar library is not found. QRCode scanner will be disabled" +#~ msgstr "" +#~ "No s’ha trobat la biblioteca zbar. S’inhabilitarà l’escàner de codis QR" + +#~ msgid "Copy" +#~ msgstr "Copia" + +#~ msgid "Search" +#~ msgstr "Cerca" + +#~ msgid "Selection mode" +#~ msgstr "Mode de selecció" + +#~ msgid "Click on items to select them" +#~ msgstr "Feu clic als elements per a seleccionar-los" + +#~ msgid "Old Password" +#~ msgstr "Contrasenya anterior" + +#~ msgid "Appearance" +#~ msgstr "Aparença" + +#~ msgid "Erase existing accounts" +#~ msgstr "Esborra els comptes existents" + +#~ msgid "Set up application authentication password" +#~ msgstr "Configura la contrasenya d’autenticació de l’aplicació" + +#~ msgid "The application needs to be restarted first." +#~ msgstr "Heu de reiniciar l’aplicació primer." + +#~ msgid "The existing accounts will be erased in 5 seconds" +#~ msgstr "Els comptes existents s’esborraran en 5 segons" + +#~ msgid "An account or more were removed." +#~ msgstr "S’ha suprimit almenys un compte." + +#~ msgid "Whether the application is locked with a password or not" +#~ msgstr "Si s’ha blocat l’aplicació mitjançant una contrasenya o no" + +#~ msgctxt "shortcut window" +#~ msgid "Select" +#~ msgstr "Selecciona" + +#, fuzzy +#~ msgid "Authenticator@NAME_SUFFIX@" +#~ msgstr "Authenticator" + +#~ msgid "from an OpenPGP-encrypted JSON file" +#~ msgstr "des d’un fitxer JSON xifrat amb l’OpenPGP" + +#~ msgid "in an OpenPGP-encrypted JSON file" +#~ msgstr "en un fitxer JSON xifrat amb l’OpenPGP" + +#~ msgid "About" +#~ msgstr "Quant a" + +#~ msgid "GPG paraphrase" +#~ msgstr "Contrasenya del GPG" + +#~ msgid "Import" +#~ msgstr "Importa" + +#~ msgid "Paraphrase" +#~ msgstr "Contrasenya" + +#~ msgid "There was an error during the import of the encrypted file." +#~ msgstr "S’ha produït un error en importar el fitxer xifrat." + +#~ msgid "GPG fingerprint" +#~ msgstr "Empremta del GPG" + +#~ msgid "Public keys" +#~ msgstr "Claus públiques" + +#~ msgid "Private keys" +#~ msgstr "Claus privades" + +#~ msgid "GPG keys location" +#~ msgstr "Ubicació de les claus GPG" + +#~ msgid "Encrypted GPG files" +#~ msgstr "Fitxers GPG xifrats" + +#~ msgid "com.github.bilelmoussaoui.Authenticator" +#~ msgstr "com.github.bilelmoussaoui.Authenticator" + +#~ msgid "Backup Password" +#~ msgstr "Fes una còpia de seguretat de la contrasenya" diff --git a/po/da.po b/po/da.po new file mode 100644 index 0000000..c0d5676 --- /dev/null +++ b/po/da.po @@ -0,0 +1,637 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2018-11-03 21:23+0000\n" +"Last-Translator: Jack Fredericksen \n" +"Language-Team: Danish \n" +"Language: da\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 3.3-dev\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "TofaktorAutentifikation" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +#, fuzzy +msgid "Two-factor authentication code generator" +msgstr "TofaktorAutentifikation kodegenerator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +#, fuzzy +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Enkel applikation som genererer to-faktor autentifikationskode, lavet til " +"Gnome" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Lås applikationen" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +msgid "Move the project to GOME Gitlab's World group" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +msgid "One Time Password now visible by default" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +#, fuzzy +msgid "Rename project to Authenticator" +msgstr "Om Gnome TofaktorAutentifikation" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +msgid "Cleaner code base" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +#, fuzzy +msgid "Remove unneeded features" +msgstr "Fjern valgte konti" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +#, fuzzy +msgid "Two-factor authentication" +msgstr "TofaktorAutentifikation" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +msgid "Dark Theme" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +msgid "Whether the application should use a dark theme." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "" + +#: data/ui/about_dialog.ui.in:10 +#, fuzzy +msgid "Two-factor authentication code generator." +msgstr "TofaktorAutentifikation kodegenerator" + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "" + +#: data/ui/account_add.ui:22 +msgid "Add a new account" +msgstr "Tilføj en ny konto" + +#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19 +msgid "Close" +msgstr "" + +#: data/ui/account_add.ui:34 +msgid "Add" +msgstr "Tilføj" + +#: data/ui/account_add.ui:54 +#, fuzzy +msgid "Scan QR Code" +msgstr "Indskan en QR-kode" + +#: data/ui/account_config.ui:85 +msgid "Enable 2FA for this account" +msgstr "" + +#: data/ui/account_config.ui:86 +msgid "2FA Token" +msgstr "" + +#: data/ui/account_config.ui:100 +#, fuzzy +msgid "Account Name" +msgstr "Kontonavn" + +#: data/ui/account_config.ui:123 +msgid "Provider" +msgstr "" + +#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50 +msgid "Save" +msgstr "" + +#: data/ui/account_row.ui:23 +msgid "Edit" +msgstr "" + +#: data/ui/account_row.ui:41 +msgid "Delete" +msgstr "" + +#: data/ui/account_row.ui:97 +#, fuzzy +msgid "Copy PIN to clipboard" +msgstr "Kode \"%s\" kopieret til clipboard" + +#: data/ui/password_widget.ui:46 +#, fuzzy +msgid "Current Password:" +msgstr "Gentag nyt password" + +#: data/ui/password_widget.ui:90 +#, fuzzy +msgid "New Password:" +msgstr "Nyt password" + +#: data/ui/password_widget.ui:135 +#, fuzzy +msgid "Confirm New Password:" +msgstr "Nyt password" + +#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208 +#, fuzzy +msgid "Change Password" +msgstr "Gammelt password" + +#: data/ui/password_widget.ui:204 +#, fuzzy +msgid "Delete Password" +msgstr "Gentag nyt password" + +#: data/ui/provider_image.ui:41 +msgid "We couldn't find an image for this provider" +msgstr "" + +#. Night mode action +#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112 +msgid "Preferences" +msgstr "" + +#: data/ui/settings.ui.in:95 +#, fuzzy +msgid "Behaviour" +msgstr "Adfærd" + +#: data/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "" + +#: data/ui/shortcuts.ui:17 +#, fuzzy +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Genveje" + +#: data/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "" + +#: data/ui/shortcuts.ui:31 +#, fuzzy +msgctxt "shortcut window" +msgid "Quit" +msgstr "Afslut" + +#: data/ui/shortcuts.ui:40 +#, fuzzy +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Konto" + +#: data/ui/shortcuts.ui:44 +#, fuzzy +msgctxt "shortcut window" +msgid "Add" +msgstr "Tilføj" + +#: data/ui/shortcuts.ui:51 +#, fuzzy +msgctxt "shortcut window" +msgid "Search" +msgstr "Søg" + +#: data/ui/window.ui.in:182 +#, fuzzy +msgid "There are no accounts yet…" +msgstr "Der er ingen konto i øjeblikket" + +#: data/ui/window.ui.in:211 +#, fuzzy +msgid "Add a new account from the menu" +msgstr "Tilføj en ny konto" + +#: data/ui/window.ui.in:227 +#, fuzzy +msgid "Scan a QR Code" +msgstr "Indskan en QR-kode" + +#: data/ui/window.ui.in:373 +msgid "No results found" +msgstr "" + +#: data/ui/window.ui.in:437 +#, fuzzy +msgid "Authenticator is locked" +msgstr "TofaktorAutentifikation" + +#: data/ui/window.ui.in:476 +msgid "Unlock" +msgstr "Lås op" + +#: src/authenticator.py.in:50 +msgid "Start in debug mode" +msgstr "Start i debug-tilstand" + +#: src/authenticator.py.in:52 +msgid "Authenticator version number" +msgstr "Gnome-TofaktorAutentifikation versionsnummer" + +#: src/Authenticator/application.py.in:92 +#: src/Authenticator/widgets/settings.py:92 +msgid "Lock the application" +msgstr "Lås applikationen" + +#: src/Authenticator/application.py.in:100 +msgid "from a plain-text JSON file" +msgstr "" + +#: src/Authenticator/application.py.in:101 +msgid "in a plain-text JSON file" +msgstr "" + +#: src/Authenticator/application.py.in:103 +msgid "Restore" +msgstr "" + +#: src/Authenticator/application.py.in:104 +msgid "Backup" +msgstr "" + +#: src/Authenticator/application.py.in:113 +msgid "Donate" +msgstr "" + +#: src/Authenticator/application.py.in:114 +#, fuzzy +msgid "Keyboard Shortcuts" +msgstr "Genveje" + +#: src/Authenticator/application.py.in:115 +#, fuzzy +msgid "About Authenticator" +msgstr "TofaktorAutentifikation" + +#: src/Authenticator/models/account.py:71 +msgid "Default" +msgstr "" + +#: src/Authenticator/widgets/accounts/add.py:58 +#, fuzzy +msgid "Invalid QR code" +msgstr "Indskan en QR-kode" + +#: src/Authenticator/widgets/accounts/list.py:143 +msgid "The One-Time Passwords expires in {} seconds" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:80 +msgid "Couldn't generate the secret code" +msgstr "Kunne ikke generere den hemmelige kode" + +#: src/Authenticator/widgets/accounts/row.py:91 +msgid "The PIN of {} was copied to the clipboard" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:123 +msgid "The account was updated successfully" +msgstr "" + +#: src/Authenticator/widgets/notification.py:43 +#, fuzzy +msgid "Close the notification" +msgstr "Skjul beskeder" + +#: src/Authenticator/widgets/notification.py:48 +#: src/Authenticator/widgets/notification.py:63 +msgid "Undo" +msgstr "Fortryd" + +#: src/Authenticator/widgets/settings.py:93 +#, fuzzy +msgid "Lock the application with a password" +msgstr "Lås applikationen" + +#: src/Authenticator/widgets/settings.py:157 +#, fuzzy +msgid "Authentication password is now enabled." +msgstr "TofaktorAutentifikation" + +#: src/Authenticator/widgets/settings.py:159 +#, fuzzy +msgid "The authentication password was updated." +msgstr "TofaktorAutentifikation" + +#: src/Authenticator/widgets/settings.py:163 +#, fuzzy +msgid "The authentication password was deleted." +msgstr "TofaktorAutentifikation" + +#: src/Authenticator/widgets/settings.py:204 +#, fuzzy +msgid "Save Password" +msgstr "Gammelt password" + +#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45 +msgid "JSON files" +msgstr "" + +#~ msgid "Settings" +#~ msgstr "Indstillinger" + +#, fuzzy +#~ msgid "Authenticator Password" +#~ msgstr "TofaktorAutentifikation" + +#~ msgid "Cancel" +#~ msgstr "Afbryd" + +#, fuzzy +#~ msgid "Select" +#~ msgstr "Udvælgelsesindstilling" + +#, fuzzy +#~ msgid "Secret token" +#~ msgstr "Hemmelig kode" + +#~ msgid "Search" +#~ msgstr "Søg" + +#~ msgid "Selection mode" +#~ msgstr "Udvælgelsesindstilling" + +#, fuzzy +#~ msgid "Old Password" +#~ msgstr "Gammelt password" + +#, fuzzy +#~ msgctxt "shortcut window" +#~ msgid "Select" +#~ msgstr "Udvælgelsesindstilling" + +#, fuzzy +#~ msgid "Authenticator@NAME_SUFFIX@" +#~ msgstr "TofaktorAutentifikation" + +#~ msgid "About" +#~ msgstr "Om" + +#, fuzzy +#~ msgid "Backup Password" +#~ msgstr "Skift password" + +#~ msgid "Next" +#~ msgstr "Næste" + +#~ msgid "Two Factor Authentication code generator" +#~ msgstr "TofaktorAutentifikation kodegenerator" + +#~ msgid "Two-Factor Authentication code generator" +#~ msgstr "TofaktorAutentifikation kodegenerator" + +#~ msgid "Remove the account" +#~ msgstr "Fjern kontoen" + +#~ msgid "Copy the generated code" +#~ msgstr "Kopier den genererede kode" + +#~ msgid "Edit the account" +#~ msgstr "Redigér kontoen" + +#~ msgid "Save the new account name" +#~ msgstr "Gem det nye kontonavn" + +#~ msgid "Expires in %s seconds" +#~ msgstr "Udløber om %s sekunder" + +#~ msgid "Error during the generation of code" +#~ msgstr "Fejl under generering af kode" + +#~ msgid "Do you really want to remove \"%s\"?" +#~ msgstr "Er du sikker på, at du vil slette \"%s\"?" + +#~ msgid "\"%s\" was removed" +#~ msgstr "\"%s\" blev slettet" + +#~ msgid "Selected area is not a valid QR code" +#~ msgstr "Det valgte område er ikke en valid QR-kode" + +#~ msgid "Select an application" +#~ msgstr "Vælg en applikation" + +#~ msgid "Apply" +#~ msgstr "Tilføj" + +#~ msgid "Enter your password" +#~ msgstr "Indtast dit password" + +#~ msgid "Password protection" +#~ msgstr "Passwordbeskyttelse" + +#~ msgid "Auto-lock the application (m):" +#~ msgstr "Lås applikationen automatisk (m):" + +#~ msgid "Show about dialog" +#~ msgstr "Vis Om dialog" diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..b94a662 --- /dev/null +++ b/po/de.po @@ -0,0 +1,729 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2019-04-30 14:34+0000\n" +"Last-Translator: Andreas Kleinert \n" +"Language-Team: German \n" +"Language: de\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 3.6.1\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "Zweifaktor-Authentifizierung" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +msgid "Two-factor authentication code generator" +msgstr "Codegenerator für Zweifaktor-Authentifizierung" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Einfache Anwendung, die Zweifaktor-Authentifizierungscode erzeugt, erstellt " +"für GNOME." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "Funktionen:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "QR-Code-Scanner" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "Schöne Benutzeroberfläche" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Anwendung mit einem Passwort sperren" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" +"Da ich die Anwendung in die Weltgruppe von GOME Gitlab verschoben habe, " +"steht ein Flatpak-Build für jeden neuen Eintrag zum Download auf der Website " +"zur Verfügung." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "Sichern und wiederherstellen von der grundlegenden JSON-Datei" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "" +"Sichern und wiederherstellen von einer OpenPGP-verschlüsselten JSON-Datei" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "andOTP-Unterstützung hinzugefügt (freie und offene Android 2FA-App)" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "" +"Neue Einstellungsfenster mit 3 Abschnitten: Aussehen, Verhalten und Sicherung" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "Flatpak-Build mit der neuesten GNOME-Runtime beheben" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +msgid "Move the project to GOME Gitlab's World group" +msgstr "Projekt in die Weltgruppe von GOME Gitlab verschieben" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "GNOME Shell Suchanbieter" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "Schlüssel verfallen gleichzeitig #91" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "" +"Das Hauptfenster wurde überarbeitet, um dem GNOME HIG genauer zu folgen" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "" +"Überarbeitet und mit einem neuen Kontofenster versehen, um die Bedienung zu " +"erleichtern" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" +"Möglichkeit, ein Konto von einem Anbieter hinzuzufügen, der nicht in der " +"bereitgestellten Datenbank aufgeführt ist" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "Möglichkeit, ein Konto zu bearbeiten" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +msgid "One Time Password now visible by default" +msgstr "Einmalpasswort jetzt standardmäßig sichtbar" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "Fix für python-dbus, indem stattdessen GDbus verwendet wird" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "QRScanner in GNOME Shell reparieren" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "Neuen Eintrag für den Benutzernamen des Kontos hinzufügen" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "Aktualisierte Datenbank der unterstützten Konten" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "Fehlerbehebung: App, die nicht in DE läuft, außer GNOME" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +msgid "Rename project to Authenticator" +msgstr "Projekt in Authenticator umbenannt" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +msgid "Cleaner code base" +msgstr "Datenbank bereinigen" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "Schnellerer Start" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +msgid "Remove unneeded features" +msgstr "Nicht benötigte Funktionen entfernen" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "Wechseln zu pyzbar anstelle zbarlight" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "Flatpak-Paket" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "Bilal Elmoussaoui" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +msgid "Two-factor authentication" +msgstr "Zweifaktor-Authentifizierung" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "Gnome;GTK;Verifizierung;" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "@appid@" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "Standardposition des Fensters" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +#, fuzzy +msgid "Dark Theme" +msgstr "Dunkler Stil" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +#, fuzzy +msgid "Whether the application should use a dark theme." +msgstr "Ob die Anwendung gesperrt werden kann oder nicht" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "Standardverhalten beim Maximieren des Fensters" + +#: data/ui/about_dialog.ui.in:10 +msgid "Two-factor authentication code generator." +msgstr "Codegenerator für Zweifaktor-Authentifizierung." + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "Danksagungen an Übersetzer" + +#: data/ui/account_add.ui:22 +msgid "Add a new account" +msgstr "Neues Konto anlegen" + +#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19 +msgid "Close" +msgstr "Schließen" + +#: data/ui/account_add.ui:34 +msgid "Add" +msgstr "Hinzufügen" + +#: data/ui/account_add.ui:54 +msgid "Scan QR Code" +msgstr "QR-Code einlesen" + +#: data/ui/account_config.ui:85 +msgid "Enable 2FA for this account" +msgstr "" + +#: data/ui/account_config.ui:86 +msgid "2FA Token" +msgstr "" + +#: data/ui/account_config.ui:100 +#, fuzzy +msgid "Account Name" +msgstr "Kontoname" + +#: data/ui/account_config.ui:123 +msgid "Provider" +msgstr "Anbieter" + +#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50 +msgid "Save" +msgstr "Speichern" + +#: data/ui/account_row.ui:23 +msgid "Edit" +msgstr "Bearbeiten" + +#: data/ui/account_row.ui:41 +msgid "Delete" +msgstr "Löschen" + +#: data/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "PIN in die Zwischenablage kopieren" + +#: data/ui/password_widget.ui:46 +#, fuzzy +msgid "Current Password:" +msgstr "Passwort wiederholen" + +#: data/ui/password_widget.ui:90 +#, fuzzy +msgid "New Password:" +msgstr "Neues Passwort" + +#: data/ui/password_widget.ui:135 +#, fuzzy +msgid "Confirm New Password:" +msgstr "Neues Passwort" + +#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208 +#, fuzzy +msgid "Change Password" +msgstr "Altes Passwort" + +#: data/ui/password_widget.ui:204 +#, fuzzy +msgid "Delete Password" +msgstr "Passwort wiederholen" + +#: data/ui/provider_image.ui:41 +msgid "We couldn't find an image for this provider" +msgstr "" + +#. Night mode action +#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112 +msgid "Preferences" +msgstr "Einstellungen" + +#: data/ui/settings.ui.in:95 +msgid "Behaviour" +msgstr "Verhalten" + +#: data/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "Allgemein" + +#: data/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Tastaturkürzel anzeigen" + +#: data/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "Einstellungen" + +#: data/ui/shortcuts.ui:31 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Beenden" + +#: data/ui/shortcuts.ui:40 +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Konten" + +#: data/ui/shortcuts.ui:44 +msgctxt "shortcut window" +msgid "Add" +msgstr "Hinzufügen" + +#: data/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "Suchen" + +#: data/ui/window.ui.in:182 +msgid "There are no accounts yet…" +msgstr "Noch keine Konten vorhanden …" + +#: data/ui/window.ui.in:211 +#, fuzzy +msgid "Add a new account from the menu" +msgstr "Neues Konto anlegen" + +#: data/ui/window.ui.in:227 +#, fuzzy +msgid "Scan a QR Code" +msgstr "QR-Code einlesen" + +#: data/ui/window.ui.in:373 +msgid "No results found" +msgstr "" + +#: data/ui/window.ui.in:437 +msgid "Authenticator is locked" +msgstr "Authenticator gesperrt" + +#: data/ui/window.ui.in:476 +msgid "Unlock" +msgstr "Entsperren" + +#: src/authenticator.py.in:50 +msgid "Start in debug mode" +msgstr "Im Fehlersuch-Modus starten" + +#: src/authenticator.py.in:52 +msgid "Authenticator version number" +msgstr "Authenticator-Version" + +#: src/Authenticator/application.py.in:92 +#: src/Authenticator/widgets/settings.py:92 +msgid "Lock the application" +msgstr "Anwendung sperren" + +#: src/Authenticator/application.py.in:100 +msgid "from a plain-text JSON file" +msgstr "aus einer Reintext-JSON-Datei" + +#: src/Authenticator/application.py.in:101 +msgid "in a plain-text JSON file" +msgstr "in eine Reintext-JSON-Datei" + +#: src/Authenticator/application.py.in:103 +msgid "Restore" +msgstr "Wiederherstellen" + +#: src/Authenticator/application.py.in:104 +msgid "Backup" +msgstr "Sicherung" + +#: src/Authenticator/application.py.in:113 +msgid "Donate" +msgstr "Spenden" + +#: src/Authenticator/application.py.in:114 +msgid "Keyboard Shortcuts" +msgstr "Tastaturkürzel" + +#: src/Authenticator/application.py.in:115 +msgid "About Authenticator" +msgstr "Über Authenticator" + +#: src/Authenticator/models/account.py:71 +msgid "Default" +msgstr "Standard" + +#: src/Authenticator/widgets/accounts/add.py:58 +msgid "Invalid QR code" +msgstr "Ungültiger QR-Code" + +#: src/Authenticator/widgets/accounts/list.py:143 +msgid "The One-Time Passwords expires in {} seconds" +msgstr "Die Einmalpasswörter verfallen in {} Sekunden" + +#: src/Authenticator/widgets/accounts/row.py:80 +msgid "Couldn't generate the secret code" +msgstr "Der geheime Code konnte nicht erzeugt werden" + +#: src/Authenticator/widgets/accounts/row.py:91 +msgid "The PIN of {} was copied to the clipboard" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:123 +msgid "The account was updated successfully" +msgstr "" + +#: src/Authenticator/widgets/notification.py:43 +#, fuzzy +msgid "Close the notification" +msgstr "Mitteilung verstecken" + +#: src/Authenticator/widgets/notification.py:48 +#: src/Authenticator/widgets/notification.py:63 +msgid "Undo" +msgstr "rückgängig machen" + +#: src/Authenticator/widgets/settings.py:93 +msgid "Lock the application with a password" +msgstr "Anwendung mit einem Passwort sperren" + +#: src/Authenticator/widgets/settings.py:157 +#, fuzzy +msgid "Authentication password is now enabled." +msgstr "Zweifaktor-Authentifizierung" + +#: src/Authenticator/widgets/settings.py:159 +#, fuzzy +msgid "The authentication password was updated." +msgstr "Zweifaktor-Authentifizierung" + +#: src/Authenticator/widgets/settings.py:163 +#, fuzzy +msgid "The authentication password was deleted." +msgstr "Zweifaktor-Authentifizierung" + +#: src/Authenticator/widgets/settings.py:204 +#, fuzzy +msgid "Save Password" +msgstr "Altes Passwort" + +#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45 +msgid "JSON files" +msgstr "JSON-Dateien" + +#~ msgid "Huge database of (290+) websites/applications" +#~ msgstr "Riesige Datenbank aus (290+) Webseiten/Anwendungen" + +#~ msgid "Night mode" +#~ msgstr "Nachtmodus" + +#~ msgid "Enable/disable night mode within the application" +#~ msgstr "Nachtmodus innerhalb der Anwendung aktivieren/deaktivieren" + +#~ msgid "Use a dark theme, if possible" +#~ msgstr "Nach Möglichkeit ein dunkles Motiv verwenden" + +#~ msgid "Keep your accounts safer " +#~ msgstr "Halten Sie Ihre Konten sicher " + +#~ msgid "Settings" +#~ msgstr "Einstellungen" + +#~ msgid "Authenticator Password" +#~ msgstr "Authenticator-Passwort" + +#~ msgid "Edit {} - {}" +#~ msgstr "Bearbeiten {} - {}" + +#~ msgid "Authentication password was unset. Please restart the application" +#~ msgstr "" +#~ "Authentifizierungspasswort wurde zurückgezogen. Bitte starten Sie die " +#~ "Anwendung neu." + +#~ msgid "" +#~ "Authentication password is now enabled. Please restart the application." +#~ msgstr "" +#~ "Das Passwort für die Authentifizierung ist nun aktiviert. Bitte starten " +#~ "Sie die Anwendung neu." + +#~ msgid "Open" +#~ msgstr "Öffnen" + +#~ msgid "Cancel" +#~ msgstr "Abbruch" + +#~ msgid "Select" +#~ msgstr "Auswählen" + +#~ msgid "Secret token" +#~ msgstr "Geheimschlüssel" + +#~ msgid "zbar library is not found. QRCode scanner will be disabled" +#~ msgstr "" +#~ "zbar-Bibliothek wurde nicht gefunden. Der QRCode-Scanner wird deaktiviert" + +#~ msgid "Copy" +#~ msgstr "kopieren" + +#~ msgid "Search" +#~ msgstr "Suche" + +#~ msgid "Selection mode" +#~ msgstr "Auswahlmodus" + +#~ msgid "Click on items to select them" +#~ msgstr "Klicke auf Items, um sie auszuwählen" + +#~ msgid "Old Password" +#~ msgstr "Altes Passwort" + +#~ msgid "Appearance" +#~ msgstr "Erscheinungsbild" + +#~ msgid "Erase existing accounts" +#~ msgstr "Lösche die existierenden Accounts" + +#~ msgid "Set up application authentication password" +#~ msgstr "Passwort für die Anwendungsauthentifizierung einrichten" + +#~ msgid "The application needs to be restarted first." +#~ msgstr "Die Anwendung muss zuerst neu gestartet werden." + +#~ msgid "The existing accounts will be erased in 5 seconds" +#~ msgstr "Der existierende Account wird in 5 Sekunden gelöscht" + +#~ msgid "An account or more were removed." +#~ msgstr "Ein oder mehrere Konten wurden entfernt." + +#~ msgid "Whether the application is locked with a password or not" +#~ msgstr "Ob die Anwendung mit einem Passwort gesperrt ist oder nicht" + +#~ msgctxt "shortcut window" +#~ msgid "Select" +#~ msgstr "Auswählen" + +#, fuzzy +#~ msgid "Authenticator@NAME_SUFFIX@" +#~ msgstr "Zweifaktor-Authentifizierung" + +#~ msgid "in an OpenPGP-encrypted JSON file" +#~ msgstr "in eine OpenPGP-verschlüsselten JSON-Datei" + +#~ msgid "About" +#~ msgstr "Über" + +#~ msgid "GPG paraphrase" +#~ msgstr "GPG-Umschreibung" + +#~ msgid "Import" +#~ msgstr "Import" + +#~ msgid "Paraphrase" +#~ msgstr "Umschreibung" + +#~ msgid "There was an error during the import of the encrypted file." +#~ msgstr "Es gab einen Fehler während dem Import der verschlüsselten Datei." + +#~ msgid "GPG fingerprint" +#~ msgstr "GPG-Fingerabdruck" + +#~ msgid "Public keys" +#~ msgstr "Öffentliche Schlüssel" + +#~ msgid "Private keys" +#~ msgstr "Private Schlüssel" + +#~ msgid "GPG keys location" +#~ msgstr "Speicherort des GPG-Schlüssels" + +#~ msgid "Encrypted GPG files" +#~ msgstr "Verschlüsselte GPG-Dateien" + +#~ msgid "com.github.bilelmoussaoui.Authenticator" +#~ msgstr "com.github.bilelmoussaoui.Authenticator" + +#, fuzzy +#~ msgid "Backup Password" +#~ msgstr "Passwort ändern" + +#~ msgid "Next" +#~ msgstr "weiter" + +#~ msgid "Two Factor Authentication code generator" +#~ msgstr "Codegenerator für Zweifaktor-Authentifizierung" + +#~ msgid "Two-Factor Authentication code generator" +#~ msgstr "Zweifaktor-Authentifizierungcodegenerator" + +#~ msgid "TwoFactorAuth" +#~ msgstr "ZweiFaktorAuth" + +#~ msgid "Remove the account" +#~ msgstr "Konto löschen" + +#~ msgid "Copy the generated code" +#~ msgstr "Kopiere den erzeugten Code" + +#~ msgid "Edit the account" +#~ msgstr "Bearbeite das Konto" + +#~ msgid "Save the new account name" +#~ msgstr "Speichere den neuen Kontonamen" + +#~ msgid "Expires in %s seconds" +#~ msgstr "Verfällt in '%s' Sekunden" + +#~ msgid "Error during the generation of code" +#~ msgstr "Fehler beim erzeugen des Codes" + +#~ msgid "Do you really want to remove \"%s\"?" +#~ msgstr "Soll \"%s\" wirklich gelöscht werden ?" + +#~ msgid "\"%s\" was removed" +#~ msgstr "\"%s\" wurde gelöscht" + +#~ msgid "Selected area is not a valid QR code" +#~ msgstr "Die gewählte Fläche ist kein gültiger QR Code" + +#~ msgid "Select an application" +#~ msgstr "Wähle eine Anwendung" + +#~ msgid "Apply" +#~ msgstr "Anwenden" + +#~ msgid "Enter your password" +#~ msgstr "gebe dein Passwort ein" + +#~ msgid "Password protection" +#~ msgstr "Passwortschutz" + +#~ msgid "Auto-lock the application (m):" +#~ msgstr "Auto-Sperren der Anwendung (m):" + +#~ msgid "Gnome TwoFactorAuth" +#~ msgstr "Gnome ZweiFaktorAuth" + +#~ msgid "About Gnome TwoFactorAuth" +#~ msgstr "Über Gnome ZweiFaktorAuth" + +#~ msgid "Show about dialog" +#~ msgstr "Zeige den Über-Dialog" diff --git a/po/en_GB.po b/po/en_GB.po new file mode 100644 index 0000000..bae137c --- /dev/null +++ b/po/en_GB.po @@ -0,0 +1,365 @@ +# British English translation for authenticator. +# Copyright (C) 2019 authenticator's COPYRIGHT HOLDER +# This file is distributed under the same license as the authenticator package. +# Zander Brown , 2019. +# Bruce Cowan , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: authenticator master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/Authenticator/issues\n" +"POT-Creation-Date: 2019-08-21 08:30+0000\n" +"PO-Revision-Date: 2019-08-24 11:21+0100\n" +"Last-Translator: Bruce Cowan \n" +"Language-Team: English - United Kingdom \n" +"Language: en_GB\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: Gtranslator 3.32.1\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:36 +msgid "Authenticator" +msgstr "Authenticator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:8 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +#: data/resources/gtk/ui/about_dialog.ui.in:10 +msgid "A Two-Factor Authentication application" +msgstr "A Two-Factor Authentication application" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:11 +msgid "Features:" +msgstr "Features:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "QR code scanner" +msgstr "QR code scanner" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Beautiful UI" +msgstr "Beautiful UI" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +msgid "Huge database of more than 560 supported services" +msgstr "Huge database of more than 560 supported services" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Keep your PIN tokens secure by locking the application with a password" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "Automatically fetch an image for services using their favicon" +msgstr "Automatically fetch an image for services using their favicon" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:18 +msgid "The possibility to add new services" +msgstr "The possibility to add new services" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:19 +msgid "Dark theme and night light" +msgstr "Dark theme and night light" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:25 +msgid "Main Window - empty state" +msgstr "Main Window - empty state" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:29 +#: data/resources/gtk/ui/account_add.ui:15 +msgid "Add a new account" +msgstr "Add a new account" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:33 +msgid "Main Window - Accounts List" +msgstr "Main Window - Accounts List" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "Settings Window" +msgstr "Settings Window" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:170 +msgid "Bilal Elmoussaoui" +msgstr "Bilal Elmoussaoui" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +msgid "Two-factor Authentication" +msgstr "Two-factor Authentication" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;2FA;Authentication;TwoFactor;" +msgstr "Gnome;GTK;Verification;2FA;Authentication;TwoFactor;" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "Default window position" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: data/resources/gtk/ui/settings.ui.in:28 +msgid "Dark Theme" +msgstr "Dark Theme" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: data/resources/gtk/ui/settings.ui.in:29 +#: data/resources/gtk/ui/settings.ui.in:76 +msgid "Whether the application should use a dark theme." +msgstr "Whether the application should use a dark theme." + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: data/resources/gtk/ui/settings.ui.in:83 +msgid "Auto lock timeout" +msgstr "Auto lock timeout" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +msgid "Lock the application on idle after X minutes" +msgstr "Lock the application on idle after X minutes" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +#: data/resources/gtk/ui/settings.ui.in:43 +msgid "Night Light" +msgstr "Night Light" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:22 +#: data/resources/gtk/ui/settings.ui.in:44 +#: data/resources/gtk/ui/settings.ui.in:84 +msgid "Automatically enable dark mode at night." +msgstr "Automatically enable dark mode at night." + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26 +msgid "Default window maximized behaviour" +msgstr "Default window maximised behaviour" + +#: data/resources/gtk/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "Zander Brown " + +#: data/resources/gtk/ui/account_add.ui:33 +msgid "Add" +msgstr "Add" + +#: data/resources/gtk/ui/account_add.ui:53 +msgid "Scan QR Code" +msgstr "Scan QR Code" + +#: data/resources/gtk/ui/account_config.ui:56 +msgid "Account Name" +msgstr "Account Name" + +#: data/resources/gtk/ui/account_config.ui:78 +msgid "Provider" +msgstr "Provider" + +#: data/resources/gtk/ui/account_config.ui:95 +#: data/resources/gtk/ui/account_config.ui:96 +msgid "Enable 2FA for this account" +msgstr "Enable 2FA for this account" + +#: data/resources/gtk/ui/account_config.ui:97 +msgid "2FA Token" +msgstr "2FA Token" + +#: data/resources/gtk/ui/account_config.ui:111 +msgid "Provider Website" +msgstr "Provider Website" + +#: data/resources/gtk/ui/account_edit.ui:31 +msgid "Save" +msgstr "Save" + +#: data/resources/gtk/ui/account_row.ui:22 +msgid "Edit" +msgstr "Edit" + +#: data/resources/gtk/ui/account_row.ui:40 +msgid "Delete" +msgstr "Delete" + +#: data/resources/gtk/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "Copy PIN to clipboard" + +#: data/resources/gtk/ui/password_widget.ui:46 +msgid "Current Password:" +msgstr "Current Password:" + +#: data/resources/gtk/ui/password_widget.ui:91 +msgid "New Password:" +msgstr "New Password:" + +#: data/resources/gtk/ui/password_widget.ui:136 +msgid "Confirm New Password:" +msgstr "Confirm New Password:" + +#: data/resources/gtk/ui/password_widget.ui:184 +#: src/Authenticator/widgets/settings.py:174 +msgid "Change Password" +msgstr "Change Password" + +#: data/resources/gtk/ui/password_widget.ui:205 +msgid "Delete Password" +msgstr "Delete Password" + +#: data/resources/gtk/ui/settings.ui.in:24 +msgid "Appearance" +msgstr "Appearance" + +#: data/resources/gtk/ui/settings.ui.in:75 +#: src/Authenticator/application.py.in:106 +msgid "Lock the application" +msgstr "Lock the application" + +#: data/resources/gtk/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "General" + +#: data/resources/gtk/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Show Shortcuts" + +#: data/resources/gtk/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "Preferences" + +#: data/resources/gtk/ui/shortcuts.ui:31 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Quit" + +#: data/resources/gtk/ui/shortcuts.ui:40 +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Accounts" + +#: data/resources/gtk/ui/shortcuts.ui:44 +msgctxt "shortcut window" +msgid "Add" +msgstr "Add" + +#: data/resources/gtk/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "Search" + +#: data/resources/gtk/ui/window.ui.in:189 +msgid "There are no accounts yet…" +msgstr "There are no accounts yet…" + +#: data/resources/gtk/ui/window.ui.in:218 +msgid "Add a new account from the menu" +msgstr "Add a new account from the menu" + +#: data/resources/gtk/ui/window.ui.in:234 +msgid "Scan a QR Code" +msgstr "Scan a QR Code" + +#: data/resources/gtk/ui/window.ui.in:366 +msgid "No results found" +msgstr "No results found" + +#: data/resources/gtk/ui/window.ui.in:429 +msgid "Authenticator is locked" +msgstr "Authenticator is locked" + +#: data/resources/gtk/ui/window.ui.in:468 +msgid "Unlock" +msgstr "Unlock" + +#: src/authenticator.py.in:49 +msgid "Start in debug mode" +msgstr "Start in debug mode" + +#: src/Authenticator/application.py.in:114 +msgid "from a plain-text JSON file" +msgstr "from a plain-text JSON file" + +#: src/Authenticator/application.py.in:115 +msgid "in a plain-text JSON file" +msgstr "in a plain-text JSON file" + +#: src/Authenticator/application.py.in:117 +msgid "Restore" +msgstr "Restore" + +#: src/Authenticator/application.py.in:118 +msgid "Backup" +msgstr "Backup" + +#. Night mode action +#: src/Authenticator/application.py.in:126 +msgid "Preferences" +msgstr "Preferences" + +#: src/Authenticator/application.py.in:127 +msgid "Donate" +msgstr "Donate" + +#: src/Authenticator/application.py.in:128 +msgid "Keyboard Shortcuts" +msgstr "Keyboard Shortcuts" + +#: src/Authenticator/application.py.in:129 +msgid "About Authenticator" +msgstr "About Authenticator" + +#: src/Authenticator/models/account.py:84 +msgid "Default" +msgstr "Default" + +#: src/Authenticator/widgets/accounts/add.py:247 +msgid "Invalid QR code" +msgstr "Invalid QR code" + +#: src/Authenticator/widgets/accounts/list.py:152 +msgid "The One-Time Passwords expire in {} seconds" +msgstr "The One-Time Passwords expire in {} seconds" + +#: src/Authenticator/widgets/accounts/row.py:90 +msgid "Couldn't generate the secret code" +msgstr "Couldn't generate the secret code" + +#: src/Authenticator/widgets/accounts/row.py:100 +msgid "The PIN of {} was copied to the clipboard" +msgstr "The PIN of {} was copied to the clipboard" + +#: src/Authenticator/widgets/accounts/row.py:141 +msgid "The account was updated successfully" +msgstr "The account was updated successfully" + +#: src/Authenticator/widgets/notification.py:53 +#: src/Authenticator/widgets/notification.py:84 +msgid "Undo" +msgstr "Undo" + +#: src/Authenticator/widgets/notification.py:79 +msgid "Close the notification" +msgstr "Close the notification" + +#: src/Authenticator/widgets/settings.py:170 +msgid "Save Password" +msgstr "Save Password" + +#: src/Authenticator/widgets/settings.py:222 +msgid "Do you want to remove the authentication password?" +msgstr "Do you want to remove the authentication password?" + +#: src/Authenticator/widgets/settings.py:223 +msgid "Authentication password enforces the privacy of your accounts." +msgstr "Authentication password enforces the privacy of your accounts." + +#: src/Authenticator/widgets/utils.py:26 src/Authenticator/widgets/utils.py:31 +msgid "JSON files" +msgstr "JSON files" diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..17fe98e --- /dev/null +++ b/po/es.po @@ -0,0 +1,625 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Authenticator package. +# FIRST AUTHOR , YEAR. +# Rodrigo Lledó , 2019. +# Daniel Mustieles , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: Authenticator\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/Authenticator/issues\n" +"POT-Creation-Date: 2019-07-02 16:11+0000\n" +"PO-Revision-Date: 2019-08-21 10:30+0200\n" +"Last-Translator: Daniel Mustieles \n" +"Language-Team: Spanish - Spain \n" +"Language: es_ES\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: Gtranslator 3.32.1\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:36 +msgid "Authenticator" +msgstr "Authenticator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:8 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +#: data/resources/gtk/ui/about_dialog.ui.in:10 +#| msgid "Two-factor authentication" +msgid "A Two-Factor Authentication application" +msgstr "Una aplicación de autenticación de doble factor" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Aplicación sencilla para generar códigos de autenticación de doble factor, " +"creado para GNOME." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:11 +msgid "Features:" +msgstr "Prestaciones:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "QR code scanner" +msgstr "Escáner de códigos QR" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Beautiful UI" +msgstr "Excelente interfaz de usuario" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +msgid "Huge database of more than 560 supported services" +msgstr "Base de datos enorme con más de 560 dispositivos soportados" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "" +"Mantenga sus testigos de PIN seguros bloqueando la aplicación con una " +"contraseña" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "Automatically fetch an image for services using their favicon" +msgstr "Obtener automáticamente una imagen para servicios que usan el favicon" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:18 +msgid "The possibility to add new services" +msgstr "La posibilidad de añadir servicios nuevos" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:19 +msgid "Dark theme and night light" +msgstr "Tema oscuro y luz nocturna" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:25 +msgid "Main Window - empty state" +msgstr "Ventana principal - estado vacío" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:29 +#: data/resources/gtk/ui/account_add.ui:15 +msgid "Add a new account" +msgstr "Añadir una cuenta nueva" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:33 +msgid "Main Window - Accounts List" +msgstr "Ventana principal - Lista de cuentas" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "Settings Window" +msgstr "Ventana de configuración" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:160 +msgid "Bilal Elmoussaoui" +msgstr "Bilal Elmoussaoui" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +#| msgid "Two-factor authentication" +msgid "Two-factor Authentication" +msgstr "Autenticación de doble factor" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;2FA;Authentication;TwoFactor;" +msgstr "Gnome;GTK;Autenticación;Verificación;2FA;Factores;Pasos;" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "Posición predeterminada de la ventana" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: data/resources/gtk/ui/settings.ui.in:28 +msgid "Dark Theme" +msgstr "Tema oscuro" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: data/resources/gtk/ui/settings.ui.in:29 +#: data/resources/gtk/ui/settings.ui.in:76 +msgid "Whether the application should use a dark theme." +msgstr "Indica si la aplicación usa un tema oscuro." + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: data/resources/gtk/ui/settings.ui.in:83 +msgid "Auto lock timeout" +msgstr "Tiempo de espera del bloqueo automático" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +msgid "Lock the application on idle after X minutes" +msgstr "Bloquear la aplicación tras X minutos de inactividad" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +#: data/resources/gtk/ui/settings.ui.in:43 +msgid "Night Light" +msgstr "Luz nocturna" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:22 +#: data/resources/gtk/ui/settings.ui.in:44 +#: data/resources/gtk/ui/settings.ui.in:84 +msgid "Automatically enable dark mode at night." +msgstr "Activar el modo oscuro automáticamente durante la noche." + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26 +msgid "Default window maximized behaviour" +msgstr "Comportamiento predeterminado al maximizar la ventana" + +#: data/resources/gtk/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "" +"Rodrigo Lledó, \n" +"advocatux , 2018\n" +"Adolfo Jayme Barrientos , 2018" + +#: data/resources/gtk/ui/account_add.ui:33 +msgid "Add" +msgstr "Añadir" + +#: data/resources/gtk/ui/account_add.ui:53 +msgid "Scan QR Code" +msgstr "Escanear código QR" + +#: data/resources/gtk/ui/account_config.ui:56 +msgid "Account Name" +msgstr "Nombre de la cuenta" + +#: data/resources/gtk/ui/account_config.ui:78 +msgid "Provider" +msgstr "Proveedor" + +#: data/resources/gtk/ui/account_config.ui:95 +#: data/resources/gtk/ui/account_config.ui:96 +msgid "Enable 2FA for this account" +msgstr "Activar 2FA en esta cuenta" + +#: data/resources/gtk/ui/account_config.ui:97 +msgid "2FA Token" +msgstr "Testigo 2FA" + +#: data/resources/gtk/ui/account_config.ui:111 +msgid "Provider Website" +msgstr "Página web del proveedor" + +#: data/resources/gtk/ui/account_edit.ui:31 +msgid "Save" +msgstr "Guardar" + +#: data/resources/gtk/ui/account_row.ui:22 +msgid "Edit" +msgstr "Editar" + +#: data/resources/gtk/ui/account_row.ui:40 +msgid "Delete" +msgstr "Eliminar" + +#: data/resources/gtk/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "Copiar PIN al portapapeles" + +#: data/resources/gtk/ui/password_widget.ui:46 +msgid "Current Password:" +msgstr "Contraseña actual:" + +#: data/resources/gtk/ui/password_widget.ui:91 +msgid "New Password:" +msgstr "Contraseña nueva:" + +#: data/resources/gtk/ui/password_widget.ui:136 +msgid "Confirm New Password:" +msgstr "Confirme la contraseña nueva:" + +#: data/resources/gtk/ui/password_widget.ui:184 +#: src/Authenticator/widgets/settings.py:174 +msgid "Change Password" +msgstr "Cambiar la contraseña" + +#: data/resources/gtk/ui/password_widget.ui:205 +msgid "Delete Password" +msgstr "Eliminar la contraseña" + +#: data/resources/gtk/ui/settings.ui.in:24 +msgid "Appearance" +msgstr "Aspecto" + +#: data/resources/gtk/ui/settings.ui.in:75 +#: src/Authenticator/application.py.in:106 +msgid "Lock the application" +msgstr "Bloquear la aplicación" + +#: data/resources/gtk/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "General" + +#: data/resources/gtk/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Mostrar atajos" + +#: data/resources/gtk/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "Preferencias" + +#: data/resources/gtk/ui/shortcuts.ui:31 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Salir" + +#: data/resources/gtk/ui/shortcuts.ui:40 +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Cuentas" + +#: data/resources/gtk/ui/shortcuts.ui:44 +msgctxt "shortcut window" +msgid "Add" +msgstr "Añadir" + +#: data/resources/gtk/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "Buscar" + +#: data/resources/gtk/ui/window.ui.in:189 +msgid "There are no accounts yet…" +msgstr "No hay ninguna cuenta aún…" + +#: data/resources/gtk/ui/window.ui.in:218 +msgid "Add a new account from the menu" +msgstr "Añadir una cuenta nueva desde el menú" + +#: data/resources/gtk/ui/window.ui.in:234 +msgid "Scan a QR Code" +msgstr "Escanear un código QR" + +#: data/resources/gtk/ui/window.ui.in:366 +msgid "No results found" +msgstr "No se encontraron resultados" + +#: data/resources/gtk/ui/window.ui.in:429 +msgid "Authenticator is locked" +msgstr "Authenticator está bloqueado" + +#: data/resources/gtk/ui/window.ui.in:468 +msgid "Unlock" +msgstr "Desbloquear" + +#: src/authenticator.py.in:49 +msgid "Start in debug mode" +msgstr "Iniciar en el modo de depuración" + +#: src/Authenticator/application.py.in:114 +msgid "from a plain-text JSON file" +msgstr "desde un archivo JSON de texto sencillo" + +#: src/Authenticator/application.py.in:115 +msgid "in a plain-text JSON file" +msgstr "en un archivo JSON de texto sencillo" + +#: src/Authenticator/application.py.in:117 +msgid "Restore" +msgstr "Restaurar" + +#: src/Authenticator/application.py.in:118 +msgid "Backup" +msgstr "Copia de seguridad" + +#. Night mode action +#: src/Authenticator/application.py.in:126 +msgid "Preferences" +msgstr "Preferencias" + +#: src/Authenticator/application.py.in:127 +msgid "Donate" +msgstr "Donar" + +#: src/Authenticator/application.py.in:128 +msgid "Keyboard Shortcuts" +msgstr "Atajos de teclado" + +#: src/Authenticator/application.py.in:129 +msgid "About Authenticator" +msgstr "Acerca de Authenticator" + +#: src/Authenticator/models/account.py:84 +msgid "Default" +msgstr "Predeterminado" + +#: src/Authenticator/widgets/accounts/add.py:247 +msgid "Invalid QR code" +msgstr "Código QR no válido" + +#: src/Authenticator/widgets/accounts/list.py:152 +msgid "The One-Time Passwords expire in {} seconds" +msgstr "Las contraseñas de un solo uso caducan en {} segundos" + +#: src/Authenticator/widgets/accounts/row.py:90 +msgid "Couldn't generate the secret code" +msgstr "No se pudo generar el código secreto" + +#: src/Authenticator/widgets/accounts/row.py:100 +msgid "The PIN of {} was copied to the clipboard" +msgstr "El PIN de {} se copió desde el portapapeles" + +#: src/Authenticator/widgets/accounts/row.py:141 +msgid "The account was updated successfully" +msgstr "La cuenta se actualizó correctamente" + +#: src/Authenticator/widgets/notification.py:53 +#: src/Authenticator/widgets/notification.py:84 +msgid "Undo" +msgstr "Deshacer" + +#: src/Authenticator/widgets/notification.py:79 +msgid "Close the notification" +msgstr "Cerrar la notificación" + +#: src/Authenticator/widgets/settings.py:170 +msgid "Save Password" +msgstr "Guardar la contraseña" + +#: src/Authenticator/widgets/settings.py:222 +msgid "Do you want to remove the authentication password?" +msgstr "¿Quiere eliminar la contraseña de autenticación?" + +#: src/Authenticator/widgets/settings.py:223 +msgid "Authentication password enforces the privacy of your accounts." +msgstr "La contraseña de autenticación refuerza la privacidad de sus cuentas." + +#: src/Authenticator/widgets/utils.py:26 src/Authenticator/widgets/utils.py:31 +msgid "JSON files" +msgstr "Archivos JSON" + +#~ msgid "Two-factor authentication code generator" +#~ msgstr "Generador de códigos de autenticación de doble factor" + +#~ msgid "Two-factor authentication code generator." +#~ msgstr "Generador de códigos de autenticación de doble factor." + +#~ msgid "Close" +#~ msgstr "Cerrar" + +#~ msgid "Behaviour" +#~ msgstr "Comportamiento" + +#~ msgid "Authentication password is now enabled." +#~ msgstr "Se ha activado la contraseña de autenticación." + +#~ msgid "The authentication password was updated." +#~ msgstr "Se actualizó la contraseña de autenticación." + +#~ msgid "The authentication password was deleted." +#~ msgstr "Se eliminó la contraseña de autenticación." + +#~ msgid "We couldn't find an image for this provider" +#~ msgstr "No pudimos encontrar una imagen para este proveedor" + +#~ msgid "" +#~ "Since I have moved the application to GOME Gitlab's World group, a " +#~ "Flatpak build for each new commit is available to download from the " +#~ "site's website." +#~ msgstr "" +#~ "Como hemos trasladado la aplicación al grupo «World» de la instancia " +#~ "GitLab de GNOME, hay disponible una compilación Flatpak por cada consigna " +#~ "nueva en el sitio web de la aplicación." + +#~ msgid "Backup and restore from a basic JSON file" +#~ msgstr "" +#~ "Copia de seguridad y restauración a partir de un archivo JSON básico" + +#~ msgid "Backup and restore from an encrypted-GPG JSON file" +#~ msgstr "" +#~ "Copia de seguridad y restauración a partir de un archivo JSON cifrado con " +#~ "GPG" + +#~ msgid "Add andOTP support (free and open Android 2FA application)" +#~ msgstr "" +#~ "Se añadió compatibilidad con andOTP (aplicación libre y abierta de 2FA " +#~ "para Android)" + +#~ msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +#~ msgstr "" +#~ "Renovación de la ventana de configuración con tres secciones: Aspecto, " +#~ "Comportamiento y Copia de seguridad" + +#~ msgid "Fix Flatpak Build with the latest GNOME Runtime" +#~ msgstr "" +#~ "Se reparó la compilación Flatpak con el entorno de ejecución de GNOME más " +#~ "reciente" + +#~ msgid "Move the project to GOME Gitlab's World group" +#~ msgstr "Se trasladó el proyecto al grupo «World» del GitLab de GNOME" + +#~ msgid "GNOME Shell Search provider" +#~ msgstr "Proveedor de búsquedas para GNOME Shell" + +#~ msgid "Codes expire simultaneously #91" +#~ msgstr "Los códigos caducan simultáneamente #91" + +#~ msgid "Revamped main window to more closely follow the GNOME HIG" +#~ msgstr "" +#~ "Reformada la ventana principal para seguir más de cerca las directrices " +#~ "sobre la interfaz humana (HIG) de GNOME" + +#~ msgid "Revamped add a new account window to make it easier to use" +#~ msgstr "Reformada la ventana de adición de cuentas para facilitar su uso" + +#~ msgid "" +#~ "Possibility to add an account from a provider not listed in the shipped " +#~ "database" +#~ msgstr "" +#~ "Posibilidad de añadir una cuenta de un proveedor que no esté incluido en " +#~ "la base de datos incorporada" + +#~ msgid "Possibilty to edit an account" +#~ msgstr "Posibilidad de editar una cuenta" + +#~ msgid "One Time Password now visible by default" +#~ msgstr "" +#~ "Las contraseñas de un solo uso son ahora visibles de manera predeterminada" + +#~ msgid "Fix python-dbus by using GDbus instead" +#~ msgstr "Arreglado el problema de «python-dbus» al usar «GDbus» ahora" + +#~ msgid "Fix the QRScanner on GNOME Shell" +#~ msgstr "Arreglado QRScanner cuando se usa en la «shell» de GNOME" + +#~ msgid "Add a new entry for the account's username" +#~ msgstr "Se añadió una entrada nueva para el nombre de usuario de la cuenta" + +#~ msgid "Updated database of supported accounts" +#~ msgstr "Se actualizó la base de datos de cuentas admitidas" + +#~ msgid "HOTFIX: App not running in DE other than GNOME" +#~ msgstr "" +#~ "ARREGLO RÁPIDO: la aplicación no funcionaba en entornos de escritorio " +#~ "distintos de GNOME" + +#~ msgid "Rename project to Authenticator" +#~ msgstr "Renombrado el proyecto a «Authenticator»" + +#~ msgid "Cleaner code base" +#~ msgstr "Una base de código más limpio" + +#~ msgid "Faster startup" +#~ msgstr "Arranque más rápido" + +#~ msgid "Remove unneeded features" +#~ msgstr "Eliminadas las características innecesarias" + +#~ msgid "Switch to pyzbar instead of zbarlight" +#~ msgstr "Se cambió a «pyzbar» en sustitución de «zbarlight»" + +#~ msgid "Flatpak package" +#~ msgstr "Paquete Flatpak" + +#~ msgid "@appid@" +#~ msgstr "@appid@" + +#~ msgid "Authenticator version number" +#~ msgstr "Número de versión de «Authenticator»" + +#~ msgid "Huge database of (290+) websites/applications" +#~ msgstr "Enorme (+290) base de datos de sitios web y aplicaciones" + +#~ msgid "Night mode" +#~ msgstr "Modo nocturno" + +#~ msgid "Enable/disable night mode within the application" +#~ msgstr "Activar/desactivar el modo nocturno desde dentro de la aplicación" + +#~ msgid "Use a dark theme, if possible" +#~ msgstr "Usar un tema oscuro, si es posible" + +#~ msgid "Keep your accounts safer " +#~ msgstr "Mantenga sus cuentas seguras " + +#~ msgid "Authenticator Password" +#~ msgstr "Contraseña de Authenticator" + +#~ msgid "Edit {} - {}" +#~ msgstr "Editar {} - {}" + +#~ msgid "Authentication password was unset. Please restart the application" +#~ msgstr "" +#~ "La contraseña de autenticación no estaba configurada. Reinicie la " +#~ "aplicación" + +#~ msgid "Open" +#~ msgstr "Abrir" + +#~ msgid "Cancel" +#~ msgstr "Cancelar" + +#~ msgid "Select" +#~ msgstr "Seleccionar" + +#~ msgid "Secret token" +#~ msgstr "Ficha secreta" + +#~ msgid "zbar library is not found. QRCode scanner will be disabled" +#~ msgstr "" +#~ "No se encontró la biblioteca «zbar». Se desactivará el escáner de códigos " +#~ "QR" + +#~ msgid "Copy" +#~ msgstr "Copiar" + +#~ msgid "Search" +#~ msgstr "Buscar" + +#~ msgid "Selection mode" +#~ msgstr "Modo de selección" + +#~ msgid "Click on items to select them" +#~ msgstr "Pulse en los elementos para seleccionarlos" + +#~ msgid "Old Password" +#~ msgstr "Contraseña antigua" + +#~ msgid "Clear the database" +#~ msgstr "Vaciar la base de datos" + +#~ msgid "Erase existing accounts" +#~ msgstr "Eliminar las cuentas existentes" + +#~ msgid "The application needs to be restarted first." +#~ msgstr "Se necesita reiniciar la aplicación primero." + +#~ msgid "The existing accounts will be erased in 5 seconds" +#~ msgstr "Las cuentas existentes se eliminarán en 5 segundos" + +#~ msgid "An account or more were removed." +#~ msgstr "Al menos una cuenta ha sido eliminada." + +#~ msgid "Whether the application is locked with a password or not" +#~ msgstr "Si la aplicación está bloqueada con una contraseña o no" + +#~ msgctxt "shortcut window" +#~ msgid "Select" +#~ msgstr "Seleccionar" + +#, fuzzy +#~ msgid "Authenticator@NAME_SUFFIX@" +#~ msgstr "Authenticator" + +#~ msgid "from an OpenPGP-encrypted JSON file" +#~ msgstr "desde un archivo JSON cifrado con OpenPGP" + +#~ msgid "in an OpenPGP-encrypted JSON file" +#~ msgstr "en un archivo JSON cifrado con OpenPGP" + +#~ msgid "About" +#~ msgstr "Acerca de" + +#~ msgid "GPG paraphrase" +#~ msgstr "Contraseña GPG" + +#~ msgid "Import" +#~ msgstr "Importar" + +#~ msgid "Paraphrase" +#~ msgstr "Contraseña" + +#~ msgid "There was an error during the import of the encrypted file." +#~ msgstr "Se produjo un error al importar el archivo cifrado." + +#~ msgid "GPG fingerprint" +#~ msgstr "Huella GPG" + +#~ msgid "Public keys" +#~ msgstr "Claves públicas" + +#~ msgid "Private keys" +#~ msgstr "Claves privadas" + +#~ msgid "GPG keys location" +#~ msgstr "Ubicación de las claves GPG" + +#~ msgid "Encrypted GPG files" +#~ msgstr "Archivos cifrados con GPG" + +#~ msgid "com.github.bilelmoussaoui.Authenticator" +#~ msgstr "com.github.bilelmoussaoui.Authenticator" diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 0000000..60612f5 --- /dev/null +++ b/po/fi.po @@ -0,0 +1,381 @@ +# Finnish translation for authenticator. +# Copyright (C) 2019 authenticator's COPYRIGHT HOLDER +# This file is distributed under the same license as the authenticator package. +# Jiri Grönroos , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: authenticator master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/Authenticator/issues\n" +"POT-Creation-Date: 2019-07-02 16:11+0000\n" +"PO-Revision-Date: 2019-08-18 17:46+0300\n" +"Last-Translator: Jiri Grönroos \n" +"Language-Team: Finnish \n" +"Language: fi\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: Poedit 2.0.6\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:36 +msgid "Authenticator" +msgstr "Todennin" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:8 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +#: data/resources/gtk/ui/about_dialog.ui.in:10 +msgid "A Two-Factor Authentication application" +msgstr "Kaksivaiheisen todennuksen sovellus" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Yksinkertainen sovellus Gnome-työpöydälle, joka luo kaksivaiheisia " +"todennuskoodeja." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:11 +msgid "Features:" +msgstr "Ominaisuudet:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "QR code scanner" +msgstr "QR-koodin skanneri" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Beautiful UI" +msgstr "Nätti käyttöliittymä" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +msgid "Huge database of more than 560 supported services" +msgstr "Valtava tietokanta kattaen yli 560 tuettua palvelua" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Pidä PIN-koodit turvassa lukitsemalla sovellus salasanalla" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "Automatically fetch an image for services using their favicon" +msgstr "Nouda palvelujen kuva automaattisesti käyttäen faviconia" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:18 +msgid "The possibility to add new services" +msgstr "Mahdollisuus lisätä uusia palveluja" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:19 +msgid "Dark theme and night light" +msgstr "Tumma teema ja yövalo" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:25 +msgid "Main Window - empty state" +msgstr "Pääikkuna - tyhjä tilanne" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:29 +#: data/resources/gtk/ui/account_add.ui:15 +msgid "Add a new account" +msgstr "Lisää uusi tili" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:33 +msgid "Main Window - Accounts List" +msgstr "Pääikkuna - Tililuettelo" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "Settings Window" +msgstr "Asetukset-ikkuna" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:160 +msgid "Bilal Elmoussaoui" +msgstr "Bilal Elmoussaoui" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +msgid "Two-factor Authentication" +msgstr "Kaksivaiheinen todennus" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;2FA;Authentication;TwoFactor;" +msgstr "" +"Gnome;GTK;Verification;2FA;Authentication;TwoFactor;tunnistaminen;vahvistus;" +"kaksivaiheinen;todentaminen;" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "Ikkunan oletussijainti" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: data/resources/gtk/ui/settings.ui.in:28 +msgid "Dark Theme" +msgstr "Tumma teema" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: data/resources/gtk/ui/settings.ui.in:29 +#: data/resources/gtk/ui/settings.ui.in:76 +msgid "Whether the application should use a dark theme." +msgstr "Tuleeko sovelluksen käyttää tummaa teemaa." + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: data/resources/gtk/ui/settings.ui.in:83 +msgid "Auto lock timeout" +msgstr "Automaattinen lukituksen viive" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +msgid "Lock the application on idle after X minutes" +msgstr "Lukitse sovellus X minuutin jälkeen" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +#: data/resources/gtk/ui/settings.ui.in:43 +msgid "Night Light" +msgstr "Yövalo" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:22 +#: data/resources/gtk/ui/settings.ui.in:44 +#: data/resources/gtk/ui/settings.ui.in:84 +msgid "Automatically enable dark mode at night." +msgstr "Ota tumma tila käyttöön automaattisesti yöaikaan." + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26 +msgid "Default window maximized behaviour" +msgstr "Suurennetun ikkunan oletusarvoinen toiminta" + +#: data/resources/gtk/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "Jiri Grönroos" + +#: data/resources/gtk/ui/account_add.ui:33 +msgid "Add" +msgstr "Lisää" + +#: data/resources/gtk/ui/account_add.ui:53 +msgid "Scan QR Code" +msgstr "Skannaa QR-koodi" + +#: data/resources/gtk/ui/account_config.ui:56 +msgid "Account Name" +msgstr "Tilin nimi" + +#: data/resources/gtk/ui/account_config.ui:78 +msgid "Provider" +msgstr "Palveluntarjoaja" + +#: data/resources/gtk/ui/account_config.ui:95 +#: data/resources/gtk/ui/account_config.ui:96 +msgid "Enable 2FA for this account" +msgstr "Ota kaksivaiheinen todentaminen käyttöön tälle tilille" + +#: data/resources/gtk/ui/account_config.ui:97 +msgid "2FA Token" +msgstr "Kaksivaiheinen koodi" + +#: data/resources/gtk/ui/account_config.ui:111 +msgid "Provider Website" +msgstr "Tarjoajan sivusto" + +#: data/resources/gtk/ui/account_edit.ui:31 +msgid "Save" +msgstr "Tallenna" + +#: data/resources/gtk/ui/account_row.ui:22 +msgid "Edit" +msgstr "Muokkaa" + +#: data/resources/gtk/ui/account_row.ui:40 +msgid "Delete" +msgstr "Poista" + +#: data/resources/gtk/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "Kopioi PIN leikepöydälle" + +#: data/resources/gtk/ui/password_widget.ui:46 +msgid "Current Password:" +msgstr "Nykyinen salasana:" + +#: data/resources/gtk/ui/password_widget.ui:91 +msgid "New Password:" +msgstr "Uusi salasana:" + +#: data/resources/gtk/ui/password_widget.ui:136 +msgid "Confirm New Password:" +msgstr "Vahvista uusi salasana:" + +#: data/resources/gtk/ui/password_widget.ui:184 +#: src/Authenticator/widgets/settings.py:174 +msgid "Change Password" +msgstr "Vaihda salasana" + +#: data/resources/gtk/ui/password_widget.ui:205 +msgid "Delete Password" +msgstr "Poista salasana" + +#: data/resources/gtk/ui/settings.ui.in:24 +msgid "Appearance" +msgstr "Ulkoasu" + +#: data/resources/gtk/ui/settings.ui.in:75 +#: src/Authenticator/application.py.in:106 +msgid "Lock the application" +msgstr "Lukitse sovellus" + +#: data/resources/gtk/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "Yleiset" + +#: data/resources/gtk/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Näytä pikanäppäimet" + +#: data/resources/gtk/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "Asetukset" + +#: data/resources/gtk/ui/shortcuts.ui:31 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Lopeta" + +#: data/resources/gtk/ui/shortcuts.ui:40 +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Tilit" + +#: data/resources/gtk/ui/shortcuts.ui:44 +msgctxt "shortcut window" +msgid "Add" +msgstr "Lisää" + +#: data/resources/gtk/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "Haku" + +#: data/resources/gtk/ui/window.ui.in:189 +msgid "There are no accounts yet…" +msgstr "Ei vielä tilejä…" + +#: data/resources/gtk/ui/window.ui.in:218 +msgid "Add a new account from the menu" +msgstr "Lisää uusi tili valikosta" + +#: data/resources/gtk/ui/window.ui.in:234 +msgid "Scan a QR Code" +msgstr "Skannaa QR-koodi" + +#: data/resources/gtk/ui/window.ui.in:366 +msgid "No results found" +msgstr "Tuloksia ei löytynyt" + +#: data/resources/gtk/ui/window.ui.in:429 +msgid "Authenticator is locked" +msgstr "Todennin on lukittu" + +#: data/resources/gtk/ui/window.ui.in:468 +msgid "Unlock" +msgstr "Avaa lukitus" + +#: src/authenticator.py.in:49 +msgid "Start in debug mode" +msgstr "Käynnistä vianselvitystilassa" + +#: src/Authenticator/application.py.in:114 +msgid "from a plain-text JSON file" +msgstr "raakatekstipohjaisesta JSON-tiedostosta" + +#: src/Authenticator/application.py.in:115 +msgid "in a plain-text JSON file" +msgstr "raakatekstipohjaisessa JSON-tiedostossa" + +#: src/Authenticator/application.py.in:117 +msgid "Restore" +msgstr "Palauta" + +#: src/Authenticator/application.py.in:118 +msgid "Backup" +msgstr "Varmuuskopioi" + +#. Night mode action +#: src/Authenticator/application.py.in:126 +msgid "Preferences" +msgstr "Asetukset" + +#: src/Authenticator/application.py.in:127 +msgid "Donate" +msgstr "Lahjoita" + +#: src/Authenticator/application.py.in:128 +msgid "Keyboard Shortcuts" +msgstr "Pikanäppäimet" + +#: src/Authenticator/application.py.in:129 +msgid "About Authenticator" +msgstr "Tietoja - Todennin" + +#: src/Authenticator/models/account.py:84 +msgid "Default" +msgstr "Oletus" + +#: src/Authenticator/widgets/accounts/add.py:247 +msgid "Invalid QR code" +msgstr "Virheellinen QR-koodi" + +#: src/Authenticator/widgets/accounts/list.py:152 +msgid "The One-Time Passwords expire in {} seconds" +msgstr "Kertakäyttösalasanat vanhenevat {} sekunnissa" + +#: src/Authenticator/widgets/accounts/row.py:90 +msgid "Couldn't generate the secret code" +msgstr "Salaista koodia ei voitu luoda" + +#: src/Authenticator/widgets/accounts/row.py:100 +msgid "The PIN of {} was copied to the clipboard" +msgstr "Palvelun {} PIN kopioitiin leikepöydälle" + +#: src/Authenticator/widgets/accounts/row.py:141 +msgid "The account was updated successfully" +msgstr "Tili päivitettiin onnistuneesti" + +#: src/Authenticator/widgets/notification.py:53 +#: src/Authenticator/widgets/notification.py:84 +msgid "Undo" +msgstr "Kumoa" + +#: src/Authenticator/widgets/notification.py:79 +msgid "Close the notification" +msgstr "Sulje ilmoitus" + +#: src/Authenticator/widgets/settings.py:170 +msgid "Save Password" +msgstr "Tallenna salasana" + +#: src/Authenticator/widgets/settings.py:222 +msgid "Do you want to remove the authentication password?" +msgstr "Haluatko poistaa todentimen salasanan?" + +#: src/Authenticator/widgets/settings.py:223 +msgid "Authentication password enforces the privacy of your accounts." +msgstr "Todentimen salasana parantaa tiliesi yksityisyyttä." + +#: src/Authenticator/widgets/utils.py:26 src/Authenticator/widgets/utils.py:31 +msgid "JSON files" +msgstr "JSON-tiedostot" + +#~ msgid "Two-factor authentication code generator" +#~ msgstr "Kaksivaiheisen todennuskoodien generaattori" + +#~ msgid "Two-factor authentication code generator." +#~ msgstr "Kaksivaiheisen todennuskoodin generaattori" + +#~ msgid "Authentication password is now enabled." +#~ msgstr "Todentimen salasana on nyt käytössä." + +#~ msgid "The authentication password was updated." +#~ msgstr "Todentimen salasana päivitettiin." + +#~ msgid "The authentication password was deleted." +#~ msgstr "Todentimen salasana poistettiin." diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..93c843c --- /dev/null +++ b/po/fr.po @@ -0,0 +1,693 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Bilal Elmoussaoui , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Authenticator\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2019-03-30 12:03+0000\n" +"Last-Translator: Estébastien Robespi \n" +"Language-Team: French \n" +"Language: fr\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 3.6-dev\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "Authentificateur" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +msgid "Two-factor authentication code generator" +msgstr "Générateur de code d'authentification à deux facteurs" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Une application simple pour générer des codes de validation en deux étapes, " +"créée pour GNOME." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "Fonctionnalités :" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "Lecteur de QR code" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "Interface élégante" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Verrouiller l'application avec un mot de passe" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" +"Puisque que j'ai déplacé l'appli sur le groupe « World » du gitlab de GNOME, " +"les résultats Flatpak pour chaque soumission sont téléchargeables depuis le " +"site de l'appli." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "" +"Sauvegarde de sécurité et restauration à partir d'un simple fichier JSON" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "Sauvegarde et restauration à partir fichier JSON chiffré par GPG" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "" +"Ajouter la prise en charge d'andOTP (appli Android 2FA libre et ouverte)" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "" +"Remodelage de la fenêtre des réglages par sections : Apparence, Comportement " +"et Sauvegarde" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +msgid "Move the project to GOME Gitlab's World group" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +msgid "One Time Password now visible by default" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +msgid "Rename project to Authenticator" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +#, fuzzy +msgid "Cleaner code base" +msgstr "Effacer la base de données" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +msgid "Remove unneeded features" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +msgid "Two-factor authentication" +msgstr "Identification en deux étapes" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "Position de fenêtre par défaut" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +#, fuzzy +msgid "Dark Theme" +msgstr "Thème sombre" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +msgid "Whether the application should use a dark theme." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "" + +#: data/ui/about_dialog.ui.in:10 +msgid "Two-factor authentication code generator." +msgstr "Générateur de code d'authentification à deux facteurs." + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "" + +#: data/ui/account_add.ui:22 +msgid "Add a new account" +msgstr "Ajouter un nouveau compte" + +#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19 +msgid "Close" +msgstr "Fermer" + +#: data/ui/account_add.ui:34 +msgid "Add" +msgstr "Ajouter" + +#: data/ui/account_add.ui:54 +#, fuzzy +msgid "Scan QR Code" +msgstr "Scanner un QR code" + +#: data/ui/account_config.ui:85 +msgid "Enable 2FA for this account" +msgstr "" + +#: data/ui/account_config.ui:86 +msgid "2FA Token" +msgstr "" + +#: data/ui/account_config.ui:100 +#, fuzzy +msgid "Account Name" +msgstr "Compte" + +#: data/ui/account_config.ui:123 +msgid "Provider" +msgstr "Prestataire" + +#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50 +msgid "Save" +msgstr "Enregistrer" + +#: data/ui/account_row.ui:23 +msgid "Edit" +msgstr "Éditer" + +#: data/ui/account_row.ui:41 +#, fuzzy +msgid "Delete" +msgstr "Supprimer" + +#: data/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "" + +#: data/ui/password_widget.ui:46 +#, fuzzy +msgid "Current Password:" +msgstr "Répétez le mot de passe" + +#: data/ui/password_widget.ui:90 +#, fuzzy +msgid "New Password:" +msgstr "Nouveau mot de passe" + +#: data/ui/password_widget.ui:135 +#, fuzzy +msgid "Confirm New Password:" +msgstr "Nouveau mot de passe" + +#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208 +#, fuzzy +msgid "Change Password" +msgstr "Mot de passe" + +#: data/ui/password_widget.ui:204 +#, fuzzy +msgid "Delete Password" +msgstr "Répétez le mot de passe" + +#: data/ui/provider_image.ui:41 +msgid "We couldn't find an image for this provider" +msgstr "" + +#. Night mode action +#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112 +msgid "Preferences" +msgstr "Préférences" + +#: data/ui/settings.ui.in:95 +#, fuzzy +msgid "Behaviour" +msgstr "Comportement" + +#: data/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "Généralité" + +#: data/ui/shortcuts.ui:17 +#, fuzzy +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Raccourcis clavier" + +#: data/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "Réglages" + +#: data/ui/shortcuts.ui:31 +#, fuzzy +msgctxt "shortcut window" +msgid "Quit" +msgstr "Quitter" + +#: data/ui/shortcuts.ui:40 +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Comptes" + +#: data/ui/shortcuts.ui:44 +msgctxt "shortcut window" +msgid "Add" +msgstr "Ajouter" + +#: data/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "Rechercher" + +#: data/ui/window.ui.in:182 +msgid "There are no accounts yet…" +msgstr "Il n'y a aucun compte pour le moment…" + +#: data/ui/window.ui.in:211 +#, fuzzy +msgid "Add a new account from the menu" +msgstr "Ajouter un nouveau compte" + +#: data/ui/window.ui.in:227 +#, fuzzy +msgid "Scan a QR Code" +msgstr "Scanner un QR code" + +#: data/ui/window.ui.in:373 +msgid "No results found" +msgstr "" + +#: data/ui/window.ui.in:437 +msgid "Authenticator is locked" +msgstr "L'identificateur est verrouillé" + +#: data/ui/window.ui.in:476 +msgid "Unlock" +msgstr "Déverrouiller" + +#: src/authenticator.py.in:50 +msgid "Start in debug mode" +msgstr "Démarrer en mode débogage" + +#: src/authenticator.py.in:52 +msgid "Authenticator version number" +msgstr "Numéro de version d'identification" + +#: src/Authenticator/application.py.in:92 +#: src/Authenticator/widgets/settings.py:92 +#, fuzzy +msgid "Lock the application" +msgstr "Verrouiller l'application" + +#: src/Authenticator/application.py.in:100 +msgid "from a plain-text JSON file" +msgstr "à partir d'un fichier texte JSON" + +#: src/Authenticator/application.py.in:101 +msgid "in a plain-text JSON file" +msgstr "dans un fichier texte JSON" + +#: src/Authenticator/application.py.in:103 +msgid "Restore" +msgstr "Restaurer" + +#: src/Authenticator/application.py.in:104 +msgid "Backup" +msgstr "Sauvegarde" + +#: src/Authenticator/application.py.in:113 +msgid "Donate" +msgstr "Donner" + +#: src/Authenticator/application.py.in:114 +#, fuzzy +msgid "Keyboard Shortcuts" +msgstr "Raccourcis clavier" + +#: src/Authenticator/application.py.in:115 +msgid "About Authenticator" +msgstr "À propos d'Authenticator" + +#: src/Authenticator/models/account.py:71 +msgid "Default" +msgstr "Défaut" + +#: src/Authenticator/widgets/accounts/add.py:58 +msgid "Invalid QR code" +msgstr "QR Code invalide" + +#: src/Authenticator/widgets/accounts/list.py:143 +msgid "The One-Time Passwords expires in {} seconds" +msgstr "Le mot de passe à usage unique expire dans {} secondes" + +#: src/Authenticator/widgets/accounts/row.py:80 +msgid "Couldn't generate the secret code" +msgstr "Le code secret n'a pas pu être généré" + +#: src/Authenticator/widgets/accounts/row.py:91 +msgid "The PIN of {} was copied to the clipboard" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:123 +msgid "The account was updated successfully" +msgstr "" + +#: src/Authenticator/widgets/notification.py:43 +#, fuzzy +msgid "Close the notification" +msgstr "Supprimer l'application" + +#: src/Authenticator/widgets/notification.py:48 +#: src/Authenticator/widgets/notification.py:63 +msgid "Undo" +msgstr "Annuler" + +#: src/Authenticator/widgets/settings.py:93 +msgid "Lock the application with a password" +msgstr "Verrouiller l'application avec un mot de passe" + +#: src/Authenticator/widgets/settings.py:157 +#, fuzzy +msgid "Authentication password is now enabled." +msgstr "" +"Le mot de passe d'identification est en place. Veuillez redémarrer " +"l'application." + +#: src/Authenticator/widgets/settings.py:159 +#, fuzzy +msgid "The authentication password was updated." +msgstr "Mot de passe d'identification" + +#: src/Authenticator/widgets/settings.py:163 +#, fuzzy +msgid "The authentication password was deleted." +msgstr "Mot de passe d'identification" + +#: src/Authenticator/widgets/settings.py:204 +#, fuzzy +msgid "Save Password" +msgstr "Mot de passe" + +#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45 +msgid "JSON files" +msgstr "Fichiers JSON" + +#~ msgid "Huge database of (290+) websites/applications" +#~ msgstr "Très nombreux (plus de 290) sites et applis pris en charge" + +#~ msgid "Night mode" +#~ msgstr "Mode sombre" + +#~ msgid "Use a dark theme, if possible" +#~ msgstr "Utiliser un thème sombre, si possible" + +#~ msgid "Keep your accounts safer " +#~ msgstr "Augmentez la sécurité de vos comptes " + +#~ msgid "Settings" +#~ msgstr "Préférenes" + +#~ msgid "Edit {} - {}" +#~ msgstr "Modifier {} - {}" + +#~ msgid "Authentication password was unset. Please restart the application" +#~ msgstr "" +#~ "Le mot de passe d'identification n'a pas été paramétré. Veuillez " +#~ "redémarrer l'application." + +#~ msgid "Open" +#~ msgstr "Ouvrir" + +#~ msgid "Cancel" +#~ msgstr "Annuler" + +#~ msgid "Select" +#~ msgstr "Sélectionner" + +#, fuzzy +#~ msgid "Secret token" +#~ msgstr "Code secret" + +#~ msgid "Copy" +#~ msgstr "Copier" + +#~ msgid "Search" +#~ msgstr "Chercher" + +#~ msgid "Selection mode" +#~ msgstr "Mode de séléction" + +#~ msgid "Click on items to select them" +#~ msgstr "Cliquer sur des éléments pour les sélectionner" + +#, fuzzy +#~ msgid "Old Password" +#~ msgstr "Ancien mot de passe" + +#~ msgid "Appearance" +#~ msgstr "Apparence" + +#~ msgid "Erase existing accounts" +#~ msgstr "Effacer les comptes existants" + +#, fuzzy +#~ msgctxt "shortcut window" +#~ msgid "Select" +#~ msgstr "Mode de séléction" + +#~ msgid "About" +#~ msgstr "A propos" + +#~ msgid "Import" +#~ msgstr "Importer" + +#~ msgid "GPG fingerprint" +#~ msgstr "Empreinte GPG" + +#~ msgid "Public keys" +#~ msgstr "Clés publiques" + +#~ msgid "Private keys" +#~ msgstr "Clé privée" + +#~ msgid "GPG keys location" +#~ msgstr "Emplacement des clés GPG" + +#, fuzzy +#~ msgid "Backup Password" +#~ msgstr "Changer le mot de passe" + +#~ msgid "Next" +#~ msgstr "Suivant" + +#~ msgctxt "shortcut window" +#~ msgid "Add a new application" +#~ msgstr "Ajouter une nouvelle application" + +#~ msgctxt "shortcut window" +#~ msgid "Select next application" +#~ msgstr "Sélectionner l'application suivante" + +#~ msgctxt "shortcut window" +#~ msgid "Select previous application" +#~ msgstr "Sélectionner l'application précédente" + +#~ msgctxt "shortcut window" +#~ msgid "Selection mode" +#~ msgstr "Mode de sélection" + +#~ msgid "" +#~ "This program comes with absolutely no warranty. See the GNU General Public License, version 3 " +#~ "or later for details." +#~ msgstr "" +#~ "Ce programme est fourni sans aucune garantie. Pour plus de détails, " +#~ "visitez Licence " +#~ "publique générale limitée GNU, version 2.1 ou ultérieure." + +#~ msgid "Do you really want to remove selected applications?" +#~ msgstr "Vouliez-vous vraiment supprimer les applications sélectionnées ?" + +#~ msgid "Enter your password" +#~ msgstr "Entrez votre mot de passe" + +#~ msgid "Remove selected applications" +#~ msgstr "Supprimer les applications sélectionnées" + +#~ msgid "Do you really want to remove the application?" +#~ msgstr "Voulez vous vraiment supprimer cet application ?" + +#~ msgid "Apply" +#~ msgstr "Appliquer" + +#~ msgid "Select an application" +#~ msgstr "Choisir une application" + +#~ msgid "Password protection" +#~ msgstr "Mot de passe de protection" + +#~ msgid "Auto-lock the application (m):" +#~ msgstr "Auto-verrouillage de l'application (m) :" + +#~ msgid "Secret code generation time (s) :" +#~ msgstr "Temps de génération du code secret (s) :" + +#~ msgid "Copy the generated code" +#~ msgstr "Copier le mot de passe généré" + +#~ msgid "Expires in %s seconds" +#~ msgstr "Expires dans %s secondes" + +#~ msgid "Error during the generation of code" +#~ msgstr "Erreur durant la génération du code secret" + +#~ msgid "Add an application" +#~ msgstr "Ajouter une application" + +#~ msgid "Application Name" +#~ msgstr "Nom d'application" diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 0000000..5d2fdf1 --- /dev/null +++ b/po/hu.po @@ -0,0 +1,368 @@ +# Hungarian translation for authenticator. +# Copyright (C) 2019 Free Software Foundation, Inc. +# This file is distributed under the same license as the authenticator package. +# +# Balázs Úr , 2019. +msgid "" +msgstr "" +"Project-Id-Version: authenticator master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/Authenticator/issues\n" +"POT-Creation-Date: 2019-07-02 16:11+0000\n" +"PO-Revision-Date: 2019-08-24 23:07+0200\n" +"Last-Translator: Balázs Úr \n" +"Language-Team: Hungarian \n" +"Language: hu\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: Lokalize 18.12.3\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:36 +msgid "Authenticator" +msgstr "Hitelesítő" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:8 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +#: data/resources/gtk/ui/about_dialog.ui.in:10 +#| msgid "Two-factor authentication" +msgid "A Two-Factor Authentication application" +msgstr "Egy kétlépcsős hitelesítő alkalmazás" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Egyszerű alkalmazása a GNOME asztali környezethez, amely kétlépcsős " +"hitelesítő kódot állít elő." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:11 +msgid "Features:" +msgstr "Funkciók:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "QR code scanner" +msgstr "QR-kód beolvasó" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Beautiful UI" +msgstr "Gyönyörű felhasználói felület" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +msgid "Huge database of more than 560 supported services" +msgstr "Hatalmas adatbázis több mint 560 támogatott szolgáltatással" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "" +"Tartsa a PIN tokenjeit biztonságban és zárolja az alkalmazást jelszóval" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "Automatically fetch an image for services using their favicon" +msgstr "" +"Kép automatikus lekérése a szolgáltatásokhoz a böngészőikonjuk használatával" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:18 +msgid "The possibility to add new services" +msgstr "A lehetőség új szolgáltatások hozzáadásához" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:19 +msgid "Dark theme and night light" +msgstr "Sötét téma és nappali fény" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:25 +msgid "Main Window - empty state" +msgstr "Főablak – üres állapot" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:29 +#: data/resources/gtk/ui/account_add.ui:15 +msgid "Add a new account" +msgstr "Új fiók hozzáadása" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:33 +msgid "Main Window - Accounts List" +msgstr "Főablak – Fiókok listája" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "Settings Window" +msgstr "Beállítások ablak" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:160 +msgid "Bilal Elmoussaoui" +msgstr "Bilal Elmoussaoui" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +#| msgid "Two-factor authentication" +msgid "Two-factor Authentication" +msgstr "Kétlépcsős hitelesítés" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;2FA;Authentication;TwoFactor;" +msgstr "GNOME;GTK;Ellenőrzés;2FA;Hitelesítés;Kétlépcsős;" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "Alapértelmezett ablakhelyzet" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: data/resources/gtk/ui/settings.ui.in:28 +msgid "Dark Theme" +msgstr "Sötét téma" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: data/resources/gtk/ui/settings.ui.in:29 +#: data/resources/gtk/ui/settings.ui.in:76 +msgid "Whether the application should use a dark theme." +msgstr "Az alkalmazás használjon-e sötét témát." + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: data/resources/gtk/ui/settings.ui.in:83 +msgid "Auto lock timeout" +msgstr "Automatikus zárolás időtúllépése" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +msgid "Lock the application on idle after X minutes" +msgstr "Az alkalmazás zárolása X perc tétlenség után" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +#: data/resources/gtk/ui/settings.ui.in:43 +msgid "Night Light" +msgstr "Nappali fény" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:22 +#: data/resources/gtk/ui/settings.ui.in:44 +#: data/resources/gtk/ui/settings.ui.in:84 +msgid "Automatically enable dark mode at night." +msgstr "Sötét mód automatikus engedélyezése éjszaka." + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26 +msgid "Default window maximized behaviour" +msgstr "Alapértelmezett ablak maximalizált viselkedés" + +#: data/resources/gtk/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "Úr Balázs , 2018, 2019." + +#: data/resources/gtk/ui/account_add.ui:33 +msgid "Add" +msgstr "Hozzáadás" + +#: data/resources/gtk/ui/account_add.ui:53 +msgid "Scan QR Code" +msgstr "QR-kód beolvasása" + +#: data/resources/gtk/ui/account_config.ui:56 +msgid "Account Name" +msgstr "Fiók neve" + +#: data/resources/gtk/ui/account_config.ui:78 +msgid "Provider" +msgstr "Szolgáltató" + +#: data/resources/gtk/ui/account_config.ui:95 +#: data/resources/gtk/ui/account_config.ui:96 +msgid "Enable 2FA for this account" +msgstr "2FA engedélyezése ehhez a fiókhoz" + +#: data/resources/gtk/ui/account_config.ui:97 +msgid "2FA Token" +msgstr "2FA token" + +#: data/resources/gtk/ui/account_config.ui:111 +msgid "Provider Website" +msgstr "Szolgáltató weboldala" + +#: data/resources/gtk/ui/account_edit.ui:31 +msgid "Save" +msgstr "Mentés" + +#: data/resources/gtk/ui/account_row.ui:22 +msgid "Edit" +msgstr "Szerkesztés" + +#: data/resources/gtk/ui/account_row.ui:40 +msgid "Delete" +msgstr "Törlés" + +#: data/resources/gtk/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "PIN-kód másolása a vágólapra" + +#: data/resources/gtk/ui/password_widget.ui:46 +msgid "Current Password:" +msgstr "Jelenlegi jelszó:" + +#: data/resources/gtk/ui/password_widget.ui:91 +msgid "New Password:" +msgstr "Új jelszó:" + +#: data/resources/gtk/ui/password_widget.ui:136 +msgid "Confirm New Password:" +msgstr "Új jelszó megerősítése:" + +#: data/resources/gtk/ui/password_widget.ui:184 +#: src/Authenticator/widgets/settings.py:174 +msgid "Change Password" +msgstr "Jelszó megváltoztatása" + +#: data/resources/gtk/ui/password_widget.ui:205 +msgid "Delete Password" +msgstr "Jelszó törlése" + +#: data/resources/gtk/ui/settings.ui.in:24 +msgid "Appearance" +msgstr "Megjelenés" + +#: data/resources/gtk/ui/settings.ui.in:75 +#: src/Authenticator/application.py.in:106 +msgid "Lock the application" +msgstr "Az alkalmazás zárolása" + +#: data/resources/gtk/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "Általános" + +#: data/resources/gtk/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Gyorsbillentyűk megjelenítése" + +#: data/resources/gtk/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "Beállítások" + +#: data/resources/gtk/ui/shortcuts.ui:31 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Kilépés" + +#: data/resources/gtk/ui/shortcuts.ui:40 +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Fiókok" + +#: data/resources/gtk/ui/shortcuts.ui:44 +msgctxt "shortcut window" +msgid "Add" +msgstr "Hozzáadás" + +#: data/resources/gtk/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "Keresés" + +#: data/resources/gtk/ui/window.ui.in:189 +msgid "There are no accounts yet…" +msgstr "Még nincsenek fiókok…" + +#: data/resources/gtk/ui/window.ui.in:218 +msgid "Add a new account from the menu" +msgstr "Új fiók hozzáadása a menüből" + +#: data/resources/gtk/ui/window.ui.in:234 +msgid "Scan a QR Code" +msgstr "QR-kód beolvasása" + +#: data/resources/gtk/ui/window.ui.in:366 +msgid "No results found" +msgstr "Nincsenek találatok" + +#: data/resources/gtk/ui/window.ui.in:429 +msgid "Authenticator is locked" +msgstr "A Hitelesítő zárolva van" + +#: data/resources/gtk/ui/window.ui.in:468 +msgid "Unlock" +msgstr "Feloldás" + +#: src/authenticator.py.in:49 +msgid "Start in debug mode" +msgstr "Indítás hibakeresési módban" + +#: src/Authenticator/application.py.in:114 +msgid "from a plain-text JSON file" +msgstr "egyszerű szöveges JSON-fájlból" + +#: src/Authenticator/application.py.in:115 +msgid "in a plain-text JSON file" +msgstr "egyszerű szöveges JSON-fájlba" + +#: src/Authenticator/application.py.in:117 +msgid "Restore" +msgstr "Visszaállítás" + +#: src/Authenticator/application.py.in:118 +msgid "Backup" +msgstr "Biztonsági mentés" + +#. Night mode action +#: src/Authenticator/application.py.in:126 +msgid "Preferences" +msgstr "Beállítások" + +#: src/Authenticator/application.py.in:127 +msgid "Donate" +msgstr "Adományozás" + +#: src/Authenticator/application.py.in:128 +msgid "Keyboard Shortcuts" +msgstr "Gyorsbillentyűk" + +#: src/Authenticator/application.py.in:129 +msgid "About Authenticator" +msgstr "A Hitelesítő névjegye" + +#: src/Authenticator/models/account.py:84 +msgid "Default" +msgstr "Alapértelmezett" + +#: src/Authenticator/widgets/accounts/add.py:247 +msgid "Invalid QR code" +msgstr "Érvénytelen QR-kód" + +#: src/Authenticator/widgets/accounts/list.py:152 +msgid "The One-Time Passwords expire in {} seconds" +msgstr "Az egyszer használatos jelszavak {} másodperc múlva lejárnak" + +#: src/Authenticator/widgets/accounts/row.py:90 +msgid "Couldn't generate the secret code" +msgstr "Nem sikerült előállítani a titkos kódot" + +#: src/Authenticator/widgets/accounts/row.py:100 +msgid "The PIN of {} was copied to the clipboard" +msgstr "A(z) {} PIN-kódja a vágólapra lett másolva" + +#: src/Authenticator/widgets/accounts/row.py:141 +msgid "The account was updated successfully" +msgstr "A fiók sikeresen frissítve lett" + +#: src/Authenticator/widgets/notification.py:53 +#: src/Authenticator/widgets/notification.py:84 +msgid "Undo" +msgstr "Visszavonás" + +#: src/Authenticator/widgets/notification.py:79 +msgid "Close the notification" +msgstr "Az értesítés bezárása" + +#: src/Authenticator/widgets/settings.py:170 +msgid "Save Password" +msgstr "Jelszó mentése" + +#: src/Authenticator/widgets/settings.py:222 +msgid "Do you want to remove the authentication password?" +msgstr "El szeretné távolítani a hitelesítési jelszót?" + +#: src/Authenticator/widgets/settings.py:223 +msgid "Authentication password enforces the privacy of your accounts." +msgstr "A hitelesítési jelszó megerősíti a fiókjai védelmét." + +#: src/Authenticator/widgets/utils.py:26 src/Authenticator/widgets/utils.py:31 +msgid "JSON files" +msgstr "JSON-fájlok" diff --git a/po/id.po b/po/id.po new file mode 100644 index 0000000..56882c2 --- /dev/null +++ b/po/id.po @@ -0,0 +1,675 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2019-03-16 10:02+0000\n" +"Last-Translator: yusuf afandi \n" +"Language-Team: Indonesian \n" +"Language: id\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 3.6-dev\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "AutentiksiDuaFaktor" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +#, fuzzy +msgid "Two-factor authentication code generator" +msgstr "Pembuat kode autentikasi dua faktor." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +#, fuzzy +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Aplikasi sederhana untuk menghasilkan kode autentifikasi 2 faktor, dibuat " +"untuk Gnome" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "Fitur:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "Pembaca QR code" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Kunci aplikasi" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +msgid "Move the project to GOME Gitlab's World group" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +msgid "One Time Password now visible by default" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +#, fuzzy +msgid "Rename project to Authenticator" +msgstr "Tentang Authenticator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +msgid "Cleaner code base" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +#, fuzzy +msgid "Remove unneeded features" +msgstr "Hapus akun terpilih" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +#, fuzzy +msgid "Two-factor authentication" +msgstr "Autentikasi Dua Faktor" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "Gnome;GTK;Verifikasi;" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +msgid "Dark Theme" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +msgid "Whether the application should use a dark theme." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "" + +#: data/ui/about_dialog.ui.in:10 +#, fuzzy +msgid "Two-factor authentication code generator." +msgstr "Pembuat kode autentikasi dua faktor." + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "kredit-penerjemah" + +#: data/ui/account_add.ui:22 +msgid "Add a new account" +msgstr "Tambah akun baru" + +#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19 +msgid "Close" +msgstr "Tutup" + +#: data/ui/account_add.ui:34 +msgid "Add" +msgstr "Tambah" + +#: data/ui/account_add.ui:54 +#, fuzzy +msgid "Scan QR Code" +msgstr "Pindai kode QR" + +#: data/ui/account_config.ui:85 +msgid "Enable 2FA for this account" +msgstr "" + +#: data/ui/account_config.ui:86 +msgid "2FA Token" +msgstr "" + +#: data/ui/account_config.ui:100 +#, fuzzy +msgid "Account Name" +msgstr "Nama Akun" + +#: data/ui/account_config.ui:123 +msgid "Provider" +msgstr "" + +#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50 +msgid "Save" +msgstr "" + +#: data/ui/account_row.ui:23 +msgid "Edit" +msgstr "" + +#: data/ui/account_row.ui:41 +msgid "Delete" +msgstr "Hapus" + +#: data/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "" + +#: data/ui/password_widget.ui:46 +#, fuzzy +msgid "Current Password:" +msgstr "Ulangan kata sandi baru" + +#: data/ui/password_widget.ui:90 +#, fuzzy +msgid "New Password:" +msgstr "Kata sandi baru" + +#: data/ui/password_widget.ui:135 +#, fuzzy +msgid "Confirm New Password:" +msgstr "Kata sandi baru" + +#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208 +#, fuzzy +msgid "Change Password" +msgstr "Kata sandi lama" + +#: data/ui/password_widget.ui:204 +#, fuzzy +msgid "Delete Password" +msgstr "Ulangan kata sandi baru" + +#: data/ui/provider_image.ui:41 +msgid "We couldn't find an image for this provider" +msgstr "" + +#. Night mode action +#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112 +msgid "Preferences" +msgstr "" + +#: data/ui/settings.ui.in:95 +#, fuzzy +msgid "Behaviour" +msgstr "Kebiasaan" + +#: data/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "Umum" + +#: data/ui/shortcuts.ui:17 +#, fuzzy +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Jalan pintas" + +#: data/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "" + +#: data/ui/shortcuts.ui:31 +#, fuzzy +msgctxt "shortcut window" +msgid "Quit" +msgstr "Keluar" + +#: data/ui/shortcuts.ui:40 +#, fuzzy +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Akun" + +#: data/ui/shortcuts.ui:44 +#, fuzzy +msgctxt "shortcut window" +msgid "Add" +msgstr "Tambah" + +#: data/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "Cari" + +#: data/ui/window.ui.in:182 +#, fuzzy +msgid "There are no accounts yet…" +msgstr "Tidak ada akun saat ini..." + +#: data/ui/window.ui.in:211 +#, fuzzy +msgid "Add a new account from the menu" +msgstr "Tambah akun baru" + +#: data/ui/window.ui.in:227 +#, fuzzy +msgid "Scan a QR Code" +msgstr "Pindai kode QR" + +#: data/ui/window.ui.in:373 +msgid "No results found" +msgstr "" + +#: data/ui/window.ui.in:437 +#, fuzzy +msgid "Authenticator is locked" +msgstr "AutentiksiDuaFaktor" + +#: data/ui/window.ui.in:476 +msgid "Unlock" +msgstr "Buka Kunci" + +#: src/authenticator.py.in:50 +msgid "Start in debug mode" +msgstr "Mulai dengan mode debud" + +#: src/authenticator.py.in:52 +msgid "Authenticator version number" +msgstr "Nomor versi Authenticator" + +#: src/Authenticator/application.py.in:92 +#: src/Authenticator/widgets/settings.py:92 +#, fuzzy +msgid "Lock the application" +msgstr "Kunci aplikasi" + +#: src/Authenticator/application.py.in:100 +msgid "from a plain-text JSON file" +msgstr "" + +#: src/Authenticator/application.py.in:101 +msgid "in a plain-text JSON file" +msgstr "" + +#: src/Authenticator/application.py.in:103 +msgid "Restore" +msgstr "" + +#: src/Authenticator/application.py.in:104 +#, fuzzy +msgid "Backup" +msgstr "Kembali" + +#: src/Authenticator/application.py.in:113 +msgid "Donate" +msgstr "" + +#: src/Authenticator/application.py.in:114 +#, fuzzy +msgid "Keyboard Shortcuts" +msgstr "Jalan pintas" + +#: src/Authenticator/application.py.in:115 +#, fuzzy +msgid "About Authenticator" +msgstr "AutentiksiDuaFaktor" + +#: src/Authenticator/models/account.py:71 +msgid "Default" +msgstr "" + +#: src/Authenticator/widgets/accounts/add.py:58 +msgid "Invalid QR code" +msgstr "Kode QR tidak valid" + +#: src/Authenticator/widgets/accounts/list.py:143 +msgid "The One-Time Passwords expires in {} seconds" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:80 +msgid "Couldn't generate the secret code" +msgstr "Tidak dapat menghasilkan kode rahasia" + +#: src/Authenticator/widgets/accounts/row.py:91 +msgid "The PIN of {} was copied to the clipboard" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:123 +msgid "The account was updated successfully" +msgstr "" + +#: src/Authenticator/widgets/notification.py:43 +#, fuzzy +msgid "Close the notification" +msgstr "Kunci aplikasi" + +#: src/Authenticator/widgets/notification.py:48 +#: src/Authenticator/widgets/notification.py:63 +msgid "Undo" +msgstr "Undo" + +#: src/Authenticator/widgets/settings.py:93 +#, fuzzy +msgid "Lock the application with a password" +msgstr "Kunci aplikasi" + +#: src/Authenticator/widgets/settings.py:157 +#, fuzzy +msgid "Authentication password is now enabled." +msgstr "AutentiksiDuaFaktor" + +#: src/Authenticator/widgets/settings.py:159 +#, fuzzy +msgid "The authentication password was updated." +msgstr "AutentiksiDuaFaktor" + +#: src/Authenticator/widgets/settings.py:163 +#, fuzzy +msgid "The authentication password was deleted." +msgstr "AutentiksiDuaFaktor" + +#: src/Authenticator/widgets/settings.py:204 +#, fuzzy +msgid "Save Password" +msgstr "Kata sandi lama" + +#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45 +msgid "JSON files" +msgstr "" + +#, fuzzy +#~ msgid "Night mode" +#~ msgstr "Mode Malam" + +#~ msgid "Settings" +#~ msgstr "Pengaturan" + +#, fuzzy +#~ msgid "Authenticator Password" +#~ msgstr "AutentiksiDuaFaktor" + +#~ msgid "Cancel" +#~ msgstr "Batal" + +#, fuzzy +#~ msgid "Select" +#~ msgstr "Mode seleksi" + +#, fuzzy +#~ msgid "Secret token" +#~ msgstr "Token Rahasia" + +#~ msgid "Copy" +#~ msgstr "Salin" + +#~ msgid "Search" +#~ msgstr "Cari" + +#~ msgid "Selection mode" +#~ msgstr "Mode seleksi" + +#~ msgid "Click on items to select them" +#~ msgstr "Klik pada item untuk menyeleksinya" + +#, fuzzy +#~ msgid "Old Password" +#~ msgstr "Kata sandi lama" + +#, fuzzy +#~ msgctxt "shortcut window" +#~ msgid "Select" +#~ msgstr "Mode seleksi" + +#, fuzzy +#~ msgid "Authenticator@NAME_SUFFIX@" +#~ msgstr "AutentiksiDuaFaktor" + +#~ msgid "About" +#~ msgstr "Tentang" + +#~ msgid "com.github.bilelmoussaoui.Authenticator" +#~ msgstr "com.github.bilelmoussaoui.Authenticator" + +#, fuzzy +#~ msgid "Backup Password" +#~ msgstr "Ganti kata sandi" + +#~ msgid "Next" +#~ msgstr "Selanjutnya" + +#~ msgid "Two Factor Authentication code generator" +#~ msgstr "Pembuat kode Autentikasi Dua Faktor" + +#~ msgid "Two-Factor Authentication code generator" +#~ msgstr "Pembuat kode Autentikasi Dua Faktor" + +#~ msgctxt "shortcut window" +#~ msgid "Add a new account" +#~ msgstr "Tambah akun baru" + +#~ msgctxt "shortcut window" +#~ msgid "Selection mode" +#~ msgstr "Mode seleksi" + +#~ msgctxt "shortcut window" +#~ msgid "Account list" +#~ msgstr "Daftar akun" + +#~ msgctxt "shortcut window" +#~ msgid "Select next/previous account" +#~ msgstr "Pilih akun selanjutnya/sebelumnya" + +#~ msgctxt "shortcut window" +#~ msgid "Add Account" +#~ msgstr "Tambah Akun" + +#~ msgid "" +#~ "This program comes with absolutely no warranty. See the GNU General Public License, version 3 " +#~ "or later for details." +#~ msgstr "" +#~ "Tidak ada jaminan apapun dalam program ini. Lihat GNU General Public License, vesi 3 ke " +#~ "atas untuk lebih jelasnya." + +#~ msgid "Github" +#~ msgstr "Github" + +#~ msgid "Lock the Application" +#~ msgstr "Kunci Aplikasi" + +#~ msgid "Apply" +#~ msgstr "Terapkan" + +#~ msgid "Select an application" +#~ msgstr "Pilih aplikasi" + +#~ msgid "Enter your password" +#~ msgstr "Masukkan kata sandi anda" + +#~ msgid "Remove the account" +#~ msgstr "Hapus akun" + +#~ msgid "Copy the generated code" +#~ msgstr "Salin kode yang dihasilkan" + +#~ msgid "Edit the account" +#~ msgstr "Sunting akun" + +#~ msgid "Save the new account name" +#~ msgstr "Simpan nama akun baru" + +#~ msgid "Expires in %s seconds" +#~ msgstr "Kadaluarsa dalam %s detik" + +#~ msgid "Error during the generation of code" +#~ msgstr "Galat ketika menghasilkan kode" + +#~ msgid "Do you really want to remove \"%s\"?" +#~ msgstr "Kamu benar-benar ingin menghapus \"%s\"?" + +#~ msgid "Password protection" +#~ msgstr "Proteksi kata sandi" + +#~ msgid "Auto-lock the application (m):" +#~ msgstr "Kunci-otomatis aplikasi (m):" diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000..7cb5661 --- /dev/null +++ b/po/it.po @@ -0,0 +1,622 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Authenticator package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Authenticator\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2019-02-28 20:17+0000\n" +"Last-Translator: albanobattistella \n" +"Language-Team: Italian \n" +"Language: it\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 3.5-dev\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "Authenticator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +msgid "Two-factor authentication code generator" +msgstr "Generatore di codice di autenticazione a due fattori" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Semplice applicazione che genera un codice di autenticazione a due fattori, " +"creato per GNOME." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "Caratteristiche:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "Scanner di codici QR" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "Bella interfaccia utente" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Bloccare l'applicazione con una password" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "Backup e ripristino da un file JSON di base" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "Backup e ripristino da un file JSON GPG crittografato" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "Aggiungi e supporto OTP (applicazione Android 2FA gratuita e aperta)" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "" +"Nuove Impostazioni con 3 sezioni: l'aspetto, il comportamento e il backup" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "Ripara flatpak costruito con l'ultimo GNOME Runtime" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +msgid "Move the project to GOME Gitlab's World group" +msgstr "Spostare il progetto nel gruppo GOME Gitlab's World group" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "GNOME Shell ricerca provider" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "I codici scadono simultaneamente #91" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "" +"Rinnovato la finestra principale per seguire più da vicino il GNOME HIG" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "" +"Rinnova e aggiungi una nuova finestra di account per renderlo più facile da " +"usare" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" +"Possibilità di aggiungere un account da un provider non elencato nel " +"database spedito" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "Possibilità di modificare un account" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +msgid "One Time Password now visible by default" +msgstr "One Time Password ora visibile per impostazione predefinita" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "Ripara python-dbus utilizzando GDbus" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "Ripara la scansione Codice QR su GNOME Shell" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "Aggiungere una nuova voce per il nome utente dell'account" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "Aggiornato il database di account supportati" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "HOTFIX: App non funziona in DE diverse da GNOME" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +#, fuzzy +msgid "Rename project to Authenticator" +msgstr "Rinominare il progetto in Authenticator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +msgid "Cleaner code base" +msgstr "Pulisci codice di base" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "Avvio più veloce" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +msgid "Remove unneeded features" +msgstr "Rimuovere funzionalità non necessarie" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "Passare a pyzbar invece di zbarlight" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "Pacchetto Flatpak" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "Bilal Elmoussaoui" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +msgid "Two-factor authentication" +msgstr "Autenticazione a due fattori" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "GNOME; GTK; Verifica;" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "@appid @" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "Posizione della finestra predefinita" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +#, fuzzy +msgid "Dark Theme" +msgstr "Tema scuro" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +#, fuzzy +msgid "Whether the application should use a dark theme." +msgstr "Se l'applicazione può essere bloccata o non" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "La finestra predefinita massimizza il comportamento della finestra" + +#: data/ui/about_dialog.ui.in:10 +msgid "Two-factor authentication code generator." +msgstr "Generatore di codice di autenticazione a due fattori." + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "Traduttore-crediti" + +#: data/ui/account_add.ui:22 +msgid "Add a new account" +msgstr "aggiungi un nuovo account" + +#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19 +msgid "Close" +msgstr "Chiudi" + +#: data/ui/account_add.ui:34 +msgid "Add" +msgstr "Aggiungi" + +#: data/ui/account_add.ui:54 +#, fuzzy +msgid "Scan QR Code" +msgstr "Scansiona il codice QR" + +#: data/ui/account_config.ui:85 +msgid "Enable 2FA for this account" +msgstr "" + +#: data/ui/account_config.ui:86 +msgid "2FA Token" +msgstr "" + +#: data/ui/account_config.ui:100 +#, fuzzy +msgid "Account Name" +msgstr "Nome account" + +#: data/ui/account_config.ui:123 +msgid "Provider" +msgstr "Provider" + +#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50 +msgid "Save" +msgstr "Salva" + +#: data/ui/account_row.ui:23 +msgid "Edit" +msgstr "Modifica" + +#: data/ui/account_row.ui:41 +msgid "Delete" +msgstr "Elimina" + +#: data/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "Copia PIN negli appunti" + +#: data/ui/password_widget.ui:46 +#, fuzzy +msgid "Current Password:" +msgstr "Ripetere la Password" + +#: data/ui/password_widget.ui:90 +#, fuzzy +msgid "New Password:" +msgstr "Password" + +#: data/ui/password_widget.ui:135 +msgid "Confirm New Password:" +msgstr "" + +#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208 +#, fuzzy +msgid "Change Password" +msgstr "Password" + +#: data/ui/password_widget.ui:204 +#, fuzzy +msgid "Delete Password" +msgstr "Ripetere la Password" + +#: data/ui/provider_image.ui:41 +msgid "We couldn't find an image for this provider" +msgstr "" + +#. Night mode action +#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112 +msgid "Preferences" +msgstr "Preferenze" + +#: data/ui/settings.ui.in:95 +msgid "Behaviour" +msgstr "Comportamento" + +#: data/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "Generale" + +#: data/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Mostra scorciatoie" + +#: data/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "Preferenze" + +#: data/ui/shortcuts.ui:31 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Esci" + +#: data/ui/shortcuts.ui:40 +#, fuzzy +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Accounts" + +#: data/ui/shortcuts.ui:44 +msgctxt "shortcut window" +msgid "Add" +msgstr "Aggiungi" + +#: data/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "Cerca" + +#: data/ui/window.ui.in:182 +msgid "There are no accounts yet…" +msgstr "Non ci sono ancora account …" + +#: data/ui/window.ui.in:211 +#, fuzzy +msgid "Add a new account from the menu" +msgstr "aggiungi un nuovo account" + +#: data/ui/window.ui.in:227 +#, fuzzy +msgid "Scan a QR Code" +msgstr "Scansiona il codice QR" + +#: data/ui/window.ui.in:373 +msgid "No results found" +msgstr "" + +#: data/ui/window.ui.in:437 +#, fuzzy +msgid "Authenticator is locked" +msgstr "Autenticatore è bloccato" + +#: data/ui/window.ui.in:476 +msgid "Unlock" +msgstr "Sblocca" + +#: src/authenticator.py.in:50 +msgid "Start in debug mode" +msgstr "Avviare in modalità debug" + +#: src/authenticator.py.in:52 +msgid "Authenticator version number" +msgstr "Numero di versione di Authenticator" + +#: src/Authenticator/application.py.in:92 +#: src/Authenticator/widgets/settings.py:92 +msgid "Lock the application" +msgstr "Blocca l'applicazione" + +#: src/Authenticator/application.py.in:100 +msgid "from a plain-text JSON file" +msgstr "da un file di testo JSON" + +#: src/Authenticator/application.py.in:101 +msgid "in a plain-text JSON file" +msgstr "in un file di testo JSON" + +#: src/Authenticator/application.py.in:103 +msgid "Restore" +msgstr "Ripristina" + +#: src/Authenticator/application.py.in:104 +msgid "Backup" +msgstr "Backup" + +#: src/Authenticator/application.py.in:113 +msgid "Donate" +msgstr "Donazioni" + +#: src/Authenticator/application.py.in:114 +msgid "Keyboard Shortcuts" +msgstr "Tasti rapidi" + +#: src/Authenticator/application.py.in:115 +msgid "About Authenticator" +msgstr "Informazioni su Authenticator" + +#: src/Authenticator/models/account.py:71 +msgid "Default" +msgstr "Impostazione predefinita" + +#: src/Authenticator/widgets/accounts/add.py:58 +msgid "Invalid QR code" +msgstr "Codice QR non valido" + +#: src/Authenticator/widgets/accounts/list.py:143 +msgid "The One-Time Passwords expires in {} seconds" +msgstr "Le One-time password scade in {} secondi" + +#: src/Authenticator/widgets/accounts/row.py:80 +msgid "Couldn't generate the secret code" +msgstr "Non sono riuscito a generare il codice segreto" + +#: src/Authenticator/widgets/accounts/row.py:91 +msgid "The PIN of {} was copied to the clipboard" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:123 +msgid "The account was updated successfully" +msgstr "" + +#: src/Authenticator/widgets/notification.py:43 +#, fuzzy +msgid "Close the notification" +msgstr "Blocca l'applicazione" + +#: src/Authenticator/widgets/notification.py:48 +#: src/Authenticator/widgets/notification.py:63 +msgid "Undo" +msgstr "Annulla" + +#: src/Authenticator/widgets/settings.py:93 +#, fuzzy +msgid "Lock the application with a password" +msgstr "Bloccare l'applicazione con una password" + +#: src/Authenticator/widgets/settings.py:157 +#, fuzzy +msgid "Authentication password is now enabled." +msgstr "Password di autenticazione" + +#: src/Authenticator/widgets/settings.py:159 +#, fuzzy +msgid "The authentication password was updated." +msgstr "Password di autenticazione" + +#: src/Authenticator/widgets/settings.py:163 +#, fuzzy +msgid "The authentication password was deleted." +msgstr "Password di autenticazione" + +#: src/Authenticator/widgets/settings.py:204 +#, fuzzy +msgid "Save Password" +msgstr "Password" + +#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45 +msgid "JSON files" +msgstr "File JSON" + +#~ msgid "Huge database of (290+) websites/applications" +#~ msgstr "Enorme database di siti Web/applicazioni (290 +)" + +#~ msgid "Night mode" +#~ msgstr "Modalità notte" + +#~ msgid "Enable/disable night mode within the application" +#~ msgstr "abilita / disabilita la modalità di notte nell'applicazione" + +#~ msgid "Use a dark theme, if possible" +#~ msgstr "Utilizzare un tema scuro, se possibile" + +#~ msgid "Keep your accounts safer " +#~ msgstr "Mantieni il tuo account più sicuro " + +#~ msgid "Settings" +#~ msgstr "Impostazioni" + +#, fuzzy +#~ msgid "Authenticator Password" +#~ msgstr "Password di autenticazione" + +#~ msgid "Edit {} - {}" +#~ msgstr "Modifica {} - {}" + +#~ msgid "Authentication password was unset. Please restart the application" +#~ msgstr "" +#~ "La password di autenticazione è stata disattivata. Riavviare " +#~ "l'applicazione" + +#~ msgid "" +#~ "Authentication password is now enabled. Please restart the application." +#~ msgstr "" +#~ "La password di autenticazione è ora abilitata. Riavviare l'applicazione." + +#~ msgid "Open" +#~ msgstr "apri" + +#~ msgid "Cancel" +#~ msgstr "Cancella" + +#~ msgid "Select" +#~ msgstr "Seleziona" + +#~ msgid "Secret token" +#~ msgstr "Token d'accesso" + +#~ msgid "zbar library is not found. QRCode scanner will be disabled" +#~ msgstr "" +#~ "La libreria Zbar non e' stata trovata. QRCode scanner verrà disabilitato" + +#~ msgid "Copy" +#~ msgstr "Copia" + +#~ msgid "Search" +#~ msgstr "Cerca" + +#~ msgid "Selection mode" +#~ msgstr "Modalità di selezione" + +#~ msgid "Click on items to select them" +#~ msgstr "Clicca sulle voci per selezionarle" + +#~ msgid "Old Password" +#~ msgstr "Vecchia Password" + +#~ msgid "Appearance" +#~ msgstr "Aspetto" + +#~ msgid "Erase existing accounts" +#~ msgstr "Cancellare account esistenti" + +#~ msgid "Set up application authentication password" +#~ msgstr "Impostare la password di autenticazione dell'applicazione" + +#~ msgid "The application needs to be restarted first." +#~ msgstr "L'applicazione necessita di essere riavviata." + +#~ msgid "The existing accounts will be erased in 5 seconds" +#~ msgstr "Gli account esistenti verranno cancellati in 5 secondi" + +#~ msgid "An account or more were removed." +#~ msgstr "Un account o più sono stati rimossi." + +#~ msgid "Whether the application is locked with a password or not" +#~ msgstr "Se l'applicazione è bloccata con una password o non" + +#~ msgctxt "shortcut window" +#~ msgid "Select" +#~ msgstr "Seleziona" diff --git a/po/ko.po b/po/ko.po new file mode 100644 index 0000000..825be24 --- /dev/null +++ b/po/ko.po @@ -0,0 +1,602 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Authenticator package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Authenticator\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2019-01-01 10:42+0000\n" +"Last-Translator: Minori Hiraoka (미노리) \n" +"Language-Team: Korean \n" +"Language: ko\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 3.4-dev\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "인증기" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +msgid "Two-factor authentication code generator" +msgstr "2차 인증 코드 생성기" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "GNOME을 위해 만들어진 2차 인증 코드를 생성하는 간단한 애플리케이션." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "기능:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "QR 코드 스캐너" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "아름다운 UI" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "애플리케이션을 암호로 잠글 수 있는 가능성" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +msgid "Move the project to GOME Gitlab's World group" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +msgid "One Time Password now visible by default" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +#, fuzzy +msgid "Rename project to Authenticator" +msgstr "인증기에 대하여" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +#, fuzzy +msgid "Cleaner code base" +msgstr "데이터베이스 지우기" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +msgid "Remove unneeded features" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +msgid "Two-factor authentication" +msgstr "2차 인증" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "Gnome;GTK;인증;" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "@appid@" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "기본 창 위치" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +#, fuzzy +msgid "Dark Theme" +msgstr "어두운 테마" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +#, fuzzy +msgid "Whether the application should use a dark theme." +msgstr "애플리케이션 암호 설정 가능 여부" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "기본 창 최대화 행동" + +#: data/ui/about_dialog.ui.in:10 +msgid "Two-factor authentication code generator." +msgstr "2차 인증 비밀번호 생성기." + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "Minori Hiraoka " + +#: data/ui/account_add.ui:22 +msgid "Add a new account" +msgstr "새로운 계정 추가" + +#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19 +msgid "Close" +msgstr "닫기" + +#: data/ui/account_add.ui:34 +msgid "Add" +msgstr "추가" + +#: data/ui/account_add.ui:54 +#, fuzzy +msgid "Scan QR Code" +msgstr "QR 코드 스캔" + +#: data/ui/account_config.ui:85 +msgid "Enable 2FA for this account" +msgstr "" + +#: data/ui/account_config.ui:86 +msgid "2FA Token" +msgstr "" + +#: data/ui/account_config.ui:100 +#, fuzzy +msgid "Account Name" +msgstr "계정 이름" + +#: data/ui/account_config.ui:123 +msgid "Provider" +msgstr "제공자" + +#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50 +msgid "Save" +msgstr "저장" + +#: data/ui/account_row.ui:23 +msgid "Edit" +msgstr "편집" + +#: data/ui/account_row.ui:41 +msgid "Delete" +msgstr "삭제" + +#: data/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "" + +#: data/ui/password_widget.ui:46 +#, fuzzy +msgid "Current Password:" +msgstr "암호 확인" + +#: data/ui/password_widget.ui:90 +#, fuzzy +msgid "New Password:" +msgstr "암호" + +#: data/ui/password_widget.ui:135 +msgid "Confirm New Password:" +msgstr "" + +#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208 +#, fuzzy +msgid "Change Password" +msgstr "암호" + +#: data/ui/password_widget.ui:204 +#, fuzzy +msgid "Delete Password" +msgstr "암호 확인" + +#: data/ui/provider_image.ui:41 +msgid "We couldn't find an image for this provider" +msgstr "" + +#. Night mode action +#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112 +msgid "Preferences" +msgstr "설정" + +#: data/ui/settings.ui.in:95 +msgid "Behaviour" +msgstr "동작" + +#: data/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "일반" + +#: data/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "단축키 보이기" + +#: data/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "설정" + +#: data/ui/shortcuts.ui:31 +msgctxt "shortcut window" +msgid "Quit" +msgstr "종료" + +#: data/ui/shortcuts.ui:40 +msgctxt "shortcut window" +msgid "Accounts" +msgstr "계정" + +#: data/ui/shortcuts.ui:44 +msgctxt "shortcut window" +msgid "Add" +msgstr "추가" + +#: data/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "검색" + +#: data/ui/window.ui.in:182 +msgid "There are no accounts yet…" +msgstr "아직 계정이 없습니다…" + +#: data/ui/window.ui.in:211 +#, fuzzy +msgid "Add a new account from the menu" +msgstr "새로운 계정 추가" + +#: data/ui/window.ui.in:227 +#, fuzzy +msgid "Scan a QR Code" +msgstr "QR 코드 스캔" + +#: data/ui/window.ui.in:373 +msgid "No results found" +msgstr "" + +#: data/ui/window.ui.in:437 +#, fuzzy +msgid "Authenticator is locked" +msgstr "인증기" + +#: data/ui/window.ui.in:476 +msgid "Unlock" +msgstr "" + +#: src/authenticator.py.in:50 +msgid "Start in debug mode" +msgstr "디버그 모드로 시작" + +#: src/authenticator.py.in:52 +msgid "Authenticator version number" +msgstr "인증기 버전" + +#: src/Authenticator/application.py.in:92 +#: src/Authenticator/widgets/settings.py:92 +msgid "Lock the application" +msgstr "애플리케이션을 잠그기" + +#: src/Authenticator/application.py.in:100 +msgid "from a plain-text JSON file" +msgstr "JSON 파일에서 가져오기" + +#: src/Authenticator/application.py.in:101 +msgid "in a plain-text JSON file" +msgstr "JSON 파일로 내보내기" + +#: src/Authenticator/application.py.in:103 +msgid "Restore" +msgstr "복원" + +#: src/Authenticator/application.py.in:104 +msgid "Backup" +msgstr "백업" + +#: src/Authenticator/application.py.in:113 +msgid "Donate" +msgstr "기부" + +#: src/Authenticator/application.py.in:114 +msgid "Keyboard Shortcuts" +msgstr "키보드 단축키" + +#: src/Authenticator/application.py.in:115 +msgid "About Authenticator" +msgstr "인증기에 대하여" + +#: src/Authenticator/models/account.py:71 +msgid "Default" +msgstr "기본값" + +#: src/Authenticator/widgets/accounts/add.py:58 +msgid "Invalid QR code" +msgstr "올바르지 않은 QR 코드" + +#: src/Authenticator/widgets/accounts/list.py:143 +msgid "The One-Time Passwords expires in {} seconds" +msgstr "일회용 비밀번호가 {} 초 후에 만료됩니다" + +#: src/Authenticator/widgets/accounts/row.py:80 +msgid "Couldn't generate the secret code" +msgstr "비밀 코드를 생성할 수 없었습니다" + +#: src/Authenticator/widgets/accounts/row.py:91 +msgid "The PIN of {} was copied to the clipboard" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:123 +msgid "The account was updated successfully" +msgstr "" + +#: src/Authenticator/widgets/notification.py:43 +#, fuzzy +msgid "Close the notification" +msgstr "애플리케이션을 잠그기" + +#: src/Authenticator/widgets/notification.py:48 +#: src/Authenticator/widgets/notification.py:63 +msgid "Undo" +msgstr "되돌리기" + +#: src/Authenticator/widgets/settings.py:93 +#, fuzzy +msgid "Lock the application with a password" +msgstr "애플리케이션을 암호로 잠글 수 있는 가능성" + +#: src/Authenticator/widgets/settings.py:157 +#, fuzzy +msgid "Authentication password is now enabled." +msgstr "인증 암호" + +#: src/Authenticator/widgets/settings.py:159 +#, fuzzy +msgid "The authentication password was updated." +msgstr "인증 암호" + +#: src/Authenticator/widgets/settings.py:163 +#, fuzzy +msgid "The authentication password was deleted." +msgstr "인증 암호" + +#: src/Authenticator/widgets/settings.py:204 +#, fuzzy +msgid "Save Password" +msgstr "암호" + +#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45 +msgid "JSON files" +msgstr "JSON 파일" + +#~ msgid "Huge database of (290+) websites/applications" +#~ msgstr "290개 이상의 웹 사이트/애플리케이션을 지원" + +#~ msgid "Night mode" +#~ msgstr "야간 모드" + +#~ msgid "Enable/disable night mode within the application" +#~ msgstr "애플리케이션 안에서 야간 모드를 활성화/비활성화" + +#~ msgid "Use a dark theme, if possible" +#~ msgstr "가능하다면 어두운 테마를 사용합니다" + +#~ msgid "Settings" +#~ msgstr "설정" + +#, fuzzy +#~ msgid "Authenticator Password" +#~ msgstr "인증 암호" + +#~ msgid "Edit {} - {}" +#~ msgstr "{} - {} 편집" + +#~ msgid "Open" +#~ msgstr "열기" + +#~ msgid "Cancel" +#~ msgstr "취소" + +#~ msgid "Select" +#~ msgstr "선택" + +#~ msgid "Secret token" +#~ msgstr "비밀 토큰" + +#~ msgid "zbar library is not found. QRCode scanner will be disabled" +#~ msgstr "" +#~ "설치된 zbar 라이브러리가 발견되지 않았습니다. QR 코드 스캐너가 비활성화 됩" +#~ "니다" + +#~ msgid "Copy" +#~ msgstr "복사" + +#~ msgid "Search" +#~ msgstr "검색" + +#~ msgid "Selection mode" +#~ msgstr "선택 모드" + +#~ msgid "Click on items to select them" +#~ msgstr "항목을 눌러 선택하세요" + +#~ msgid "Old Password" +#~ msgstr "기존 암호" + +#~ msgid "Appearance" +#~ msgstr "표시 형식" + +#~ msgid "Erase existing accounts" +#~ msgstr "존재하는 계정 삭제" + +#~ msgid "Set up application authentication password" +#~ msgstr "애플리케이션 인증 암호 설정" + +#~ msgid "The application needs to be restarted first." +#~ msgstr "애플리케이션이 우선 다시 시작 되어야 합니다." + +#~ msgid "The existing accounts will be erased in 5 seconds" +#~ msgstr "존재하는 계정들이 5초 후에 삭제됩니다" + +#~ msgid "An account or more were removed." +#~ msgstr "한개 혹은 여러개의 계정이 제거되었습니다." + +#~ msgid "Whether the application is locked with a password or not" +#~ msgstr "애플리케이션 암호 설정 여부" + +#~ msgctxt "shortcut window" +#~ msgid "Select" +#~ msgstr "선택" diff --git a/po/meson.build b/po/meson.build new file mode 100644 index 0000000..7ee4469 --- /dev/null +++ b/po/meson.build @@ -0,0 +1 @@ +i18n.gettext('authenticator', preset: 'glib') diff --git a/po/nb.po b/po/nb.po new file mode 100644 index 0000000..e176f8c --- /dev/null +++ b/po/nb.po @@ -0,0 +1,751 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2019-02-13 11:09+0000\n" +"Last-Translator: Allan Nordhøy \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb_NO\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 3.5-dev\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "Authenticator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +msgid "Two-factor authentication code generator" +msgstr "Kodegenerator for to-faktorbekreftelse" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Enkelt program som genererer to-faktorbekreftelseskoder, laget for GNOME." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "Funksjoner:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "QR-kodeskanner" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "Vakkert grensesnitt" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Mulighet for å låse programmet med et passord" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +#, fuzzy +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" +"Siden jeg har flyttet programmet til GNOME sin GitLab-verdensgruppe, finnes " +"et Flatpak-bygg tilgjengelig for hver nye innsendelse tilgjengelig for " +"nedlasting fra sidens nettside." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "Sikkerhetskopier og gjenopprett fra grunnleggende JSON-fil" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +#, fuzzy +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "Sikkerhetskopier og gjenopprett fra en GPG-kryptert JSON-fil" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +#, fuzzy +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "Legg til andOTP-støtte (fritt og åpent Android 2FA-program)" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +#, fuzzy +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "" +"Nytt tredelt innstillingsvindu: Utseende, oppførsel og sikkerhetskopiering" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +#, fuzzy +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "Fiks Flatpak-bygg med siste GNOME-kjørerutine" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +#, fuzzy +msgid "Move the project to GOME Gitlab's World group" +msgstr "Flytting av prosjektet til GNOME sin GitLab-verdensgruppe" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "GNOME-skallsøktilbyder" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "Koder utløper samtidig #91" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +#, fuzzy +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "" +"Omorganisering av hovedvinduet for bedre overensstemmelse med GNOME HIG" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "Omorganisering av vindu for tillegg av konto for enklere bruk" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +#, fuzzy +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" +"Mulighet for å legge til en konto fra en tilbyder som ikke er opplistet i " +"innebygd database" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "Mulighet til å redigere en konto" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +#, fuzzy +msgid "One Time Password now visible by default" +msgstr "Engangspassord er nå synlige som forvalg" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "Fiks python-dbus ved å bruke GDbus istedenfor" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "Fiks for QR-skanneren i GNOME-skallet" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "Tillegg av ny oppføring for kontoens brukernavn" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "Database for støttede kontoer oppdatert" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "RASKFISK: Programmet kjørte ikke i andre grensesnitt enn GNOME" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +msgid "Rename project to Authenticator" +msgstr "Nytt navn: Authenticator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +msgid "Cleaner code base" +msgstr "Renere kodebase" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "Raskere oppstart" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +msgid "Remove unneeded features" +msgstr "Fjerning av unødvendige funksjoner" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "Bytte til pyzbar istedenfor zbarlight" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "Flatpak-pakke" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "Bilal Elmoussaoui" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +msgid "Two-factor authentication" +msgstr "To-faktorbekreftelse" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "Gnome;GTK;Verifisering;Bekreftelse;" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "@appid@" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "Forvalgt vindusposisjon" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +#, fuzzy +msgid "Dark Theme" +msgstr "Mørk drakt" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +#, fuzzy +msgid "Whether the application should use a dark theme." +msgstr "Hvorvidt programmet kan låses eller ei" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "Forvalgt oppførsel for oppblåste vinduer" + +#: data/ui/about_dialog.ui.in:10 +msgid "Two-factor authentication code generator." +msgstr "Kodegenerator for to-faktorbekreftelse." + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "Allan Nordhøy " + +#: data/ui/account_add.ui:22 +msgid "Add a new account" +msgstr "Legg til ny konto" + +#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19 +msgid "Close" +msgstr "Lukk" + +#: data/ui/account_add.ui:34 +msgid "Add" +msgstr "Legg til" + +#: data/ui/account_add.ui:54 +#, fuzzy +msgid "Scan QR Code" +msgstr "Skann QR-kode" + +#: data/ui/account_config.ui:85 +msgid "Enable 2FA for this account" +msgstr "" + +#: data/ui/account_config.ui:86 +msgid "2FA Token" +msgstr "" + +#: data/ui/account_config.ui:100 +#, fuzzy +msgid "Account Name" +msgstr "Kontonavn" + +#: data/ui/account_config.ui:123 +msgid "Provider" +msgstr "Tilbyder" + +#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50 +msgid "Save" +msgstr "Lagre" + +#: data/ui/account_row.ui:23 +msgid "Edit" +msgstr "Rediger" + +#: data/ui/account_row.ui:41 +msgid "Delete" +msgstr "Slett" + +#: data/ui/account_row.ui:97 +#, fuzzy +msgid "Copy PIN to clipboard" +msgstr "Koden \"%s\" ble kopiert til utklippstavlen" + +#: data/ui/password_widget.ui:46 +#, fuzzy +msgid "Current Password:" +msgstr "Gjenta passord" + +#: data/ui/password_widget.ui:90 +#, fuzzy +msgid "New Password:" +msgstr "Nytt passord" + +#: data/ui/password_widget.ui:135 +#, fuzzy +msgid "Confirm New Password:" +msgstr "Nytt passord" + +#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208 +#, fuzzy +msgid "Change Password" +msgstr "Passord" + +#: data/ui/password_widget.ui:204 +#, fuzzy +msgid "Delete Password" +msgstr "Gjenta passord" + +#: data/ui/provider_image.ui:41 +msgid "We couldn't find an image for this provider" +msgstr "" + +#. Night mode action +#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112 +msgid "Preferences" +msgstr "Innstillinger" + +#: data/ui/settings.ui.in:95 +msgid "Behaviour" +msgstr "Oppførsel" + +#: data/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "Generelt" + +#: data/ui/shortcuts.ui:17 +#, fuzzy +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Snarveier" + +#: data/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "Innstillinger" + +#: data/ui/shortcuts.ui:31 +#, fuzzy +msgctxt "shortcut window" +msgid "Quit" +msgstr "Avslutt" + +#: data/ui/shortcuts.ui:40 +#, fuzzy +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Konto" + +#: data/ui/shortcuts.ui:44 +#, fuzzy +msgctxt "shortcut window" +msgid "Add" +msgstr "Legg til" + +#: data/ui/shortcuts.ui:51 +#, fuzzy +msgctxt "shortcut window" +msgid "Search" +msgstr "Søk" + +#: data/ui/window.ui.in:182 +msgid "There are no accounts yet…" +msgstr "Ingen kontoer enda…" + +#: data/ui/window.ui.in:211 +#, fuzzy +msgid "Add a new account from the menu" +msgstr "Legg til ny konto" + +#: data/ui/window.ui.in:227 +#, fuzzy +msgid "Scan a QR Code" +msgstr "Skann QR-kode" + +#: data/ui/window.ui.in:373 +msgid "No results found" +msgstr "" + +#: data/ui/window.ui.in:437 +#, fuzzy +msgid "Authenticator is locked" +msgstr "Authenticator" + +#: data/ui/window.ui.in:476 +msgid "Unlock" +msgstr "Lås opp" + +#: src/authenticator.py.in:50 +msgid "Start in debug mode" +msgstr "Start i feilrettingsmodus" + +#: src/authenticator.py.in:52 +msgid "Authenticator version number" +msgstr "Versjonsnummer for Authenticator" + +#: src/Authenticator/application.py.in:92 +#: src/Authenticator/widgets/settings.py:92 +msgid "Lock the application" +msgstr "Lås programmet" + +#: src/Authenticator/application.py.in:100 +msgid "from a plain-text JSON file" +msgstr "fra en JSON-fil i klartekst" + +#: src/Authenticator/application.py.in:101 +msgid "in a plain-text JSON file" +msgstr "i en JSON-fil i klartekst" + +#: src/Authenticator/application.py.in:103 +msgid "Restore" +msgstr "Gjenopprett" + +#: src/Authenticator/application.py.in:104 +msgid "Backup" +msgstr "Sikkerhetskopier" + +#: src/Authenticator/application.py.in:113 +msgid "Donate" +msgstr "Doner" + +#: src/Authenticator/application.py.in:114 +#, fuzzy +msgid "Keyboard Shortcuts" +msgstr "Snarveier" + +#: src/Authenticator/application.py.in:115 +#, fuzzy +msgid "About Authenticator" +msgstr "Authenticator" + +#: src/Authenticator/models/account.py:71 +msgid "Default" +msgstr "Forvalg" + +#: src/Authenticator/widgets/accounts/add.py:58 +msgid "Invalid QR code" +msgstr "Ugyldig QR-kode" + +#: src/Authenticator/widgets/accounts/list.py:143 +msgid "The One-Time Passwords expires in {} seconds" +msgstr "Engangspassordet utløper om {} sekunder" + +#: src/Authenticator/widgets/accounts/row.py:80 +msgid "Couldn't generate the secret code" +msgstr "Kunne ikke generere hemmelig kode" + +#: src/Authenticator/widgets/accounts/row.py:91 +msgid "The PIN of {} was copied to the clipboard" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:123 +msgid "The account was updated successfully" +msgstr "" + +#: src/Authenticator/widgets/notification.py:43 +#, fuzzy +msgid "Close the notification" +msgstr "Skjul merknad" + +#: src/Authenticator/widgets/notification.py:48 +#: src/Authenticator/widgets/notification.py:63 +msgid "Undo" +msgstr "Angre" + +#: src/Authenticator/widgets/settings.py:93 +#, fuzzy +msgid "Lock the application with a password" +msgstr "Mulighet for å låse programmet med et passord" + +#: src/Authenticator/widgets/settings.py:157 +#, fuzzy +msgid "Authentication password is now enabled." +msgstr "Autentiserings passord" + +#: src/Authenticator/widgets/settings.py:159 +#, fuzzy +msgid "The authentication password was updated." +msgstr "Autentiserings passord" + +#: src/Authenticator/widgets/settings.py:163 +#, fuzzy +msgid "The authentication password was deleted." +msgstr "Autentiserings passord" + +#: src/Authenticator/widgets/settings.py:204 +#, fuzzy +msgid "Save Password" +msgstr "Passord" + +#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45 +msgid "JSON files" +msgstr "JSON-filer" + +#~ msgid "Huge database of (290+) websites/applications" +#~ msgstr "Stor database med (290+) nettsider/programmer" + +#~ msgid "Night mode" +#~ msgstr "Nattmodus" + +#~ msgid "Enable/disable night mode within the application" +#~ msgstr "Skru på/av nattmodus fra programmet" + +#~ msgid "Use a dark theme, if possible" +#~ msgstr "Bruk mørk drakt, hvis mulig" + +#, fuzzy +#~ msgid "Keep your accounts safer " +#~ msgstr "Gjør kontoene dine tryggere " + +#~ msgid "Settings" +#~ msgstr "Innstillinger" + +#, fuzzy +#~ msgid "Authenticator Password" +#~ msgstr "Autentiserings passord" + +#~ msgid "Edit {} - {}" +#~ msgstr "Rediger {} - {}" + +#~ msgid "Authentication password was unset. Please restart the application" +#~ msgstr "" +#~ "Identitetsbekreftelsespassordet ble slettet. Start programmet på nytt." + +#~ msgid "" +#~ "Authentication password is now enabled. Please restart the application." +#~ msgstr "" +#~ "Identitetsbekreftelsespassordet er påslått. Start programmet på nytt." + +#~ msgid "Open" +#~ msgstr "Åpne" + +#~ msgid "Cancel" +#~ msgstr "Avbryt" + +#~ msgid "Select" +#~ msgstr "Velg" + +#~ msgid "Secret token" +#~ msgstr "Hemmelig symbol" + +#~ msgid "zbar library is not found. QRCode scanner will be disabled" +#~ msgstr "zbar-bibliotek ble ikke funnet. QRkodeskanneren vil skrus av" + +#~ msgid "Copy" +#~ msgstr "Kopier" + +#~ msgid "Search" +#~ msgstr "Søk" + +#~ msgid "Selection mode" +#~ msgstr "Utvelgelsesmodus" + +#~ msgid "Click on items to select them" +#~ msgstr "Klikk på elementene for å velge dem" + +#~ msgid "Old Password" +#~ msgstr "Gammelt passord" + +#~ msgid "Appearance" +#~ msgstr "Utseende" + +#~ msgid "Clear the database" +#~ msgstr "Tøm databasen" + +#~ msgid "Erase existing accounts" +#~ msgstr "Slett eksisterende kontoer" + +#~ msgid "Set up application authentication password" +#~ msgstr "Sett opp identitetbekreftelsespassord for programmet" + +#~ msgid "The application needs to be restarted first." +#~ msgstr "Programmet må startes på nytt først." + +#~ msgid "The existing accounts will be erased in 5 seconds" +#~ msgstr "Eksisterende kontoer vil bli slettet om 5 sekunder" + +#~ msgid "An account or more were removed." +#~ msgstr "Én eller flere kontoer ble fjernet." + +#~ msgid "Whether the application is locked with a password or not" +#~ msgstr "Hvorvidt programmet låses med et passord eller ei" + +#, fuzzy +#~ msgctxt "shortcut window" +#~ msgid "Select" +#~ msgstr "Velg" + +#, fuzzy +#~ msgid "Authenticator@NAME_SUFFIX@" +#~ msgstr "Authenticator" + +#~ msgid "from an OpenPGP-encrypted JSON file" +#~ msgstr "fra en OpenPGP-kryptert JSON-fil" + +#~ msgid "in an OpenPGP-encrypted JSON file" +#~ msgstr "i en OpenPGP-kryptert JSON-fil" + +#~ msgid "About" +#~ msgstr "Om" + +#~ msgid "GPG paraphrase" +#~ msgstr "GPG-passord" + +#~ msgid "Import" +#~ msgstr "Importer" + +#~ msgid "Paraphrase" +#~ msgstr "Passord" + +#~ msgid "There was an error during the import of the encrypted file." +#~ msgstr "Feil under importering av kryptert fil." + +#~ msgid "GPG fingerprint" +#~ msgstr "GPG-fingeravtrykk" + +#~ msgid "Public keys" +#~ msgstr "Offentlige nøkler" + +#~ msgid "Private keys" +#~ msgstr "Private nøkler" + +#~ msgid "GPG keys location" +#~ msgstr "Mappe for GPG-nøkler" + +#~ msgid "Encrypted GPG files" +#~ msgstr "Krypterte GPG-filer" + +#~ msgid "com.github.bilelmoussaoui.Authenticator" +#~ msgstr "com.github.bilelmoussaoui.Authenticator" + +#, fuzzy +#~ msgid "Backup Password" +#~ msgstr "Endre passord" + +#~ msgid "Next" +#~ msgstr "Neste" + +#~ msgid "Two Factor Authentication code generator" +#~ msgstr "Kodegenerator for to-faktorbekreftelse" + +#~ msgid "Two-Factor Authentication code generator" +#~ msgstr "Kodegenerator for to-faktorbekreftelse" + +#~ msgid "TwoFactorAuth" +#~ msgstr "To-faktorbekreftelse" + +#~ msgid "Remove the account" +#~ msgstr "Fjern kontoen" + +#~ msgid "Copy the generated code" +#~ msgstr "Kopier den genererte koden" + +#~ msgid "Edit the account" +#~ msgstr "Rediger kontoen" + +#~ msgid "Save the new account name" +#~ msgstr "Lagre det nye kontonavnet" + +#~ msgid "Expires in %s seconds" +#~ msgstr "Utløper om %s sekunder" + +#~ msgid "Error during the generation of code" +#~ msgstr "Feil under generering av kode" + +#~ msgid "Do you really want to remove \"%s\"?" +#~ msgstr "Ønsker du virkelig å fjerne \"%s\"?" + +#~ msgid "\"%s\" was removed" +#~ msgstr "\"%s\" ble fjernet" + +#~ msgid "Selected area is not a valid QR code" +#~ msgstr "Valgt område er ikke en gyldig QR-kode" + +#~ msgid "Select an application" +#~ msgstr "Velg et program" + +#~ msgid "Apply" +#~ msgstr "Legg til" + +#~ msgid "Enter your password" +#~ msgstr "Skriv inn passordet ditt" + +#~ msgid "Password protection" +#~ msgstr "Passordbeskyttelse" + +#~ msgid "Auto-lock the application (m):" +#~ msgstr "Automatisk låsning av programmet (m):" + +#~ msgid "Gnome TwoFactorAuth" +#~ msgstr "Gnome to-faktorbekreftelse" + +#~ msgid "About Gnome TwoFactorAuth" +#~ msgstr "Om Gnome to-faktorbekreftelse" + +#~ msgid "Show about dialog" +#~ msgstr "Vis \"Om\"-dialogvindu" diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 0000000..f78893c --- /dev/null +++ b/po/nl.po @@ -0,0 +1,747 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2019-02-13 11:09+0000\n" +"Last-Translator: Nathan Follens \n" +"Language-Team: Dutch \n" +"Language: nl\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 3.5-dev\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "Authenticator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +msgid "Two-factor authentication code generator" +msgstr "Code-generator voor authenticatie in twee stappen" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Eenvoudige toepassing voor het genereren van codes voor authenticatie in " +"twee stappen, gemaakt voor GNOME." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "Functies:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "QR-codescanner" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "Prachtige vormgeving" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Vergrendel de toepassing met een wachtwoord" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" +"Sinds de verhuizing naar GNOME Gitlab's World-groep, is er op de website een " +"Flatpak-pakket beschikbaar voor elke nieuwe commit." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "Back-up en herstel uit een basis-JSON-bestand" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "Back-up en herstel uit een met GPG versleuteld JSON-bestand" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "" +"andOTP-ondersteuning toegevoegd (gratis en vrije Android-app voor " +"authenticatie in twee stappen)" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "Nieuw instellingenvenster met 3 secties: uiterlijk, gedrag en back-up" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "Flatpak-pakketten compatibel gemaakt met de nieuwste GNOME Runtime" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +msgid "Move the project to GOME Gitlab's World group" +msgstr "Project verplaatst naar GNOME Gitlab World-groep" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "GNOME Shell-zoekdienst" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "Codes vervallen tegelijkertijd #91" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "Hoofdvenster opnieuw ontworpen om meer te voldoen aan de GNOME HIG" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "" +"Nieuw account-venster opnieuw ontworpen zodat het eenvoudig is geworden" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" +"Mogelijkheid om een account toe te voegen van een dienst die niet in de " +"databank voorkomt" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "Mogelijkheid om een account te bewerken" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +msgid "One Time Password now visible by default" +msgstr "Eenmalig wachtwoord is nu standaard zichtbaar" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "python-dbus-probleem opgelost door GDbus te gebruiken" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "QR-codescanner gerepareerd bij gebruik in GNOME Shell" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "Voeg een nieuw item toe voor de gebruikersnaam" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "Databank met ondersteunde accounts bijgewerkt" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "BELANGRIJK: de app draait nu ook in andere werkomgevingen dan GNOME" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +msgid "Rename project to Authenticator" +msgstr "Projectnaam gewijzigd in Authenticator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +msgid "Cleaner code base" +msgstr "Eenvoudigere broncode" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "Snellere opstart" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +msgid "Remove unneeded features" +msgstr "Onnodige functies verwijderd" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "Overgeschakeld van zbarlight naar pyzbar" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "Flatpak-pakket" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "Bilal Elmoussaoui" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +msgid "Two-factor authentication" +msgstr "Authenticatie in twee stappen" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "Gnome;GTK;Verification;Verificatie;" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "@appid@" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "Standaard vensterpositie" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +#, fuzzy +msgid "Dark Theme" +msgstr "Donker thema" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +#, fuzzy +msgid "Whether the application should use a dark theme." +msgstr "Of de toepassing vergrendeld kan worden" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "Standaardgedrag van gemaximaliseerd venster" + +#: data/ui/about_dialog.ui.in:10 +msgid "Two-factor authentication code generator." +msgstr "Code-generator voor authenticatie in twee stappen." + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "Nathan Follens, Heimen Stoffels" + +#: data/ui/account_add.ui:22 +msgid "Add a new account" +msgstr "Nieuw account toevoegen" + +#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19 +msgid "Close" +msgstr "Sluiten" + +#: data/ui/account_add.ui:34 +msgid "Add" +msgstr "Toevoegen" + +#: data/ui/account_add.ui:54 +msgid "Scan QR Code" +msgstr "QR-code scannen" + +#: data/ui/account_config.ui:85 +msgid "Enable 2FA for this account" +msgstr "" + +#: data/ui/account_config.ui:86 +msgid "2FA Token" +msgstr "" + +#: data/ui/account_config.ui:100 +#, fuzzy +msgid "Account Name" +msgstr "Accountnaam" + +#: data/ui/account_config.ui:123 +msgid "Provider" +msgstr "Dienst" + +#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50 +msgid "Save" +msgstr "Opslaan" + +#: data/ui/account_row.ui:23 +msgid "Edit" +msgstr "Bewerken" + +#: data/ui/account_row.ui:41 +msgid "Delete" +msgstr "Verwijderen" + +#: data/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "Pincode kopiëren naar klembord" + +#: data/ui/password_widget.ui:46 +#, fuzzy +msgid "Current Password:" +msgstr "Herhaal wachtwoord" + +#: data/ui/password_widget.ui:90 +#, fuzzy +msgid "New Password:" +msgstr "Nieuw wachtwoord" + +#: data/ui/password_widget.ui:135 +#, fuzzy +msgid "Confirm New Password:" +msgstr "Nieuw wachtwoord" + +#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208 +#, fuzzy +msgid "Change Password" +msgstr "Wachtwoord" + +#: data/ui/password_widget.ui:204 +#, fuzzy +msgid "Delete Password" +msgstr "Herhaal wachtwoord" + +#: data/ui/provider_image.ui:41 +msgid "We couldn't find an image for this provider" +msgstr "" + +#. Night mode action +#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112 +msgid "Preferences" +msgstr "Voorkeuren" + +#: data/ui/settings.ui.in:95 +msgid "Behaviour" +msgstr "Gedrag" + +#: data/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "Algemeen" + +#: data/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Sneltoetsen tonen" + +#: data/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "Voorkeuren" + +#: data/ui/shortcuts.ui:31 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Afsluiten" + +#: data/ui/shortcuts.ui:40 +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Accounts" + +#: data/ui/shortcuts.ui:44 +msgctxt "shortcut window" +msgid "Add" +msgstr "Toevoegen" + +#: data/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "Zoeken" + +#: data/ui/window.ui.in:182 +msgid "There are no accounts yet…" +msgstr "Je hebt nog geen accounts toegevoegd…" + +#: data/ui/window.ui.in:211 +#, fuzzy +msgid "Add a new account from the menu" +msgstr "Nieuw account toevoegen" + +#: data/ui/window.ui.in:227 +#, fuzzy +msgid "Scan a QR Code" +msgstr "QR-code scannen" + +#: data/ui/window.ui.in:373 +msgid "No results found" +msgstr "" + +#: data/ui/window.ui.in:437 +msgid "Authenticator is locked" +msgstr "Authenticator is vergreneld" + +#: data/ui/window.ui.in:476 +msgid "Unlock" +msgstr "Ontgrendelen" + +#: src/authenticator.py.in:50 +msgid "Start in debug mode" +msgstr "Starten in foutopsporingsmodus" + +#: src/authenticator.py.in:52 +msgid "Authenticator version number" +msgstr "Versienummer van Authenticator" + +#: src/Authenticator/application.py.in:92 +#: src/Authenticator/widgets/settings.py:92 +msgid "Lock the application" +msgstr "Toepassing vergrendelen" + +#: src/Authenticator/application.py.in:100 +msgid "from a plain-text JSON file" +msgstr "uit een JSON-bestand met platte tekst" + +#: src/Authenticator/application.py.in:101 +msgid "in a plain-text JSON file" +msgstr "naar een JSON-bestand met platte tekst" + +#: src/Authenticator/application.py.in:103 +msgid "Restore" +msgstr "Herstellen" + +#: src/Authenticator/application.py.in:104 +msgid "Backup" +msgstr "Back-uppen" + +#: src/Authenticator/application.py.in:113 +msgid "Donate" +msgstr "Doneren" + +#: src/Authenticator/application.py.in:114 +msgid "Keyboard Shortcuts" +msgstr "Sneltoetsen" + +#: src/Authenticator/application.py.in:115 +msgid "About Authenticator" +msgstr "Over Authenticator" + +#: src/Authenticator/models/account.py:71 +msgid "Default" +msgstr "Standaard" + +#: src/Authenticator/widgets/accounts/add.py:58 +msgid "Invalid QR code" +msgstr "Ongeldige QR-code" + +#: src/Authenticator/widgets/accounts/list.py:143 +msgid "The One-Time Passwords expires in {} seconds" +msgstr "Het eenmalige wachtwoord verloopt over {} seconden" + +#: src/Authenticator/widgets/accounts/row.py:80 +msgid "Couldn't generate the secret code" +msgstr "Kan geen geheime sleutel genereren" + +#: src/Authenticator/widgets/accounts/row.py:91 +msgid "The PIN of {} was copied to the clipboard" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:123 +msgid "The account was updated successfully" +msgstr "" + +#: src/Authenticator/widgets/notification.py:43 +#, fuzzy +msgid "Close the notification" +msgstr "Toepassing vergrendelen" + +#: src/Authenticator/widgets/notification.py:48 +#: src/Authenticator/widgets/notification.py:63 +msgid "Undo" +msgstr "Ongedaan maken" + +#: src/Authenticator/widgets/settings.py:93 +msgid "Lock the application with a password" +msgstr "Vergrendel de toepassing met een wachtwoord" + +#: src/Authenticator/widgets/settings.py:157 +#, fuzzy +msgid "Authentication password is now enabled." +msgstr "Authenticatiewachtwoord" + +#: src/Authenticator/widgets/settings.py:159 +#, fuzzy +msgid "The authentication password was updated." +msgstr "Authenticatiewachtwoord" + +#: src/Authenticator/widgets/settings.py:163 +#, fuzzy +msgid "The authentication password was deleted." +msgstr "Authenticatiewachtwoord" + +#: src/Authenticator/widgets/settings.py:204 +#, fuzzy +msgid "Save Password" +msgstr "Wachtwoord" + +#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45 +msgid "JSON files" +msgstr "JSON-bestanden" + +#~ msgid "Huge database of (290+) websites/applications" +#~ msgstr "Enorme databank met (meer dan 290) websites/toepassingen" + +#~ msgid "Night mode" +#~ msgstr "Nachtmodus" + +#~ msgid "Enable/disable night mode within the application" +#~ msgstr "Schakelt de nachtmodus in de toepassing in/uit" + +#~ msgid "Use a dark theme, if possible" +#~ msgstr "Donker thema gebruiken, indien mogelijk" + +#~ msgid "Keep your accounts safer " +#~ msgstr "Houd je accounts veilig " + +#~ msgid "Settings" +#~ msgstr "Instellingen" + +#~ msgid "Authenticator Password" +#~ msgstr "Authenticatiewachtwoord" + +#~ msgid "Edit {} - {}" +#~ msgstr "{} - {} bewerken" + +#~ msgid "Authentication password was unset. Please restart the application" +#~ msgstr "Authenticatiewachtwoord is niet ingesteld. Herstart de toepassing" + +#~ msgid "" +#~ "Authentication password is now enabled. Please restart the application." +#~ msgstr "Authenticatiewachtwoord is ingeschakeld. Herstart de toepassing." + +#~ msgid "Open" +#~ msgstr "Openen" + +#~ msgid "Cancel" +#~ msgstr "Annuleren" + +#~ msgid "Select" +#~ msgstr "Kiezen" + +#~ msgid "Secret token" +#~ msgstr "Geheime toegangssleutel" + +#~ msgid "zbar library is not found. QRCode scanner will be disabled" +#~ msgstr "" +#~ "De zbar-bibliotheek kan niet worden gevonden; QR-codescanner is " +#~ "uitgeschakeld" + +#~ msgid "Copy" +#~ msgstr "Kopiëren" + +#~ msgid "Search" +#~ msgstr "Zoeken" + +#~ msgid "Selection mode" +#~ msgstr "Selectiemodus" + +#~ msgid "Click on items to select them" +#~ msgstr "Klik op items om ze te selecteren" + +#~ msgid "Old Password" +#~ msgstr "Oud wachtwoord" + +#~ msgid "Appearance" +#~ msgstr "Uiterlijk" + +#~ msgid "Clear the database" +#~ msgstr "Databank wissen" + +#~ msgid "Erase existing accounts" +#~ msgstr "Bestaande accounts wissen" + +#~ msgid "Set up application authentication password" +#~ msgstr "Stel het authenticatiewachtwoord in" + +#~ msgid "The application needs to be restarted first." +#~ msgstr "De applicatie moet worden herstart." + +#~ msgid "The existing accounts will be erased in 5 seconds" +#~ msgstr "De bestaande accounts worden over 5 seconden gewist" + +#~ msgid "An account or more were removed." +#~ msgstr "Eén of meerdere accounts zijn verwijderd." + +#~ msgid "Whether the application is locked with a password or not" +#~ msgstr "Of de toepassing moet worden vergrendeld met een wachtwoord" + +#~ msgctxt "shortcut window" +#~ msgid "Select" +#~ msgstr "Selecteren" + +#, fuzzy +#~ msgid "Authenticator@NAME_SUFFIX@" +#~ msgstr "Authenticator" + +#~ msgid "from an OpenPGP-encrypted JSON file" +#~ msgstr "uit een JSON-bestand met OpenPGP-versleuteling" + +#~ msgid "in an OpenPGP-encrypted JSON file" +#~ msgstr "in een JSON-bestand met OpenPGP-versleuteling" + +#~ msgid "About" +#~ msgstr "Over" + +#~ msgid "GPG paraphrase" +#~ msgstr "GPG-wachtwoordzin" + +#~ msgid "Import" +#~ msgstr "Importeren" + +#~ msgid "Paraphrase" +#~ msgstr "Wachtwoordzin" + +#~ msgid "There was an error during the import of the encrypted file." +#~ msgstr "" +#~ "Er is een fout opgetreden tijdens het importeren van het versleutelde " +#~ "bestand." + +#~ msgid "GPG fingerprint" +#~ msgstr "GPG-vingerafdruk" + +#~ msgid "Public keys" +#~ msgstr "Openbare sleutels" + +#~ msgid "Private keys" +#~ msgstr "Privésleutels" + +#~ msgid "GPG keys location" +#~ msgstr "Locatie van GPG-sleutels" + +#~ msgid "Encrypted GPG files" +#~ msgstr "Versleutelde GPG-bestanden" + +#~ msgid "com.github.bilelmoussaoui.Authenticator" +#~ msgstr "com.github.bilelmoussaoui.Authenticator" + +#~ msgid "Backup Password" +#~ msgstr "Wachtwoord back-uppen" + +#~ msgid "Next" +#~ msgstr "Volgende" + +#~ msgid "Two Factor Authentication code generator" +#~ msgstr "Code-generator voor authenticatie in twee stappen" + +#~ msgid "Two-Factor Authentication code generator" +#~ msgstr "Generator voor tweefactorauthenticatiecodes" + +#~ msgctxt "shortcut window" +#~ msgid "Add a new account" +#~ msgstr "Nieuwe account toevoegen" + +#~ msgctxt "shortcut window" +#~ msgid "Selection mode" +#~ msgstr "Selectiemodus" + +#~ msgctxt "shortcut window" +#~ msgid "Account list" +#~ msgstr "Accountlijst" + +#~ msgctxt "shortcut window" +#~ msgid "Select next/previous account" +#~ msgstr "Volgende/vorige account selecteren" + +#~ msgctxt "shortcut window" +#~ msgid "Add Account" +#~ msgstr "Account toevoegen" + +#~ msgid "" +#~ "This program comes with absolutely no warranty. See the GNU General Public License, version 3 " +#~ "or later for details." +#~ msgstr "" +#~ "Dit programma komt zonder enige vorm van garantie. Zie de GNU General Public License, " +#~ "versie 3 of later voor meer informatie." + +#~ msgid "Github" +#~ msgstr "GitHub" + +#~ msgid "Lock the Application" +#~ msgstr "Toepassing vergrendelen" + +#~ msgid "Apply" +#~ msgstr "Toepassen" + +#~ msgid "Select an application" +#~ msgstr "Kies een toepassing" + +#~ msgid "Enter your password" +#~ msgstr "Voer je wachtwoord in" + +#~ msgid "Remove the account" +#~ msgstr "Account verwijderen" + +#~ msgid "Copy the generated code" +#~ msgstr "Aangemaakte code kopiëren" + +#~ msgid "Edit the account" +#~ msgstr "Account bewerken" + +#~ msgid "Save the new account name" +#~ msgstr "Nieuwe accountnaam opslaan" + +#~ msgid "Expires in %s seconds" +#~ msgstr "Verloopt over %s seconden" + +#~ msgid "Error during the generation of code" +#~ msgstr "Fout tijdens aanmaken van code" + +#~ msgid "Do you really want to remove \"%s\"?" +#~ msgstr "Wil je \"%s\" echt verwijderen?" + +#~ msgid "Password protection" +#~ msgstr "Wachtwoordbescherming" + +#~ msgid "Auto-lock the application (m):" +#~ msgstr "Vergrendel de toepassing automatisch (m):" diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 0000000..2d49ddf --- /dev/null +++ b/po/pl.po @@ -0,0 +1,371 @@ +# Polish translation for Authenticator. +# Copyright © 2018-2019 the Authenticator authors. +# This file is distributed under the same license as the Authenticator package. +# WaldiS , 2018. +# Piotr Drąg , 2019. +# Aviary.pl , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: Authenticator\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/Authenticator/issues\n" +"POT-Creation-Date: 2019-07-02 16:11+0000\n" +"PO-Revision-Date: 2019-07-07 13:33+0200\n" +"Last-Translator: Piotr Drąg \n" +"Language-Team: Polish \n" +"Language: pl\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" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:36 +msgid "Authenticator" +msgstr "Authenticator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:8 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +#: data/resources/gtk/ui/about_dialog.ui.in:10 +msgid "A Two-Factor Authentication application" +msgstr "Program do uwierzytelniania dwuetapowego" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Prosty program generujący kody uwierzytelniania dwuetapowego napisany dla " +"środowiska GNOME." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:11 +msgid "Features:" +msgstr "Funkcje:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "QR code scanner" +msgstr "Skaner kodów QR" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Beautiful UI" +msgstr "Piękny interfejs" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +msgid "Huge database of more than 560 supported services" +msgstr "Wielka baza ponad 560 obsługiwanych serwisów" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Zabezpieczanie tokenów PIN przez zablokowanie programu hasłem" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "Automatically fetch an image for services using their favicon" +msgstr "Automatyczne pobieranie obrazów dla serwisów" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:18 +msgid "The possibility to add new services" +msgstr "Możliwość dodawania nowych serwisów" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:19 +msgid "Dark theme and night light" +msgstr "Ciemny motyw i nocne światło" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:25 +msgid "Main Window - empty state" +msgstr "Główne okno — puste" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:29 +#: data/resources/gtk/ui/account_add.ui:15 +msgid "Add a new account" +msgstr "Dodawanie nowego konta" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:33 +msgid "Main Window - Accounts List" +msgstr "Główne okno — lista kont" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "Settings Window" +msgstr "Okno ustawień" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:160 +msgid "Bilal Elmoussaoui" +msgstr "Bilal Elmoussaoui" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +msgid "Two-factor Authentication" +msgstr "Uwierzytelnianie dwuetapowe" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;2FA;Authentication;TwoFactor;" +msgstr "" +"GNOME;GTK;Weryfikacja;2FA;Uwierzytelnianie;Upoważnianie;Autentykacja;" +"Dwuetapowe;Dwuskładnikowe;TwoFactor;" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "Domyślne położenie okna" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: data/resources/gtk/ui/settings.ui.in:28 +msgid "Dark Theme" +msgstr "Ciemny motyw" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: data/resources/gtk/ui/settings.ui.in:29 +#: data/resources/gtk/ui/settings.ui.in:76 +msgid "Whether the application should use a dark theme." +msgstr "Czy program ma używać ciemnego motywu." + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: data/resources/gtk/ui/settings.ui.in:83 +msgid "Auto lock timeout" +msgstr "Czas oczekiwania na automatyczną blokadę" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +msgid "Lock the application on idle after X minutes" +msgstr "Blokowanie programu po bezczynności przez X minut" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +#: data/resources/gtk/ui/settings.ui.in:43 +msgid "Night Light" +msgstr "Nocne światło" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:22 +#: data/resources/gtk/ui/settings.ui.in:44 +#: data/resources/gtk/ui/settings.ui.in:84 +msgid "Automatically enable dark mode at night." +msgstr "Automatyczne włączanie ciemnego trybu w nocy." + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26 +msgid "Default window maximized behaviour" +msgstr "Domyślne zachowanie zmaksymalizowanego okna" + +#: data/resources/gtk/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "" +"WaldiS , 2018\n" +"Piotr Drąg , 2019\n" +"Aviary.pl , 2019" + +#: data/resources/gtk/ui/account_add.ui:33 +msgid "Add" +msgstr "Dodaj" + +#: data/resources/gtk/ui/account_add.ui:53 +msgid "Scan QR Code" +msgstr "Skanuj kod QR" + +#: data/resources/gtk/ui/account_config.ui:56 +msgid "Account Name" +msgstr "Nazwa konta" + +#: data/resources/gtk/ui/account_config.ui:78 +msgid "Provider" +msgstr "Dostawca" + +#: data/resources/gtk/ui/account_config.ui:95 +#: data/resources/gtk/ui/account_config.ui:96 +msgid "Enable 2FA for this account" +msgstr "Włącz uwierzytelnianie dwuetapowe dla tego konta" + +#: data/resources/gtk/ui/account_config.ui:97 +msgid "2FA Token" +msgstr "Token uwierzytelniania dwuetapowego" + +#: data/resources/gtk/ui/account_config.ui:111 +msgid "Provider Website" +msgstr "Strona dostawcy" + +#: data/resources/gtk/ui/account_edit.ui:31 +msgid "Save" +msgstr "Zapisz" + +#: data/resources/gtk/ui/account_row.ui:22 +msgid "Edit" +msgstr "Modyfikuj" + +#: data/resources/gtk/ui/account_row.ui:40 +msgid "Delete" +msgstr "Usuń" + +#: data/resources/gtk/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "Skopiuj PIN do schowka" + +#: data/resources/gtk/ui/password_widget.ui:46 +msgid "Current Password:" +msgstr "Obecne hasło:" + +#: data/resources/gtk/ui/password_widget.ui:91 +msgid "New Password:" +msgstr "Nowe hasło:" + +#: data/resources/gtk/ui/password_widget.ui:136 +msgid "Confirm New Password:" +msgstr "Potwierdzenie nowego hasła:" + +#: data/resources/gtk/ui/password_widget.ui:184 +#: src/Authenticator/widgets/settings.py:174 +msgid "Change Password" +msgstr "Zmień hasło" + +#: data/resources/gtk/ui/password_widget.ui:205 +msgid "Delete Password" +msgstr "Usuń hasło" + +#: data/resources/gtk/ui/settings.ui.in:24 +msgid "Appearance" +msgstr "Interfejs" + +#: data/resources/gtk/ui/settings.ui.in:75 +#: src/Authenticator/application.py.in:106 +msgid "Lock the application" +msgstr "Zablokuj program" + +#: data/resources/gtk/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "Ogólne" + +#: data/resources/gtk/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Wyświetlenie skrótów" + +#: data/resources/gtk/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "Preferencje" + +#: data/resources/gtk/ui/shortcuts.ui:31 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Zakończenie działania" + +#: data/resources/gtk/ui/shortcuts.ui:40 +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Konta" + +#: data/resources/gtk/ui/shortcuts.ui:44 +msgctxt "shortcut window" +msgid "Add" +msgstr "Dodanie" + +#: data/resources/gtk/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "Wyszukiwanie" + +#: data/resources/gtk/ui/window.ui.in:189 +msgid "There are no accounts yet…" +msgstr "Nie ma jeszcze żadnych kont…" + +#: data/resources/gtk/ui/window.ui.in:218 +msgid "Add a new account from the menu" +msgstr "Dodaj nowe konto z menu" + +#: data/resources/gtk/ui/window.ui.in:234 +msgid "Scan a QR Code" +msgstr "Skanuj kod QR" + +#: data/resources/gtk/ui/window.ui.in:366 +msgid "No results found" +msgstr "Brak wyników" + +#: data/resources/gtk/ui/window.ui.in:429 +msgid "Authenticator is locked" +msgstr "Program jest zablokowany" + +#: data/resources/gtk/ui/window.ui.in:468 +msgid "Unlock" +msgstr "Odblokuj" + +#: src/authenticator.py.in:49 +msgid "Start in debug mode" +msgstr "Uruchom w trybie debugowania" + +#: src/Authenticator/application.py.in:114 +msgid "from a plain-text JSON file" +msgstr "z tekstowego pliku JSON" + +#: src/Authenticator/application.py.in:115 +msgid "in a plain-text JSON file" +msgstr "w tekstowym pliku JSON" + +#: src/Authenticator/application.py.in:117 +msgid "Restore" +msgstr "Przywróć" + +#: src/Authenticator/application.py.in:118 +msgid "Backup" +msgstr "Kopia zapasowa" + +#. Night mode action +#: src/Authenticator/application.py.in:126 +msgid "Preferences" +msgstr "Preferencje" + +#: src/Authenticator/application.py.in:127 +msgid "Donate" +msgstr "Przekaż datek" + +#: src/Authenticator/application.py.in:128 +msgid "Keyboard Shortcuts" +msgstr "Skróty klawiszowe" + +#: src/Authenticator/application.py.in:129 +msgid "About Authenticator" +msgstr "O programie" + +#: src/Authenticator/models/account.py:84 +msgid "Default" +msgstr "Domyślne" + +#: src/Authenticator/widgets/accounts/add.py:247 +msgid "Invalid QR code" +msgstr "Nieprawidłowy kod QR" + +#: src/Authenticator/widgets/accounts/list.py:152 +msgid "The One-Time Passwords expire in {} seconds" +msgstr "Hasła jednorazowe wygasają za {} s" + +#: src/Authenticator/widgets/accounts/row.py:90 +msgid "Couldn't generate the secret code" +msgstr "Nie można wygenerować tajnego kodu" + +#: src/Authenticator/widgets/accounts/row.py:100 +msgid "The PIN of {} was copied to the clipboard" +msgstr "Skopiowano PIN „{}” do schowka" + +#: src/Authenticator/widgets/accounts/row.py:141 +msgid "The account was updated successfully" +msgstr "Pomyślnie zaktualizowano konto" + +#: src/Authenticator/widgets/notification.py:53 +#: src/Authenticator/widgets/notification.py:84 +msgid "Undo" +msgstr "Cofnij" + +#: src/Authenticator/widgets/notification.py:79 +msgid "Close the notification" +msgstr "Zamknij powiadomienie" + +#: src/Authenticator/widgets/settings.py:170 +msgid "Save Password" +msgstr "Zapisz hasło" + +#: src/Authenticator/widgets/settings.py:222 +msgid "Do you want to remove the authentication password?" +msgstr "Usunąć hasło uwierzytelniania?" + +#: src/Authenticator/widgets/settings.py:223 +msgid "Authentication password enforces the privacy of your accounts." +msgstr "Hasło uwierzytelniania zapewnia prywatność kont." + +#: src/Authenticator/widgets/utils.py:26 src/Authenticator/widgets/utils.py:31 +msgid "JSON files" +msgstr "Pliki JSON" diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 0000000..0c57822 --- /dev/null +++ b/po/pt.po @@ -0,0 +1,570 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Authenticator package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Authenticator\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2019-03-28 00:03+0000\n" +"Last-Translator: Rui Mendes \n" +"Language-Team: Portuguese \n" +"Language: 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 3.6-dev\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "Authenticator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +msgid "Two-factor authentication code generator" +msgstr "Gerador de código de autenticação de dois fatores" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Aplicação simples que gera um código de autenticação de dois fatores, criado " +"para o GNOME." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "Funcionalidades:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "Digitalizador de códigos QR" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "Boa interface de utilizador" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Bloquear a aplicação com uma palavra-passe" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" +"Desde que a aplicação foi alterada para o grupo GOME Gitlab's World, está " +"disponível para descarregar uma compilação Flatpak para cada commit novo no " +"site." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "Fazer uma cópia de segurança e restaurar de um ficheiro JSON básico" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "" +"Fazer uma cópia de segurança e restaurar de um ficheiro JSON encriptado com " +"GPG" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "" +"Adicionado suporte a andOTP (aplicação de autenticação de 2 fatores, para " +"Android, livre e aberta)" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "" +"Nova janela de configurações com 3 secções: aparência, comportamento e cópia " +"de segurança" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "Correção na compilação Flatpak com o último GNOME Runtime" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +msgid "Move the project to GOME Gitlab's World group" +msgstr "Mover o projeto para o grupo GOME Gitlab's World" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "Fornecedor de pesquisa GNOME Shell" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "Os códigos expiram simultaneamente #91" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "" +"Reformulada a janela principal para seguir os princípios das Diretrizes de " +"Interface Humana do GNOME" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "" +"Janela de adicionar nova conta reformulada para ser mais fácil de utilizar" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" +"Possibilidade de adicionar uma conta de um fornecedor não listado na base de " +"dados incorporada" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "Possibilidade de editar uma conta" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +msgid "One Time Password now visible by default" +msgstr "Palavra-passe de 1 só utilização, agora visível por padrão" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "Correção no python-dbus utilizando agora o GDbus" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "Correção no QRScanner na shell do GNOME" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "Adicionada uma nova entrada para o nome do utilizador da conta" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "Base de dados atualizada de contas suportadas" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "" +"Correção urgente: aplicação não funcionava em ambientes de trabalho para " +"além do GNOME" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +msgid "Rename project to Authenticator" +msgstr "Alteração do nome para Authenticator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +msgid "Cleaner code base" +msgstr "Código base mais limpo" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "Arranque mais rápido" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +msgid "Remove unneeded features" +msgstr "Eliminadas funcionalidades desnecessárias" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "Mudança para pyzbar em vez de zbarlight" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "Pacote Flatpak" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "Bilal Elmoussaoui" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +msgid "Two-factor authentication" +msgstr "Autenticação de dois fatores" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "Gnome;GTK;Verificação;" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "@appid@" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "Posição padrão da janela" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +#, fuzzy +msgid "Dark Theme" +msgstr "Tema escuro" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +msgid "Whether the application should use a dark theme." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "Comportamento padrão da janela maximizada" + +#: data/ui/about_dialog.ui.in:10 +msgid "Two-factor authentication code generator." +msgstr "Gerador de código de autenticação de dois fatores." + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "Rui Mendes , 2019" + +#: data/ui/account_add.ui:22 +msgid "Add a new account" +msgstr "Adicionar uma nova conta" + +#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19 +msgid "Close" +msgstr "Fechar" + +#: data/ui/account_add.ui:34 +msgid "Add" +msgstr "Adicionar" + +#: data/ui/account_add.ui:54 +msgid "Scan QR Code" +msgstr "Digitalizar código QR" + +#: data/ui/account_config.ui:85 +msgid "Enable 2FA for this account" +msgstr "" + +#: data/ui/account_config.ui:86 +msgid "2FA Token" +msgstr "" + +#: data/ui/account_config.ui:100 +#, fuzzy +msgid "Account Name" +msgstr "Contas" + +#: data/ui/account_config.ui:123 +msgid "Provider" +msgstr "" + +#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50 +msgid "Save" +msgstr "Guardar" + +#: data/ui/account_row.ui:23 +msgid "Edit" +msgstr "Editar" + +#: data/ui/account_row.ui:41 +msgid "Delete" +msgstr "Eliminar" + +#: data/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "Copiar PIN" + +#: data/ui/password_widget.ui:46 +#, fuzzy +msgid "Current Password:" +msgstr "Repetir palavra-passe" + +#: data/ui/password_widget.ui:90 +#, fuzzy +msgid "New Password:" +msgstr "Palavra-passe" + +#: data/ui/password_widget.ui:135 +msgid "Confirm New Password:" +msgstr "" + +#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208 +#, fuzzy +msgid "Change Password" +msgstr "Palavra-passe" + +#: data/ui/password_widget.ui:204 +#, fuzzy +msgid "Delete Password" +msgstr "Repetir palavra-passe" + +#: data/ui/provider_image.ui:41 +msgid "We couldn't find an image for this provider" +msgstr "" + +#. Night mode action +#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112 +msgid "Preferences" +msgstr "Preferências" + +#: data/ui/settings.ui.in:95 +msgid "Behaviour" +msgstr "Comportamento" + +#: data/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "Geral" + +#: data/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Mostrar atalhos" + +#: data/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "Preferências" + +#: data/ui/shortcuts.ui:31 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Sair" + +#: data/ui/shortcuts.ui:40 +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Contas" + +#: data/ui/shortcuts.ui:44 +msgctxt "shortcut window" +msgid "Add" +msgstr "Adicionar" + +#: data/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "Procurar" + +#: data/ui/window.ui.in:182 +msgid "There are no accounts yet…" +msgstr "Ainda não existem contas…" + +#: data/ui/window.ui.in:211 +#, fuzzy +msgid "Add a new account from the menu" +msgstr "Adicionar uma nova conta" + +#: data/ui/window.ui.in:227 +#, fuzzy +msgid "Scan a QR Code" +msgstr "Digitalizar código QR" + +#: data/ui/window.ui.in:373 +msgid "No results found" +msgstr "" + +#: data/ui/window.ui.in:437 +msgid "Authenticator is locked" +msgstr "O Authenticator está bloqueado" + +#: data/ui/window.ui.in:476 +msgid "Unlock" +msgstr "Desbloquear" + +#: src/authenticator.py.in:50 +msgid "Start in debug mode" +msgstr "Arrancar no modo de depuração de erros" + +#: src/authenticator.py.in:52 +msgid "Authenticator version number" +msgstr "Número da versão do Autenticador" + +#: src/Authenticator/application.py.in:92 +#: src/Authenticator/widgets/settings.py:92 +msgid "Lock the application" +msgstr "Bloquear a aplicação" + +#: src/Authenticator/application.py.in:100 +msgid "from a plain-text JSON file" +msgstr "de um ficheiro JSON de texto simples" + +#: src/Authenticator/application.py.in:101 +msgid "in a plain-text JSON file" +msgstr "num ficheiro JSON em texto simples" + +#: src/Authenticator/application.py.in:103 +msgid "Restore" +msgstr "Restaurar" + +#: src/Authenticator/application.py.in:104 +msgid "Backup" +msgstr "Cópia de segurança" + +#: src/Authenticator/application.py.in:113 +msgid "Donate" +msgstr "Fazer um donativo" + +#: src/Authenticator/application.py.in:114 +msgid "Keyboard Shortcuts" +msgstr "Atalhos de teclado" + +#: src/Authenticator/application.py.in:115 +msgid "About Authenticator" +msgstr "Sobre o Autenticador" + +#: src/Authenticator/models/account.py:71 +msgid "Default" +msgstr "Padrão" + +#: src/Authenticator/widgets/accounts/add.py:58 +msgid "Invalid QR code" +msgstr "Código QR inválido" + +#: src/Authenticator/widgets/accounts/list.py:143 +msgid "The One-Time Passwords expires in {} seconds" +msgstr "As palavras-passe de 1 só utilização expiram em {} segundos" + +#: src/Authenticator/widgets/accounts/row.py:80 +msgid "Couldn't generate the secret code" +msgstr "Não foi possível gerar o código secreto" + +#: src/Authenticator/widgets/accounts/row.py:91 +msgid "The PIN of {} was copied to the clipboard" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:123 +msgid "The account was updated successfully" +msgstr "" + +#: src/Authenticator/widgets/notification.py:43 +#, fuzzy +msgid "Close the notification" +msgstr "Bloquear a aplicação" + +#: src/Authenticator/widgets/notification.py:48 +#: src/Authenticator/widgets/notification.py:63 +msgid "Undo" +msgstr "" + +#: src/Authenticator/widgets/settings.py:93 +msgid "Lock the application with a password" +msgstr "Bloquear a aplicação com uma palavra-passe" + +#: src/Authenticator/widgets/settings.py:157 +#, fuzzy +msgid "Authentication password is now enabled." +msgstr "" +"A palavra-passe de autenticação agora está ativa. Reinicie a aplicação." + +#: src/Authenticator/widgets/settings.py:159 +#, fuzzy +msgid "The authentication password was updated." +msgstr "Palavra-passe do Authenticator" + +#: src/Authenticator/widgets/settings.py:163 +#, fuzzy +msgid "The authentication password was deleted." +msgstr "Palavra-passe do Authenticator" + +#: src/Authenticator/widgets/settings.py:204 +#, fuzzy +msgid "Save Password" +msgstr "Palavra-passe" + +#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45 +msgid "JSON files" +msgstr "Ficheiros JSON" + +#~ msgid "Huge database of (290+) websites/applications" +#~ msgstr "Grande base de dados (290+) de sites e programas" + +#~ msgid "Night mode" +#~ msgstr "Modo noturno" + +#~ msgid "Enable/disable night mode within the application" +#~ msgstr "Ativar / desativar o modo noturno dentro da aplicação" + +#~ msgid "Use a dark theme, if possible" +#~ msgstr "Usar tema escuro se for possível" + +#~ msgid "Keep your accounts safer " +#~ msgstr "Mantenha as suas contas seguras " + +#~ msgid "Settings" +#~ msgstr "Configurações" + +#~ msgid "Edit {} - {}" +#~ msgstr "Editar {} - {}" + +#~ msgid "Authentication password was unset. Please restart the application" +#~ msgstr "" +#~ "A palavra-passe de autenticação não estava definida. Reinicie a aplicação" + +#~ msgid "Open" +#~ msgstr "Abrir" + +#~ msgid "Cancel" +#~ msgstr "Cancelar" + +#~ msgid "Select" +#~ msgstr "Selecionar" diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 0000000..7066c04 --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,673 @@ +# Brazilian Portuguese translation of authenticator. +# Copyright (C) 2019 Authenticator'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Authenticator package. +# Rafael Fontenelle , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: Authenticator\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/Authenticator/issues\n" +"POT-Creation-Date: 2019-07-02 16:11+0000\n" +"PO-Revision-Date: 2019-07-07 17:10-0300\n" +"Last-Translator: Rafael Fontenelle \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\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: Gtranslator 3.32.0\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:36 +msgid "Authenticator" +msgstr "Autenticador" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:8 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +#: data/resources/gtk/ui/about_dialog.ui.in:10 +#| msgid "Two-factor authentication" +msgid "A Two-Factor Authentication application" +msgstr "Um aplicativo de autenticação de dois fatores" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Aplicativo simples que gera um código de autenticação de dois fatores, " +"criado para o GNOME." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:11 +msgid "Features:" +msgstr "Características:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "QR code scanner" +msgstr "Escaneador de código QR" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Beautiful UI" +msgstr "Uma interface de usuário bonita" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +msgid "Huge database of more than 560 supported services" +msgstr "Enorme banco de dados de mais de 560 serviços suportados" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Mantenha seus tokens PIN seguros bloqueando o aplicativo com uma senha" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "Automatically fetch an image for services using their favicon" +msgstr "Obter automaticamente uma imagem para serviços usando seus favicon" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:18 +msgid "The possibility to add new services" +msgstr "A possibilidade de adicionar novos serviços" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:19 +msgid "Dark theme and night light" +msgstr "Tema escuro e luz noturna" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:25 +msgid "Main Window - empty state" +msgstr "Janela principal - estado vazio" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:29 +#: data/resources/gtk/ui/account_add.ui:15 +msgid "Add a new account" +msgstr "Adicionar uma nova conta" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:33 +msgid "Main Window - Accounts List" +msgstr "Janela principal - lista de contas" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "Settings Window" +msgstr "Janela de configurações" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:160 +msgid "Bilal Elmoussaoui" +msgstr "Bilal Elmoussaoui" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +#| msgid "Two-factor authentication" +msgid "Two-factor Authentication" +msgstr "Autenticação de dois fatores" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;2FA;Authentication;TwoFactor;" +msgstr "" +"Gnome;GTK;Verificação;2FA;Autenticação;Authentication;TwoFactor;Dois Fatores;" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "Posição padrão da janela" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: data/resources/gtk/ui/settings.ui.in:28 +msgid "Dark Theme" +msgstr "Tema escuro" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: data/resources/gtk/ui/settings.ui.in:29 +#: data/resources/gtk/ui/settings.ui.in:76 +msgid "Whether the application should use a dark theme." +msgstr "Se o aplicativo deve usar um tema escuro." + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: data/resources/gtk/ui/settings.ui.in:83 +msgid "Auto lock timeout" +msgstr "Tempo até bloqueio automático" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +msgid "Lock the application on idle after X minutes" +msgstr "Bloqueia o aplicativo após inatividade por X minutos" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +#: data/resources/gtk/ui/settings.ui.in:43 +msgid "Night Light" +msgstr "Luz noturna" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:22 +#: data/resources/gtk/ui/settings.ui.in:44 +#: data/resources/gtk/ui/settings.ui.in:84 +msgid "Automatically enable dark mode at night." +msgstr "Habilita automaticamente o modo escuro à noite." + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26 +msgid "Default window maximized behaviour" +msgstr "Comportamento padrão da janela maximizada" + +#: data/resources/gtk/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "" +"Fúlvio Alves \n" +"Rafael Fontenelle " + +#: data/resources/gtk/ui/account_add.ui:33 +msgid "Add" +msgstr "Adicionar" + +#: data/resources/gtk/ui/account_add.ui:53 +msgid "Scan QR Code" +msgstr "Escanear código QR" + +#: data/resources/gtk/ui/account_config.ui:56 +msgid "Account Name" +msgstr "Nome da conta" + +#: data/resources/gtk/ui/account_config.ui:78 +msgid "Provider" +msgstr "Provedor" + +#: data/resources/gtk/ui/account_config.ui:95 +#: data/resources/gtk/ui/account_config.ui:96 +msgid "Enable 2FA for this account" +msgstr "Habilita 2FA para essa conta" + +#: data/resources/gtk/ui/account_config.ui:97 +msgid "2FA Token" +msgstr "Token 2FA" + +#: data/resources/gtk/ui/account_config.ui:111 +msgid "Provider Website" +msgstr "Site do provedor" + +#: data/resources/gtk/ui/account_edit.ui:31 +msgid "Save" +msgstr "Salvar" + +#: data/resources/gtk/ui/account_row.ui:22 +msgid "Edit" +msgstr "Editar" + +#: data/resources/gtk/ui/account_row.ui:40 +msgid "Delete" +msgstr "Excluir" + +#: data/resources/gtk/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "Copiar PIN pra área de transferência" + +#: data/resources/gtk/ui/password_widget.ui:46 +msgid "Current Password:" +msgstr "Senha atual:" + +#: data/resources/gtk/ui/password_widget.ui:91 +msgid "New Password:" +msgstr "Nova senha:" + +#: data/resources/gtk/ui/password_widget.ui:136 +msgid "Confirm New Password:" +msgstr "Confirmar nova senha:" + +#: data/resources/gtk/ui/password_widget.ui:184 +#: src/Authenticator/widgets/settings.py:174 +msgid "Change Password" +msgstr "Alterar senha" + +#: data/resources/gtk/ui/password_widget.ui:205 +msgid "Delete Password" +msgstr "Excluir senha" + +#: data/resources/gtk/ui/settings.ui.in:24 +msgid "Appearance" +msgstr "Aparência" + +#: data/resources/gtk/ui/settings.ui.in:75 +#: src/Authenticator/application.py.in:106 +msgid "Lock the application" +msgstr "Bloquear o aplicativo" + +#: data/resources/gtk/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "Geral" + +#: data/resources/gtk/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Mostra os atalhos" + +#: data/resources/gtk/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "Preferências" + +#: data/resources/gtk/ui/shortcuts.ui:31 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Sai" + +#: data/resources/gtk/ui/shortcuts.ui:40 +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Contas" + +#: data/resources/gtk/ui/shortcuts.ui:44 +msgctxt "shortcut window" +msgid "Add" +msgstr "Adiciona" + +#: data/resources/gtk/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "Pesquisa" + +#: data/resources/gtk/ui/window.ui.in:189 +msgid "There are no accounts yet…" +msgstr "Ainda não há contas…" + +#: data/resources/gtk/ui/window.ui.in:218 +msgid "Add a new account from the menu" +msgstr "Adicione uma nova conta pelo menu" + +#: data/resources/gtk/ui/window.ui.in:234 +msgid "Scan a QR Code" +msgstr "Escaneie um código QR" + +#: data/resources/gtk/ui/window.ui.in:366 +msgid "No results found" +msgstr "Nenhum resultado encontrado" + +#: data/resources/gtk/ui/window.ui.in:429 +msgid "Authenticator is locked" +msgstr "O Autenticador está bloqueado" + +#: data/resources/gtk/ui/window.ui.in:468 +msgid "Unlock" +msgstr "Desbloquear" + +#: src/authenticator.py.in:49 +msgid "Start in debug mode" +msgstr "Iniciar no modo de depuração" + +#: src/Authenticator/application.py.in:114 +msgid "from a plain-text JSON file" +msgstr "de um arquivo JSON de texto simples" + +#: src/Authenticator/application.py.in:115 +msgid "in a plain-text JSON file" +msgstr "em um arquivo JSON em texto simples" + +#: src/Authenticator/application.py.in:117 +msgid "Restore" +msgstr "Restaurar" + +#: src/Authenticator/application.py.in:118 +msgid "Backup" +msgstr "Cópia de segurança" + +#. Night mode action +#: src/Authenticator/application.py.in:126 +msgid "Preferences" +msgstr "Preferências" + +#: src/Authenticator/application.py.in:127 +msgid "Donate" +msgstr "Doar" + +#: src/Authenticator/application.py.in:128 +msgid "Keyboard Shortcuts" +msgstr "Atalhos de teclado" + +#: src/Authenticator/application.py.in:129 +msgid "About Authenticator" +msgstr "Sobre o Autenticador" + +#: src/Authenticator/models/account.py:84 +msgid "Default" +msgstr "Padrão" + +#: src/Authenticator/widgets/accounts/add.py:247 +msgid "Invalid QR code" +msgstr "Código QR inválido" + +#: src/Authenticator/widgets/accounts/list.py:152 +msgid "The One-Time Passwords expire in {} seconds" +msgstr "As senhas de uso único (OTP) expiram em {} segundos" + +#: src/Authenticator/widgets/accounts/row.py:90 +msgid "Couldn't generate the secret code" +msgstr "Não foi possível gerar o código secreto" + +#: src/Authenticator/widgets/accounts/row.py:100 +msgid "The PIN of {} was copied to the clipboard" +msgstr "O PIN de {} foi copiado para a área de transferência" + +#: src/Authenticator/widgets/accounts/row.py:141 +msgid "The account was updated successfully" +msgstr "A conta foi atualizada com sucesso" + +#: src/Authenticator/widgets/notification.py:53 +#: src/Authenticator/widgets/notification.py:84 +msgid "Undo" +msgstr "Desfazer" + +#: src/Authenticator/widgets/notification.py:79 +msgid "Close the notification" +msgstr "Fechar a notificação" + +#: src/Authenticator/widgets/settings.py:170 +msgid "Save Password" +msgstr "Salvar senha" + +#: src/Authenticator/widgets/settings.py:222 +msgid "Do you want to remove the authentication password?" +msgstr "Deseja remover a senha de autenticação?" + +#: src/Authenticator/widgets/settings.py:223 +msgid "Authentication password enforces the privacy of your accounts." +msgstr "A senha de autenticação reforça a privacidade de suas contas." + +#: src/Authenticator/widgets/utils.py:26 src/Authenticator/widgets/utils.py:31 +msgid "JSON files" +msgstr "Arquivos JSON" + +#~ msgid "Two-factor authentication code generator" +#~ msgstr "Gerador de código de autenticação de dois fatores" + +#~ msgid "" +#~ "HOTFIX: if you had an issue with your accounts being lost after the " +#~ "latest update, please update to this one." +#~ msgstr "" +#~ "HOTFIX: se você teve um problema com suas contas perdidas após a " +#~ "atualização mais recente, atualize para esta." + +#~ msgid "" +#~ "Database migrations: ensure users won't lose their data in the future" +#~ msgstr "" +#~ "Migrações de banco de dados: garanta que os usuários não perderão seus " +#~ "dados no futuro" + +#~ msgid "Fix edit account issue" +#~ msgstr "Correção de problema na edição de contas" + +#~ msgid "Improve the provider image widget" +#~ msgstr "Melhoria do widget de imagem do provedor" + +#~ msgid "Translations updates" +#~ msgstr "Atualizações de traduções" + +#~ msgid "" +#~ "Authenticator 3.32 is out! Here's an overview of what changed Please " +#~ "backup your accounts before updating to the latest version and restore " +#~ "the data after update." +#~ msgstr "" +#~ "O autenticador 3.32 está fora! Aqui está uma visão geral do que mudou. " +#~ "Por favor, faça backup de suas contas antes de atualizar para a versão " +#~ "mais recente e restaurar os dados após a atualização." + +#~| msgid "Settings Window" +#~ msgid "New settings window" +#~ msgstr "Nova janela de configurações" + +#~ msgid "Download provider images using their favicon if possible" +#~ msgstr "Baixa imagens dos provedores usando seu favicon, se possível" + +#~ msgid "Night Light feature: not working yet!" +#~ msgstr "Recurso de luz noturna: não está funcionando ainda!" + +#~ msgid "" +#~ "The possibility to enable/disable a password without having to reset " +#~ "everything" +#~ msgstr "" +#~ "A possibilidade de habilitar/desabilitar uma senha sem ter que redefinir " +#~ "tudo" + +#~ msgid "" +#~ "You can now add new providers and set images for providers that we didn't " +#~ "find an icon for" +#~ msgstr "" +#~ "Agora você pode adicionar novos provedores e definir imagens para " +#~ "provedores para os quais não encontramos um ícone" + +#~ msgid "Mobile ready" +#~ msgstr "Pronto para mobilidade" + +#~ msgid "New icon by Tobias Bernard" +#~ msgstr "Novo ícone por Tobias Bernard" + +#~ msgid "Click to copy the PIN on GNOME Shell Search provider results" +#~ msgstr "" +#~ "Clique para copiar o PIN nos resultados do provedor de Pesquisa do GNOME " +#~ "Shell" + +#~ msgid "" +#~ "Hide the results from Shell Search Provider if the application is locked" +#~ msgstr "" +#~ "Oculte os resultados do Provedor de Pesquisa do Shell se o aplicativo " +#~ "estiver bloqueado" + +#~ msgid "Bunch of fixed bugs" +#~ msgstr "Várias correções de erros" + +#~ msgid "" +#~ "Since I have moved the application to GNOME Gitlab's World group, a " +#~ "Flatpak build for each new commit is available to download from the " +#~ "site's website." +#~ msgstr "" +#~ "Desde que eu mudei o aplicativo para o grupo World do GNOME GitLab, uma " +#~ "versão Flatpak para cada novo commit está disponível para download no " +#~ "site do site." + +#~ msgid "Backup and restore from a basic JSON file" +#~ msgstr "Backup e restauração de um arquivo JSON básico" + +#~ msgid "Backup and restore from an encrypted-GPG JSON file" +#~ msgstr "Backup e restauração de um arquivo JSON criptografado com GPG" + +#~ msgid "Add andOTP support (free and open Android 2FA application)" +#~ msgstr "Adição de suporte a andOTP (aplicativo Android 2FA livre e aberto)" + +#~ msgid "New Settings window with 3 sections: appearance, behavior and backup" +#~ msgstr "" +#~ "Nova janela de Configurações com 3 seções: aparência, comportamento e " +#~ "backup" + +#~ msgid "Fix Flatpak Build with the latest GNOME Runtime" +#~ msgstr "Correção de Flatpak Build com o GNOME Runtime mais recente" + +#~ msgid "Move the project to GNOME Gitlab's World group" +#~ msgstr "Movido o projeto para o grupo World do GNOME GitLab" + +#~ msgid "GNOME Shell Search provider" +#~ msgstr "Provedor de Pesquisa do GNOME Shell" + +#~ msgid "Codes expire simultaneously #91" +#~ msgstr "Código expira simultaneamente #91" + +#~ msgid "Revamped main window to more closely follow the GNOME HIG" +#~ msgstr "Renovada a janela principal para seguir mais de perto o GNOME HIG" + +#~ msgid "Revamped add a new account window to make it easier to use" +#~ msgstr "Renovada a adição de uma nova janela de conta para facilitar o uso" + +#~ msgid "" +#~ "Possibility to add an account from a provider not listed in the shipped " +#~ "database" +#~ msgstr "" +#~ "Possibilidade de adicionar uma conta de um provedor não listado no banco " +#~ "de dados enviado" + +#~ msgid "Possibility to edit an account" +#~ msgstr "Possibilidade de editar uma conta" + +#~ msgid "One Time Password now visible by default" +#~ msgstr "Senha de uso único (OTP) agora visível por padrão" + +#~ msgid "Fix python-dbus by using GDbus instead" +#~ msgstr "Correção do python-dbus usando o GDbus" + +#~ msgid "Fix the QRScanner on GNOME Shell" +#~ msgstr "Correção do QRScanner no GNOME Shell" + +#~| msgid "Add a new account from the menu" +#~ msgid "Add a new entry for the account's username" +#~ msgstr "Adição de uma nova entrada para o nome de usuário da conta" + +#~ msgid "Updated database of supported accounts" +#~ msgstr "Banco de dados atualizado de contas suportadas" + +#~ msgid "HOTFIX: App not running in DE other than GNOME" +#~ msgstr "HOTFIX: Aplicativo não sendo executado em DE diferente do GNOME" + +#~ msgid "Rename project to Authenticator" +#~ msgstr "Projeto renomeado para Autenticador" + +#~ msgid "Cleaner code base" +#~ msgstr "Base de código mais limpo" + +#~ msgid "Faster startup" +#~ msgstr "Inicialização mais rápida" + +#~ msgid "Remove unneeded features" +#~ msgstr "Remoção de recursos desnecessários" + +#~ msgid "Switch to pyzbar instead of zbarlight" +#~ msgstr "Troca para pyzbar em vez de zbarlight" + +#~ msgid "Flatpak package" +#~ msgstr "Pacote Flatpak" + +#~ msgid "Two-factor authentication code generator." +#~ msgstr "Gerador de código de autenticação de dois fatores." + +#~ msgid "Close" +#~ msgstr "Fechar" + +#~ msgid "We couldn't find an image for this provider" +#~ msgstr "Não foi possível localizar uma imagem para esse provedor" + +#~ msgid "Behaviour" +#~ msgstr "Comportamento" + +#~ msgid "Authenticator version number" +#~ msgstr "Número da versão do Autenticador" + +#~ msgid "Authentication password is now enabled." +#~ msgstr "Senha de autenticação agora habilitada." + +#~ msgid "The authentication password was updated." +#~ msgstr "A senha de autenticação foi atualizada." + +#~ msgid "The authentication password was deleted." +#~ msgstr "A senha de autenticação foi excluída." + +#~ msgid "@appid@" +#~ msgstr "@appid@" + +#~ msgid "Huge database of (290+) websites/applications" +#~ msgstr "Enorme banco de dados (290+) de web sites e aplicativos" + +#~ msgid "Night mode" +#~ msgstr "Modo noturno" + +#~ msgid "Enable/disable night mode within the application" +#~ msgstr "Ativar/desativar o modo noturno dentro do aplicativo" + +#~ msgid "Use a dark theme, if possible" +#~ msgstr "Use um tema escuro, se possível" + +#, fuzzy +#~ msgid "Authenticator Password" +#~ msgstr "Senha de autenticação" + +#~ msgid "Edit {} - {}" +#~ msgstr "Editar {} - {}" + +#~ msgid "Open" +#~ msgstr "Abrir" + +#~ msgid "Cancel" +#~ msgstr "Cancelar" + +#~ msgid "Select" +#~ msgstr "Selecionar" + +#~ msgid "Secret token" +#~ msgstr "Token secreto" + +#~ msgid "zbar library is not found. QRCode scanner will be disabled" +#~ msgstr "" +#~ "A biblioteca zbar não foi encontrada. O escaneador QRCode será desativado" + +#~ msgid "Copy" +#~ msgstr "Copiar" + +#~ msgid "Search" +#~ msgstr "Procurar" + +#~ msgid "Selection mode" +#~ msgstr "Modo de seleção" + +#~ msgid "Click on items to select them" +#~ msgstr "Clique nos itens para selecioná-los" + +#~ msgid "Old Password" +#~ msgstr "Senha antiga" + +#~ msgid "Erase existing accounts" +#~ msgstr "Apagar contas existentes" + +#~ msgid "The application needs to be restarted first." +#~ msgstr "O aplicativo precisa ser reiniciado antes." + +#~ msgid "The existing accounts will be erased in 5 seconds" +#~ msgstr "As contas existentes serão apagadas em 5 segundos" + +#~ msgid "An account or more were removed." +#~ msgstr "Uma ou mais contas foram removidas." + +#~ msgid "Whether the application is locked with a password or not" +#~ msgstr "Se o aplicativo está ou não bloqueado com uma senha" + +#~ msgctxt "shortcut window" +#~ msgid "Select" +#~ msgstr "Selecionar" + +#, fuzzy +#~ msgid "Authenticator@NAME_SUFFIX@" +#~ msgstr "Autenticador" + +#~ msgid "in an OpenPGP-encrypted JSON file" +#~ msgstr "em um arquivo JSON encriptado com OpenPGP" + +#~ msgid "About" +#~ msgstr "Sobre" + +#, fuzzy +#~ msgid "GPG paraphrase" +#~ msgstr "Senha GPG" + +#~ msgid "Import" +#~ msgstr "Importar" + +#, fuzzy +#~ msgid "Paraphrase" +#~ msgstr "Paráfrase" + +#~ msgid "There was an error during the import of the encrypted file." +#~ msgstr "Houve um erro durante a importação do arquivo criptografado." + +#~ msgid "GPG fingerprint" +#~ msgstr "Impressão digital GPG" + +#~ msgid "Public keys" +#~ msgstr "Chaves públicas" + +#~ msgid "Private keys" +#~ msgstr "Chaves privadas" + +#~ msgid "GPG keys location" +#~ msgstr "Localização das chaves GPG" + +#~ msgid "Encrypted GPG files" +#~ msgstr "Arquivos encriptados com GPG" + +#~ msgid "com.github.bilelmoussaoui.Authenticator" +#~ msgstr "com.github.bilelmoussaoui.Authenticator" diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000..81ff26c --- /dev/null +++ b/po/ru.po @@ -0,0 +1,604 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Authenticator package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Authenticator\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2019-05-06 09:47+0000\n" +"Last-Translator: --------------------- \n" +"Language-Team: Russian \n" +"Language: ru\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 3.7-dev\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "Аутентификатор" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +msgid "Two-factor authentication code generator" +msgstr "Генератор двухфакторных кодов аутентификации" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Простое приложение, которое генерирует двухфакторные коды аутентификации, " +"созданное для GNOME." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "Возможности:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "Сканер QR кодов" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "Прекрасный Пользовательский Интерфейс" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Возможность блокировки программы паролем" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +msgid "Move the project to GOME Gitlab's World group" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" +"Возможность добавления учетной записи поставщика услуг, не указанного в базе " +"данных отгруженного оборудования" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "Возможность править аккаунт" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +msgid "One Time Password now visible by default" +msgstr "OTP теперь по умолчанию видны" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "Исправление шины python-dbus с помощью GDbus вместо нее" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "Исправить QRScanner на оболочке GNOME Shell" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "База поддерживаемых аккаунтов обновлена" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +#, fuzzy +msgid "Rename project to Authenticator" +msgstr "Об Аутентификаторе" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +msgid "Cleaner code base" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +msgid "Remove unneeded features" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +msgid "Two-factor authentication" +msgstr "Двухфакторная аутентификация" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "Gnome;GTK;Проверка;" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "@appid@" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "Положение окна по умолчанию" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +#, fuzzy +msgid "Dark Theme" +msgstr "Тёмная тема" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +#, fuzzy +msgid "Whether the application should use a dark theme." +msgstr "Может ли приложение быть заблоровано или нет" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "Поведение по умолчанию для развернутого окна" + +#: data/ui/about_dialog.ui.in:10 +msgid "Two-factor authentication code generator." +msgstr "Генератор кодов двухфакторной аутентификации." + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "благодарность-переводчикам" + +#: data/ui/account_add.ui:22 +msgid "Add a new account" +msgstr "Добавить новый аккаунт" + +#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19 +msgid "Close" +msgstr "Закрыть" + +#: data/ui/account_add.ui:34 +msgid "Add" +msgstr "Добавить" + +#: data/ui/account_add.ui:54 +#, fuzzy +msgid "Scan QR Code" +msgstr "Сканировать QR код" + +#: data/ui/account_config.ui:85 +msgid "Enable 2FA for this account" +msgstr "" + +#: data/ui/account_config.ui:86 +msgid "2FA Token" +msgstr "" + +#: data/ui/account_config.ui:100 +#, fuzzy +msgid "Account Name" +msgstr "Имя аккаунта" + +#: data/ui/account_config.ui:123 +msgid "Provider" +msgstr "Провайдер" + +#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50 +msgid "Save" +msgstr "Сохранить" + +#: data/ui/account_row.ui:23 +msgid "Edit" +msgstr "Редактировать" + +#: data/ui/account_row.ui:41 +msgid "Delete" +msgstr "Удалить" + +#: data/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "" + +#: data/ui/password_widget.ui:46 +#, fuzzy +msgid "Current Password:" +msgstr "Повторите пароль" + +#: data/ui/password_widget.ui:90 +#, fuzzy +msgid "New Password:" +msgstr "Пароль" + +#: data/ui/password_widget.ui:135 +msgid "Confirm New Password:" +msgstr "" + +#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208 +#, fuzzy +msgid "Change Password" +msgstr "Пароль" + +#: data/ui/password_widget.ui:204 +#, fuzzy +msgid "Delete Password" +msgstr "Повторите пароль" + +#: data/ui/provider_image.ui:41 +msgid "We couldn't find an image for this provider" +msgstr "" + +#. Night mode action +#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112 +msgid "Preferences" +msgstr "Настройки" + +#: data/ui/settings.ui.in:95 +msgid "Behaviour" +msgstr "Поведение" + +#: data/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "Основные" + +#: data/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Показать Горячие Клавиши" + +#: data/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "Настройки" + +#: data/ui/shortcuts.ui:31 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Выйти" + +#: data/ui/shortcuts.ui:40 +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Аккаунты" + +#: data/ui/shortcuts.ui:44 +msgctxt "shortcut window" +msgid "Add" +msgstr "Добавить" + +#: data/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "Поиск" + +#: data/ui/window.ui.in:182 +msgid "There are no accounts yet…" +msgstr "Не добавлено ни одного аккаунта…" + +#: data/ui/window.ui.in:211 +#, fuzzy +msgid "Add a new account from the menu" +msgstr "Добавить новый аккаунт" + +#: data/ui/window.ui.in:227 +#, fuzzy +msgid "Scan a QR Code" +msgstr "Сканировать QR код" + +#: data/ui/window.ui.in:373 +msgid "No results found" +msgstr "" + +#: data/ui/window.ui.in:437 +#, fuzzy +msgid "Authenticator is locked" +msgstr "Аутентификатор" + +#: data/ui/window.ui.in:476 +msgid "Unlock" +msgstr "" + +#: src/authenticator.py.in:50 +msgid "Start in debug mode" +msgstr "Запустить в режиме отладки" + +#: src/authenticator.py.in:52 +msgid "Authenticator version number" +msgstr "Номер версии аутентификатора" + +#: src/Authenticator/application.py.in:92 +#: src/Authenticator/widgets/settings.py:92 +msgid "Lock the application" +msgstr "Заблокировать приложение" + +#: src/Authenticator/application.py.in:100 +msgid "from a plain-text JSON file" +msgstr "из текстового файла в формате JSON" + +#: src/Authenticator/application.py.in:101 +msgid "in a plain-text JSON file" +msgstr "в текстовый файл в формате JSON" + +#: src/Authenticator/application.py.in:103 +msgid "Restore" +msgstr "Восстановить" + +#: src/Authenticator/application.py.in:104 +msgid "Backup" +msgstr "Резервное копирование" + +#: src/Authenticator/application.py.in:113 +msgid "Donate" +msgstr "Пожертвовать" + +#: src/Authenticator/application.py.in:114 +msgid "Keyboard Shortcuts" +msgstr "Горячие Клавиши" + +#: src/Authenticator/application.py.in:115 +msgid "About Authenticator" +msgstr "Об Аутентификаторе" + +#: src/Authenticator/models/account.py:71 +msgid "Default" +msgstr "По умолчанию" + +#: src/Authenticator/widgets/accounts/add.py:58 +msgid "Invalid QR code" +msgstr "Некорректный QR код" + +#: src/Authenticator/widgets/accounts/list.py:143 +msgid "The One-Time Passwords expires in {} seconds" +msgstr "Одноразовый пароль истекает через {} секунд" + +#: src/Authenticator/widgets/accounts/row.py:80 +msgid "Couldn't generate the secret code" +msgstr "Не удалось генерировать секретный код" + +#: src/Authenticator/widgets/accounts/row.py:91 +msgid "The PIN of {} was copied to the clipboard" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:123 +msgid "The account was updated successfully" +msgstr "" + +#: src/Authenticator/widgets/notification.py:43 +#, fuzzy +msgid "Close the notification" +msgstr "Заблокировать приложение" + +#: src/Authenticator/widgets/notification.py:48 +#: src/Authenticator/widgets/notification.py:63 +msgid "Undo" +msgstr "Отменить" + +#: src/Authenticator/widgets/settings.py:93 +#, fuzzy +msgid "Lock the application with a password" +msgstr "Возможность блокировки программы паролем" + +#: src/Authenticator/widgets/settings.py:157 +#, fuzzy +msgid "Authentication password is now enabled." +msgstr "Пароль аутентификации" + +#: src/Authenticator/widgets/settings.py:159 +#, fuzzy +msgid "The authentication password was updated." +msgstr "Пароль аутентификации" + +#: src/Authenticator/widgets/settings.py:163 +#, fuzzy +msgid "The authentication password was deleted." +msgstr "Пароль аутентификации" + +#: src/Authenticator/widgets/settings.py:204 +#, fuzzy +msgid "Save Password" +msgstr "Пароль" + +#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45 +msgid "JSON files" +msgstr "JSON файлы" + +#~ msgid "Huge database of (290+) websites/applications" +#~ msgstr "Огромная база данных (290+) веб-сайтов/приложений" + +#~ msgid "Night mode" +#~ msgstr "Ночной режим" + +#~ msgid "Enable/disable night mode within the application" +#~ msgstr "Включение/выключение ночного режима в приложении" + +#~ msgid "Use a dark theme, if possible" +#~ msgstr "По возможности используйте тёмную тему" + +#~ msgid "Settings" +#~ msgstr "Настройки" + +#, fuzzy +#~ msgid "Authenticator Password" +#~ msgstr "Пароль Аутентификации" + +#~ msgid "Edit {} - {}" +#~ msgstr "Редактировать {} - {}" + +#~ msgid "Open" +#~ msgstr "Открыть" + +#~ msgid "Cancel" +#~ msgstr "Отменить" + +#~ msgid "Select" +#~ msgstr "Выбрать" + +#~ msgid "Secret token" +#~ msgstr "Секретный токен" + +#~ msgid "zbar library is not found. QRCode scanner will be disabled" +#~ msgstr "zbar библиотека не найдена. Сканнер QRCode будет отключен" + +#~ msgid "Copy" +#~ msgstr "Копировать" + +#~ msgid "Search" +#~ msgstr "Поиск" + +#~ msgid "Selection mode" +#~ msgstr "Режим выбора" + +#~ msgid "Click on items to select them" +#~ msgstr "Нажмите на элемент для выбора" + +#~ msgid "Old Password" +#~ msgstr "Старый Пароль" + +#~ msgid "Appearance" +#~ msgstr "Внешний вид" + +#~ msgid "Erase existing accounts" +#~ msgstr "Удалить существующие аккаунты" + +#~ msgid "Set up application authentication password" +#~ msgstr "Установите пароль аутентификации приложения" + +#~ msgid "The application needs to be restarted first." +#~ msgstr "Приложению требуется перезапуск." + +#~ msgid "The existing accounts will be erased in 5 seconds" +#~ msgstr "Существующие аккаунты будут удалены через 5 секунд" + +#~ msgid "An account or more were removed." +#~ msgstr "Один или несколько аккаунтов были удалены." + +#~ msgid "Whether the application is locked with a password or not" +#~ msgstr "Заблокировано ли приложение паролем или нет" + +#~ msgctxt "shortcut window" +#~ msgid "Select" +#~ msgstr "Выбрать" diff --git a/po/sr.po b/po/sr.po new file mode 100644 index 0000000..9a530d4 --- /dev/null +++ b/po/sr.po @@ -0,0 +1,583 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Authenticator package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Authenticator\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2018-03-25 14:53+0000\n" +"Last-Translator: Slobodan Terzić \n" +"Language-Team: Serbian \n" +"Language: sr\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 2.20-dev\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "Аутентификатор" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +#, fuzzy +msgid "Two-factor authentication code generator" +msgstr "Стваралац кодова за двофакторну аутентификацију." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +#, fuzzy +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Једноставан програм који ствара код за двофакторну аутентификацију, " +"направљен за Гном" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Аутентификатор" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +msgid "Move the project to GOME Gitlab's World group" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +msgid "One Time Password now visible by default" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +#, fuzzy +msgid "Rename project to Authenticator" +msgstr "О Аутентификатору" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +msgid "Cleaner code base" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +msgid "Remove unneeded features" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +#, fuzzy +msgid "Two-factor authentication" +msgstr "Двофакторна аутентификација" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "Gnome;GTK;Verification;Овера;" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +msgid "Dark Theme" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +msgid "Whether the application should use a dark theme." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "" + +#: data/ui/about_dialog.ui.in:10 +#, fuzzy +msgid "Two-factor authentication code generator." +msgstr "Стваралац кодова за двофакторну аутентификацију." + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "Слободан Терзић " + +#: data/ui/account_add.ui:22 +msgid "Add a new account" +msgstr "Додај нови налог" + +#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19 +msgid "Close" +msgstr "Затвори" + +#: data/ui/account_add.ui:34 +msgid "Add" +msgstr "Додај" + +#: data/ui/account_add.ui:54 +#, fuzzy +msgid "Scan QR Code" +msgstr "Скенирај КуР код" + +#: data/ui/account_config.ui:85 +msgid "Enable 2FA for this account" +msgstr "" + +#: data/ui/account_config.ui:86 +msgid "2FA Token" +msgstr "" + +#: data/ui/account_config.ui:100 +#, fuzzy +msgid "Account Name" +msgstr "Име налога" + +#: data/ui/account_config.ui:123 +msgid "Provider" +msgstr "" + +#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50 +msgid "Save" +msgstr "" + +#: data/ui/account_row.ui:23 +msgid "Edit" +msgstr "" + +#: data/ui/account_row.ui:41 +msgid "Delete" +msgstr "Обриши" + +#: data/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "" + +#: data/ui/password_widget.ui:46 +#, fuzzy +msgid "Current Password:" +msgstr "Аутентификатор" + +#: data/ui/password_widget.ui:90 +msgid "New Password:" +msgstr "" + +#: data/ui/password_widget.ui:135 +msgid "Confirm New Password:" +msgstr "" + +#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208 +msgid "Change Password" +msgstr "" + +#: data/ui/password_widget.ui:204 +msgid "Delete Password" +msgstr "" + +#: data/ui/provider_image.ui:41 +msgid "We couldn't find an image for this provider" +msgstr "" + +#. Night mode action +#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112 +msgid "Preferences" +msgstr "" + +#: data/ui/settings.ui.in:95 +msgid "Behaviour" +msgstr "" + +#: data/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "" + +#: data/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "" + +#: data/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "" + +#: data/ui/shortcuts.ui:31 +#, fuzzy +msgctxt "shortcut window" +msgid "Quit" +msgstr "Напусти" + +#: data/ui/shortcuts.ui:40 +#, fuzzy +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Име налога" + +#: data/ui/shortcuts.ui:44 +#, fuzzy +msgctxt "shortcut window" +msgid "Add" +msgstr "Додај" + +#: data/ui/shortcuts.ui:51 +#, fuzzy +msgctxt "shortcut window" +msgid "Search" +msgstr "Претражи" + +#: data/ui/window.ui.in:182 +#, fuzzy +msgid "There are no accounts yet…" +msgstr "Још увек нема налога..." + +#: data/ui/window.ui.in:211 +#, fuzzy +msgid "Add a new account from the menu" +msgstr "Додај нови налог" + +#: data/ui/window.ui.in:227 +#, fuzzy +msgid "Scan a QR Code" +msgstr "Скенирај КуР код" + +#: data/ui/window.ui.in:373 +msgid "No results found" +msgstr "" + +#: data/ui/window.ui.in:437 +#, fuzzy +msgid "Authenticator is locked" +msgstr "Аутентификатор" + +#: data/ui/window.ui.in:476 +msgid "Unlock" +msgstr "" + +#: src/authenticator.py.in:50 +msgid "Start in debug mode" +msgstr "Покрени у режиму за исправљање грешака" + +#: src/authenticator.py.in:52 +msgid "Authenticator version number" +msgstr "Верзија Аутентификатора" + +#: src/Authenticator/application.py.in:92 +#: src/Authenticator/widgets/settings.py:92 +msgid "Lock the application" +msgstr "" + +#: src/Authenticator/application.py.in:100 +msgid "from a plain-text JSON file" +msgstr "" + +#: src/Authenticator/application.py.in:101 +msgid "in a plain-text JSON file" +msgstr "" + +#: src/Authenticator/application.py.in:103 +msgid "Restore" +msgstr "" + +#: src/Authenticator/application.py.in:104 +#, fuzzy +msgid "Backup" +msgstr "Назад" + +#: src/Authenticator/application.py.in:113 +msgid "Donate" +msgstr "" + +#: src/Authenticator/application.py.in:114 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/Authenticator/application.py.in:115 +#, fuzzy +msgid "About Authenticator" +msgstr "Аутентификатор" + +#: src/Authenticator/models/account.py:71 +msgid "Default" +msgstr "" + +#: src/Authenticator/widgets/accounts/add.py:58 +msgid "Invalid QR code" +msgstr "Неисправан КуР код" + +#: src/Authenticator/widgets/accounts/list.py:143 +msgid "The One-Time Passwords expires in {} seconds" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:80 +msgid "Couldn't generate the secret code" +msgstr "Не могу да направим тајни код" + +#: src/Authenticator/widgets/accounts/row.py:91 +msgid "The PIN of {} was copied to the clipboard" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:123 +msgid "The account was updated successfully" +msgstr "" + +#: src/Authenticator/widgets/notification.py:43 +msgid "Close the notification" +msgstr "" + +#: src/Authenticator/widgets/notification.py:48 +#: src/Authenticator/widgets/notification.py:63 +msgid "Undo" +msgstr "Опозови" + +#: src/Authenticator/widgets/settings.py:93 +#, fuzzy +msgid "Lock the application with a password" +msgstr "Аутентификатор" + +#: src/Authenticator/widgets/settings.py:157 +#, fuzzy +msgid "Authentication password is now enabled." +msgstr "Аутентификатор" + +#: src/Authenticator/widgets/settings.py:159 +#, fuzzy +msgid "The authentication password was updated." +msgstr "Аутентификатор" + +#: src/Authenticator/widgets/settings.py:163 +#, fuzzy +msgid "The authentication password was deleted." +msgstr "Аутентификатор" + +#: src/Authenticator/widgets/settings.py:204 +msgid "Save Password" +msgstr "" + +#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45 +msgid "JSON files" +msgstr "" + +#, fuzzy +#~ msgid "Night mode" +#~ msgstr "Ноћни режим" + +#~ msgid "Settings" +#~ msgstr "Подешавања" + +#~ msgid "Cancel" +#~ msgstr "Откажи" + +#, fuzzy +#~ msgid "Select" +#~ msgstr "Режим избора" + +#, fuzzy +#~ msgid "Secret token" +#~ msgstr "Тајни токен" + +#~ msgid "Copy" +#~ msgstr "Умножи" + +#~ msgid "Search" +#~ msgstr "Претражи" + +#~ msgid "Selection mode" +#~ msgstr "Режим избора" + +#~ msgid "Click on items to select them" +#~ msgstr "Кликните на ставке да их изаберете" + +#, fuzzy +#~ msgctxt "shortcut window" +#~ msgid "Select" +#~ msgstr "Режим избора" + +#, fuzzy +#~ msgid "Authenticator@NAME_SUFFIX@" +#~ msgstr "Аутентификатор" + +#~ msgid "About" +#~ msgstr "О програму" + +#~ msgid "com.github.bilelmoussaoui.Authenticator" +#~ msgstr "com.github.bilelmoussaoui.Authenticator" + +#~ msgid "Next" +#~ msgstr "Следеће" + +#~ msgid "Two Factor Authentication code generator" +#~ msgstr "Стваралац кода за двофакторну аутентификацију" + +#~ msgid "Two-Factor Authentication code generator" +#~ msgstr "Стваралац кода за двофакторну аутентификацију" diff --git a/po/sr@latin.po b/po/sr@latin.po new file mode 100644 index 0000000..2977fad --- /dev/null +++ b/po/sr@latin.po @@ -0,0 +1,578 @@ +msgid "" +msgstr "" +"Project-Id-Version: Serbian (Authenticator)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2018-03-24 20:59+0000\n" +"Last-Translator: Slobodan Terzić \n" +"Language-Team: Serbian (latin) \n" +"Language: sr_Latn\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 2.20-dev\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "Autentifikator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +#, fuzzy +msgid "Two-factor authentication code generator" +msgstr "Stvaralac kodova za dvofaktornu autentifikaciju." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +#, fuzzy +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Jednostavan program koji stvara kod za dvofaktornu autentifikaciju, " +"napravljen za Gnom" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Autentifikator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +msgid "Move the project to GOME Gitlab's World group" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +msgid "One Time Password now visible by default" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +#, fuzzy +msgid "Rename project to Authenticator" +msgstr "O Autentifikatoru" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +msgid "Cleaner code base" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +msgid "Remove unneeded features" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +#, fuzzy +msgid "Two-factor authentication" +msgstr "Dvofaktorna autentifikacija" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "Gnome;GTK;Verification;Overa;" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +msgid "Dark Theme" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +msgid "Whether the application should use a dark theme." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "" + +#: data/ui/about_dialog.ui.in:10 +#, fuzzy +msgid "Two-factor authentication code generator." +msgstr "Stvaralac kodova za dvofaktornu autentifikaciju." + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "Slobodan Terzić " + +#: data/ui/account_add.ui:22 +msgid "Add a new account" +msgstr "Dodaj novi nalog" + +#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19 +msgid "Close" +msgstr "Zatvori" + +#: data/ui/account_add.ui:34 +msgid "Add" +msgstr "Dodaj" + +#: data/ui/account_add.ui:54 +#, fuzzy +msgid "Scan QR Code" +msgstr "Skeniraj QR kod" + +#: data/ui/account_config.ui:85 +msgid "Enable 2FA for this account" +msgstr "" + +#: data/ui/account_config.ui:86 +msgid "2FA Token" +msgstr "" + +#: data/ui/account_config.ui:100 +#, fuzzy +msgid "Account Name" +msgstr "Ime naloga" + +#: data/ui/account_config.ui:123 +msgid "Provider" +msgstr "" + +#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50 +msgid "Save" +msgstr "" + +#: data/ui/account_row.ui:23 +msgid "Edit" +msgstr "" + +#: data/ui/account_row.ui:41 +msgid "Delete" +msgstr "Obriši" + +#: data/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "" + +#: data/ui/password_widget.ui:46 +#, fuzzy +msgid "Current Password:" +msgstr "Autentifikator" + +#: data/ui/password_widget.ui:90 +msgid "New Password:" +msgstr "" + +#: data/ui/password_widget.ui:135 +msgid "Confirm New Password:" +msgstr "" + +#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208 +msgid "Change Password" +msgstr "" + +#: data/ui/password_widget.ui:204 +msgid "Delete Password" +msgstr "" + +#: data/ui/provider_image.ui:41 +msgid "We couldn't find an image for this provider" +msgstr "" + +#. Night mode action +#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112 +msgid "Preferences" +msgstr "" + +#: data/ui/settings.ui.in:95 +msgid "Behaviour" +msgstr "" + +#: data/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "" + +#: data/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "" + +#: data/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "" + +#: data/ui/shortcuts.ui:31 +#, fuzzy +msgctxt "shortcut window" +msgid "Quit" +msgstr "Napusti" + +#: data/ui/shortcuts.ui:40 +#, fuzzy +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Ime naloga" + +#: data/ui/shortcuts.ui:44 +#, fuzzy +msgctxt "shortcut window" +msgid "Add" +msgstr "Dodaj" + +#: data/ui/shortcuts.ui:51 +#, fuzzy +msgctxt "shortcut window" +msgid "Search" +msgstr "Pretraži" + +#: data/ui/window.ui.in:182 +#, fuzzy +msgid "There are no accounts yet…" +msgstr "Još uvek nema naloga..." + +#: data/ui/window.ui.in:211 +#, fuzzy +msgid "Add a new account from the menu" +msgstr "Dodaj novi nalog" + +#: data/ui/window.ui.in:227 +#, fuzzy +msgid "Scan a QR Code" +msgstr "Skeniraj QR kod" + +#: data/ui/window.ui.in:373 +msgid "No results found" +msgstr "" + +#: data/ui/window.ui.in:437 +#, fuzzy +msgid "Authenticator is locked" +msgstr "Autentifikator" + +#: data/ui/window.ui.in:476 +msgid "Unlock" +msgstr "" + +#: src/authenticator.py.in:50 +msgid "Start in debug mode" +msgstr "Pokreni u režimu za ispravljanje grešaka" + +#: src/authenticator.py.in:52 +msgid "Authenticator version number" +msgstr "Verzija Autentifikatora" + +#: src/Authenticator/application.py.in:92 +#: src/Authenticator/widgets/settings.py:92 +msgid "Lock the application" +msgstr "" + +#: src/Authenticator/application.py.in:100 +msgid "from a plain-text JSON file" +msgstr "" + +#: src/Authenticator/application.py.in:101 +msgid "in a plain-text JSON file" +msgstr "" + +#: src/Authenticator/application.py.in:103 +msgid "Restore" +msgstr "" + +#: src/Authenticator/application.py.in:104 +#, fuzzy +msgid "Backup" +msgstr "Nazad" + +#: src/Authenticator/application.py.in:113 +msgid "Donate" +msgstr "" + +#: src/Authenticator/application.py.in:114 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/Authenticator/application.py.in:115 +#, fuzzy +msgid "About Authenticator" +msgstr "Autentifikator" + +#: src/Authenticator/models/account.py:71 +msgid "Default" +msgstr "" + +#: src/Authenticator/widgets/accounts/add.py:58 +msgid "Invalid QR code" +msgstr "Neispravan QR kod" + +#: src/Authenticator/widgets/accounts/list.py:143 +msgid "The One-Time Passwords expires in {} seconds" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:80 +msgid "Couldn't generate the secret code" +msgstr "Ne mogu da napravim tajni kod" + +#: src/Authenticator/widgets/accounts/row.py:91 +msgid "The PIN of {} was copied to the clipboard" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:123 +msgid "The account was updated successfully" +msgstr "" + +#: src/Authenticator/widgets/notification.py:43 +msgid "Close the notification" +msgstr "" + +#: src/Authenticator/widgets/notification.py:48 +#: src/Authenticator/widgets/notification.py:63 +msgid "Undo" +msgstr "Opozovi" + +#: src/Authenticator/widgets/settings.py:93 +#, fuzzy +msgid "Lock the application with a password" +msgstr "Autentifikator" + +#: src/Authenticator/widgets/settings.py:157 +#, fuzzy +msgid "Authentication password is now enabled." +msgstr "Autentifikator" + +#: src/Authenticator/widgets/settings.py:159 +#, fuzzy +msgid "The authentication password was updated." +msgstr "Autentifikator" + +#: src/Authenticator/widgets/settings.py:163 +#, fuzzy +msgid "The authentication password was deleted." +msgstr "Autentifikator" + +#: src/Authenticator/widgets/settings.py:204 +msgid "Save Password" +msgstr "" + +#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45 +msgid "JSON files" +msgstr "" + +#, fuzzy +#~ msgid "Night mode" +#~ msgstr "Noćni režim" + +#~ msgid "Settings" +#~ msgstr "Podešavanja" + +#~ msgid "Cancel" +#~ msgstr "Otkaži" + +#, fuzzy +#~ msgid "Select" +#~ msgstr "Režim izbora" + +#, fuzzy +#~ msgid "Secret token" +#~ msgstr "Tajni token" + +#~ msgid "Copy" +#~ msgstr "Umnoži" + +#~ msgid "Search" +#~ msgstr "Pretraži" + +#~ msgid "Selection mode" +#~ msgstr "Režim izbora" + +#~ msgid "Click on items to select them" +#~ msgstr "Kliknite na stavke da ih izaberete" + +#, fuzzy +#~ msgctxt "shortcut window" +#~ msgid "Select" +#~ msgstr "Režim izbora" + +#, fuzzy +#~ msgid "Authenticator@NAME_SUFFIX@" +#~ msgstr "Autentifikator" + +#~ msgid "About" +#~ msgstr "O programu" + +#~ msgid "com.github.bilelmoussaoui.Authenticator" +#~ msgstr "com.github.bilelmoussaoui.Authenticator" + +#~ msgid "Next" +#~ msgstr "Sledeće" + +#~ msgid "Two Factor Authentication code generator" +#~ msgstr "Stvaralac koda za dvofaktornu autentifikaciju" + +#~ msgid "Two-Factor Authentication code generator" +#~ msgstr "Stvaralac koda za dvofaktornu autentifikaciju" diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 0000000..c663c58 --- /dev/null +++ b/po/sv.po @@ -0,0 +1,729 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2019-01-01 16:01+0000\n" +"Last-Translator: Anders Jonsson \n" +"Language-Team: Swedish \n" +"Language: sv\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 3.4-dev\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "Authenticator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +msgid "Two-factor authentication code generator" +msgstr "Generator för tvåfaktorsautentiseringskoder" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"Enkelt program som genererar en tvåfaktorsautentiseringskod, skapat för " +"GNOME." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "Funktioner:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "QR-kodläsare" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "Vackert användargränssnitt" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Möjlighet att låsa programmet med ett lösenord" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +#, fuzzy +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "från en OpenPGP-krypterad JSON-fil" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +msgid "Move the project to GOME Gitlab's World group" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +msgid "One Time Password now visible by default" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "Fixa QR-läsaren i GNOME Shell" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "Lägg till en ny post för kontots användarnamn" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "Uppdaterad databas över konton som stöds" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "SNABBFIX: Programmet gick inte köra annat än i GNOME" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +msgid "Rename project to Authenticator" +msgstr "Byt namn på projektet till Authenticator" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +msgid "Cleaner code base" +msgstr "Renare kodbas" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "Snabbare uppstart" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +msgid "Remove unneeded features" +msgstr "Ta bort onödiga funktioner" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "Växla till pyzbar istället för zbarlight" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "Flatpak-paket" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "Bilal Elmoussaoui" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +msgid "Two-factor authentication" +msgstr "Tvåfaktorsautentisering" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "GNOME;GTK;Bekräftelse;Verifiering;" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "@appid@" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "Standardfönsterposition" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +#, fuzzy +msgid "Dark Theme" +msgstr "Mörkt tema" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +#, fuzzy +msgid "Whether the application should use a dark theme." +msgstr "Om programmet kan låsas eller inte" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "Standardfönstrets maximeringsbeteende" + +#: data/ui/about_dialog.ui.in:10 +msgid "Two-factor authentication code generator." +msgstr "Generator för tvåfaktorsautentiseringskoder." + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "Anders Jonsson " + +#: data/ui/account_add.ui:22 +msgid "Add a new account" +msgstr "Lägg till ett nytt konto" + +#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19 +msgid "Close" +msgstr "Stäng" + +#: data/ui/account_add.ui:34 +msgid "Add" +msgstr "Lägg till" + +#: data/ui/account_add.ui:54 +#, fuzzy +msgid "Scan QR Code" +msgstr "Läs av QR-kod" + +#: data/ui/account_config.ui:85 +msgid "Enable 2FA for this account" +msgstr "" + +#: data/ui/account_config.ui:86 +msgid "2FA Token" +msgstr "" + +#: data/ui/account_config.ui:100 +#, fuzzy +msgid "Account Name" +msgstr "Kontonamn" + +#: data/ui/account_config.ui:123 +msgid "Provider" +msgstr "Leverantör" + +#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50 +msgid "Save" +msgstr "Spara" + +#: data/ui/account_row.ui:23 +msgid "Edit" +msgstr "Redigera" + +#: data/ui/account_row.ui:41 +msgid "Delete" +msgstr "Ta bort" + +#: data/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "" + +#: data/ui/password_widget.ui:46 +#, fuzzy +msgid "Current Password:" +msgstr "Upprepa lösenord" + +#: data/ui/password_widget.ui:90 +#, fuzzy +msgid "New Password:" +msgstr "Nytt lösenord" + +#: data/ui/password_widget.ui:135 +#, fuzzy +msgid "Confirm New Password:" +msgstr "Nytt lösenord" + +#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208 +#, fuzzy +msgid "Change Password" +msgstr "Lösenord" + +#: data/ui/password_widget.ui:204 +#, fuzzy +msgid "Delete Password" +msgstr "Upprepa lösenord" + +#: data/ui/provider_image.ui:41 +msgid "We couldn't find an image for this provider" +msgstr "" + +#. Night mode action +#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112 +msgid "Preferences" +msgstr "Inställningar" + +#: data/ui/settings.ui.in:95 +msgid "Behaviour" +msgstr "Beteende" + +#: data/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "Allmänt" + +#: data/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "Visa genvägar" + +#: data/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "Inställningar" + +#: data/ui/shortcuts.ui:31 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Avsluta" + +#: data/ui/shortcuts.ui:40 +msgctxt "shortcut window" +msgid "Accounts" +msgstr "Konton" + +#: data/ui/shortcuts.ui:44 +msgctxt "shortcut window" +msgid "Add" +msgstr "Lägg till" + +#: data/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "Sök" + +#: data/ui/window.ui.in:182 +msgid "There are no accounts yet…" +msgstr "Det finns inga konton ännu…" + +#: data/ui/window.ui.in:211 +#, fuzzy +msgid "Add a new account from the menu" +msgstr "Lägg till ett nytt konto" + +#: data/ui/window.ui.in:227 +#, fuzzy +msgid "Scan a QR Code" +msgstr "Läs av QR-kod" + +#: data/ui/window.ui.in:373 +msgid "No results found" +msgstr "" + +#: data/ui/window.ui.in:437 +#, fuzzy +msgid "Authenticator is locked" +msgstr "Authenticator" + +#: data/ui/window.ui.in:476 +msgid "Unlock" +msgstr "Lås upp" + +#: src/authenticator.py.in:50 +msgid "Start in debug mode" +msgstr "Starta i felsökningsläge" + +#: src/authenticator.py.in:52 +msgid "Authenticator version number" +msgstr "Versionsnummer för Authenticator" + +#: src/Authenticator/application.py.in:92 +#: src/Authenticator/widgets/settings.py:92 +msgid "Lock the application" +msgstr "Lås programmet" + +#: src/Authenticator/application.py.in:100 +msgid "from a plain-text JSON file" +msgstr "från en oformaterad JSON-fil" + +#: src/Authenticator/application.py.in:101 +msgid "in a plain-text JSON file" +msgstr "i en oformaterad JSON-fil" + +#: src/Authenticator/application.py.in:103 +msgid "Restore" +msgstr "Återställ" + +#: src/Authenticator/application.py.in:104 +msgid "Backup" +msgstr "Säkerhetskopiera" + +#: src/Authenticator/application.py.in:113 +msgid "Donate" +msgstr "Donera" + +#: src/Authenticator/application.py.in:114 +msgid "Keyboard Shortcuts" +msgstr "Tangentbordsgenvägar" + +#: src/Authenticator/application.py.in:115 +msgid "About Authenticator" +msgstr "Om Authenticator" + +#: src/Authenticator/models/account.py:71 +msgid "Default" +msgstr "Standard" + +#: src/Authenticator/widgets/accounts/add.py:58 +msgid "Invalid QR code" +msgstr "Ogiltig QR-kod" + +#: src/Authenticator/widgets/accounts/list.py:143 +msgid "The One-Time Passwords expires in {} seconds" +msgstr "Engångslösenordet upphör att gälla om {} sekunder" + +#: src/Authenticator/widgets/accounts/row.py:80 +msgid "Couldn't generate the secret code" +msgstr "Kunde inte generera den hemliga koden" + +#: src/Authenticator/widgets/accounts/row.py:91 +msgid "The PIN of {} was copied to the clipboard" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:123 +msgid "The account was updated successfully" +msgstr "" + +#: src/Authenticator/widgets/notification.py:43 +#, fuzzy +msgid "Close the notification" +msgstr "Lås programmet" + +#: src/Authenticator/widgets/notification.py:48 +#: src/Authenticator/widgets/notification.py:63 +msgid "Undo" +msgstr "Ångra" + +#: src/Authenticator/widgets/settings.py:93 +#, fuzzy +msgid "Lock the application with a password" +msgstr "Möjlighet att låsa programmet med ett lösenord" + +#: src/Authenticator/widgets/settings.py:157 +#, fuzzy +msgid "Authentication password is now enabled." +msgstr "Autentiseringslösenord" + +#: src/Authenticator/widgets/settings.py:159 +#, fuzzy +msgid "The authentication password was updated." +msgstr "Autentiseringslösenord" + +#: src/Authenticator/widgets/settings.py:163 +#, fuzzy +msgid "The authentication password was deleted." +msgstr "Autentiseringslösenord" + +#: src/Authenticator/widgets/settings.py:204 +#, fuzzy +msgid "Save Password" +msgstr "Lösenord" + +#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45 +msgid "JSON files" +msgstr "JSON-filer" + +#~ msgid "Huge database of (290+) websites/applications" +#~ msgstr "Enorm databas med (290+) webbplatser/program" + +#~ msgid "Night mode" +#~ msgstr "Nattläge" + +#~ msgid "Enable/disable night mode within the application" +#~ msgstr "Aktivera/inaktivera nattläge inifrån programmet" + +#~ msgid "Use a dark theme, if possible" +#~ msgstr "Använd om möjligt ett mörkt tema" + +#~ msgid "Settings" +#~ msgstr "Inställningar" + +#, fuzzy +#~ msgid "Authenticator Password" +#~ msgstr "Autentiseringslösenord" + +#~ msgid "Edit {} - {}" +#~ msgstr "Redigera {} - {}" + +#~ msgid "Open" +#~ msgstr "Öppna" + +#~ msgid "Cancel" +#~ msgstr "Avbryt" + +#~ msgid "Select" +#~ msgstr "Välj" + +#~ msgid "Secret token" +#~ msgstr "Hemlig token" + +#~ msgid "zbar library is not found. QRCode scanner will be disabled" +#~ msgstr "zbar-bibliotek hittades inte. QR-kodskanner inaktiveras." + +#~ msgid "Copy" +#~ msgstr "Kopiera" + +#~ msgid "Search" +#~ msgstr "Sök" + +#~ msgid "Selection mode" +#~ msgstr "Urvalsläge" + +#~ msgid "Click on items to select them" +#~ msgstr "Klicka på objekt för att välja dem" + +#~ msgid "Old Password" +#~ msgstr "Gammalt lösenord" + +#~ msgid "Appearance" +#~ msgstr "Utseende" + +#~ msgid "Clear the database" +#~ msgstr "Rensa databasen" + +#~ msgid "Erase existing accounts" +#~ msgstr "Radera befintliga konton" + +#~ msgid "Set up application authentication password" +#~ msgstr "Konfigurera autentiseringslösenord" + +#~ msgid "The application needs to be restarted first." +#~ msgstr "Programmet måste startas om först." + +#~ msgid "The existing accounts will be erased in 5 seconds" +#~ msgstr "De befintliga kontona kommer att raderas om 5 sekunder" + +#~ msgid "An account or more were removed." +#~ msgstr "Ett konto eller fler, togs bort." + +#~ msgid "Whether the application is locked with a password or not" +#~ msgstr "Om programmet är låst med lösenord eller inte" + +#~ msgctxt "shortcut window" +#~ msgid "Select" +#~ msgstr "Välj" + +#, fuzzy +#~ msgid "Authenticator@NAME_SUFFIX@" +#~ msgstr "Authenticator" + +#~ msgid "in an OpenPGP-encrypted JSON file" +#~ msgstr "i en OpenPGP-krypterad JSON-fil" + +#~ msgid "About" +#~ msgstr "Om" + +#~ msgid "GPG paraphrase" +#~ msgstr "GPG-parafras" + +#~ msgid "Import" +#~ msgstr "Importera" + +#~ msgid "Paraphrase" +#~ msgstr "Parafras" + +#~ msgid "There was an error during the import of the encrypted file." +#~ msgstr "Ett fel uppstod under importen av den krypterade filen." + +#~ msgid "GPG fingerprint" +#~ msgstr "GPG-fingeravtryck" + +#~ msgid "Public keys" +#~ msgstr "Öppna nycklar" + +#~ msgid "Private keys" +#~ msgstr "Privata nycklar" + +#~ msgid "GPG keys location" +#~ msgstr "GPG-nycklarnas lagringsplats" + +#~ msgid "Encrypted GPG files" +#~ msgstr "Krypterade GPG-filer" + +#~ msgid "com.github.bilelmoussaoui.Authenticator" +#~ msgstr "com.github.bilelmoussaoui.Authenticator" + +#, fuzzy +#~ msgid "Backup Password" +#~ msgstr "Ändra lösenord" + +#~ msgid "Next" +#~ msgstr "Nästa" + +#~ msgid "Two Factor Authentication code generator" +#~ msgstr "Generator för tvåfaktorsautentiseringskod" + +#~ msgid "Two-Factor Authentication code generator" +#~ msgstr "Generator för tvåfaktorsautentiseringskod" + +#~ msgctxt "shortcut window" +#~ msgid "Add a new account" +#~ msgstr "Lägg till ett nytt konto" + +#~ msgctxt "shortcut window" +#~ msgid "Selection mode" +#~ msgstr "Urvalsläge" + +#~ msgctxt "shortcut window" +#~ msgid "Account list" +#~ msgstr "Kontolista" + +#~ msgctxt "shortcut window" +#~ msgid "Select next/previous account" +#~ msgstr "Välj nästa/föregående konto" + +#~ msgctxt "shortcut window" +#~ msgid "Add Account" +#~ msgstr "Lägg till konto" + +#~ msgid "" +#~ "This program comes with absolutely no warranty. See the GNU General Public License, version 3 " +#~ "or later for details." +#~ msgstr "" +#~ "Detta program kommer helt utan garanti. Se GNU General Public License, version 3 eller " +#~ "senare för detaljer." + +#~ msgid "Github" +#~ msgstr "Github" + +#~ msgid "Lock the Application" +#~ msgstr "Lås programmet" + +#~ msgid "Apply" +#~ msgstr "Verkställ" + +#~ msgid "Select an application" +#~ msgstr "Välj ett program" + +#~ msgid "Enter your password" +#~ msgstr "Ange ditt lösenord" + +#~ msgid "Remove the account" +#~ msgstr "Ta bort kontot" + +#~ msgid "Copy the generated code" +#~ msgstr "Kopiera den genererade koden" + +#~ msgid "Edit the account" +#~ msgstr "Redigera kontot" + +#~ msgid "Save the new account name" +#~ msgstr "Spara det nya kontonamnet" + +#~ msgid "Expires in %s seconds" +#~ msgstr "Går ut om %s sekunder" + +#~ msgid "Error during the generation of code" +#~ msgstr "Fel under generering av kod" + +#~ msgid "Do you really want to remove \"%s\"?" +#~ msgstr "Vill du verkligen ta bort ”%s”?" + +#~ msgid "Password protection" +#~ msgstr "Lösenordsskydd" + +#~ msgid "Auto-lock the application (m):" +#~ msgstr "Lås programmet automatiskt (m):" diff --git a/po/tr.po b/po/tr.po new file mode 100644 index 0000000..c21645f --- /dev/null +++ b/po/tr.po @@ -0,0 +1,590 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Authenticator package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Authenticator\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2019-03-18 18:03+0000\n" +"Last-Translator: Serdar Sağlam \n" +"Language-Team: Turkish \n" +"Language: tr\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 3.6-dev\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "Kimlik Doğrulayıcı" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +msgid "Two-factor authentication code generator" +msgstr "İki aşamalı kimlik doğrulama kodu üreteci" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" +"GNOME için oluşturulan iki aşamalı kimlik doğrulama kodu üreten basit bir " +"uygulama." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "Özellikler:" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "QR kod tarayıcı" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "Mükemmel kullanıcı arayüzü" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "Uygulamayı bir parola ile kilitle" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" +"Uygulamayı GNOME Gitlab'ın Worl grubuna taşıdığımdan, web sitesinden " +"indirebileceğiniz her yeni işlem için bir Flatpak yapısı vardır." + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "Temel bir JSON dosyasından yedekle ve geri yükle" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "Şifreli bir GPG JSON dosyasından yedekle ve geri yükle" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "AndOTP desteği ekle (ücretsiz ve açık Android 2FA uygulaması)" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "Üç bölümlü yeni pencere ayarları: görünüm, davranış ve yedekleme" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "En son GNOME Çalışma Zamanı Modülü ile Flatpak İnşasını Onarın" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +msgid "Move the project to GOME Gitlab's World group" +msgstr "Proje GOME Gitlab'ın Word grubuna taşındı" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "GNOME Kabuk Arama sağlayıcısı" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "Kodlar aynı anda sona eriyor #91" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "GNOME HIG'i daha yakından takip etmek için yenilenen ana pencere" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "" +"Yenilendi, kullanımı kolaylaştırmak için yeni bir hesap penceresi ekleyin" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" +"Gönderilen veri tabanında listelenmeyen bir sağlayıcıdan hesap ekleme imkanı" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "Bir hesap düzenleme imkanı" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +msgid "One Time Password now visible by default" +msgstr "Öntanımlı olarak görünür durumda tek seferlik parola" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "Python-dbus'u GDbus kullanarak düzeltin" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "QR Tarayıcısını GNOME Kabuğuna Sabitleyin" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "Hesabın kullanıcı adı için yeni bir giriş ekleyin" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "Desteklenen hesapların güncellenmiş veritabanı" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "DÜZELTME: Uygulama GNOME dışında DE'de çalışmıyor" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +msgid "Rename project to Authenticator" +msgstr "Projeyi Authenticator olarak yeniden adlandır" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +msgid "Cleaner code base" +msgstr "Kod tabanı temizleyici" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "Hızlı başlangıç" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +msgid "Remove unneeded features" +msgstr "Gereksiz özellikler kaldırıldı" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "Zbarlight yerine pyzbar'a geç" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "Flatpak paketi" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "Bilal Elmoussaoui" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +msgid "Two-factor authentication" +msgstr "İki aşamalı kimlik doğrulama" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "Gnome;Kimlik;Doğrulayıcı;Authenticator;" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "@appid@" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "Öntanımlı pencere konumu" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +#, fuzzy +msgid "Dark Theme" +msgstr "Koyu tema" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +msgid "Whether the application should use a dark theme." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "Öntanımlı pencere yükseklik davranışı" + +#: data/ui/about_dialog.ui.in:10 +msgid "Two-factor authentication code generator." +msgstr "İki aşamalı kimlik doğrulama kodu üreteci." + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "Serdar Sağlam , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Authenticator\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 05:14+0200\n" +"PO-Revision-Date: 2019-01-29 03:08+0000\n" +"Last-Translator: Louies \n" +"Language-Team: Chinese (Traditional) \n" +"Language: zh_Hant\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 3.5-dev\n" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3 +#: src/Authenticator/application.py.in:37 +msgid "Authenticator" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7 +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5 +msgid "Two-factor authentication code generator" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9 +msgid "" +"Simple application that generates a two-factor authentication code, created " +"for GNOME." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10 +msgid "Features:" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12 +msgid "QR code scanner" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13 +msgid "Beautiful UI" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14 +msgid "Huge database of more than 560 supported services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15 +#, fuzzy +msgid "Keep your PIN tokens secure by locking the application with a password" +msgstr "鎖定應用程式" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16 +msgid "Automtically fetch an image for services using their favicon" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17 +msgid "The possibility to add new services" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37 +msgid "" +"New 3.31 beta is out! Here's an overview of what changed Please backup your " +"accounts before updating to the latest version and restore the data after " +"update." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42 +msgid "New settings window" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43 +msgid "Download provider images using their favicon if possible" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44 +msgid "Night Light feature: not working yet!" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45 +msgid "" +"The possiblity to enable/disable a password without having to reset " +"everything" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46 +msgid "" +"You can now add new providers and set images for providers that we didn't " +"find an icon for" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47 +msgid "Mobile ready" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48 +msgid "New icon by Tobias" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49 +msgid "Bunch of fixed bugs" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55 +msgid "" +"Since I have moved the application to GOME Gitlab's World group, a Flatpak " +"build for each new commit is available to download from the site's website." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59 +msgid "Backup and restore from a basic JSON file" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60 +msgid "Backup and restore from an encrypted-GPG JSON file" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61 +msgid "Add andOTP support (free and open Android 2FA application)" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62 +msgid "New Settings Widow with 3 sections: appearance, behavior and backup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63 +msgid "Fix Flatpak Build with the latest GNOME Runtime" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64 +msgid "Move the project to GOME Gitlab's World group" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71 +msgid "GNOME Shell Search provider" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72 +msgid "Codes expire simultaneously #91" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79 +msgid "Revamped main window to more closely follow the GNOME HIG" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80 +msgid "Revamped add a new account window to make it easier to use" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81 +msgid "" +"Possibility to add an account from a provider not listed in the shipped " +"database" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82 +msgid "Possibilty to edit an account" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83 +msgid "One Time Password now visible by default" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90 +msgid "Fix python-dbus by using GDbus instead" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97 +msgid "Fix the QRScanner on GNOME Shell" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98 +msgid "Add a new entry for the account's username" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99 +msgid "Updated database of supported accounts" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106 +msgid "HOTFIX: App not running in DE other than GNOME" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113 +msgid "Rename project to Authenticator" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114 +msgid "Cleaner code base" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115 +msgid "Faster startup" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116 +msgid "Remove unneeded features" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117 +msgid "Switch to pyzbar instead of zbarlight" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118 +msgid "Flatpak package" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134 +msgid "Bilal Elmoussaoui" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4 +msgid "Two-factor authentication" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10 +msgid "Gnome;GTK;Verification;" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11 +msgid "@appid@" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6 +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7 +msgid "Default window position" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11 +#: src/Authenticator/widgets/settings.py:83 +#, fuzzy +msgid "Dark Theme" +msgstr "黑暗主題" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12 +#: src/Authenticator/widgets/settings.py:84 +msgid "Whether the application should use a dark theme." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16 +#: src/Authenticator/widgets/settings.py:88 +msgid "Night Light" +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17 +#: src/Authenticator/widgets/settings.py:89 +msgid "Automatically enable dark mode at night." +msgstr "" + +#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21 +msgid "Default window maximized behaviour" +msgstr "" + +#: data/ui/about_dialog.ui.in:10 +msgid "Two-factor authentication code generator." +msgstr "" + +#: data/ui/about_dialog.ui.in:13 +msgid "translator-credits" +msgstr "" + +#: data/ui/account_add.ui:22 +msgid "Add a new account" +msgstr "" + +#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19 +msgid "Close" +msgstr "關閉" + +#: data/ui/account_add.ui:34 +msgid "Add" +msgstr "添加" + +#: data/ui/account_add.ui:54 +#, fuzzy +msgid "Scan QR Code" +msgstr "掃描 QR Code" + +#: data/ui/account_config.ui:85 +msgid "Enable 2FA for this account" +msgstr "" + +#: data/ui/account_config.ui:86 +msgid "2FA Token" +msgstr "" + +#: data/ui/account_config.ui:100 +msgid "Account Name" +msgstr "" + +#: data/ui/account_config.ui:123 +msgid "Provider" +msgstr "供應商" + +#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50 +msgid "Save" +msgstr "儲存" + +#: data/ui/account_row.ui:23 +msgid "Edit" +msgstr "編輯" + +#: data/ui/account_row.ui:41 +msgid "Delete" +msgstr "删除" + +#: data/ui/account_row.ui:97 +msgid "Copy PIN to clipboard" +msgstr "" + +#: data/ui/password_widget.ui:46 +#, fuzzy +msgid "Current Password:" +msgstr "再次輸入密碼" + +#: data/ui/password_widget.ui:90 +#, fuzzy +msgid "New Password:" +msgstr "密碼" + +#: data/ui/password_widget.ui:135 +msgid "Confirm New Password:" +msgstr "" + +#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208 +#, fuzzy +msgid "Change Password" +msgstr "密碼" + +#: data/ui/password_widget.ui:204 +#, fuzzy +msgid "Delete Password" +msgstr "再次輸入密碼" + +#: data/ui/provider_image.ui:41 +msgid "We couldn't find an image for this provider" +msgstr "" + +#. Night mode action +#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112 +msgid "Preferences" +msgstr "偏好設定" + +#: data/ui/settings.ui.in:95 +msgid "Behaviour" +msgstr "" + +#: data/ui/shortcuts.ui:13 +msgctxt "shortcut window" +msgid "General" +msgstr "" + +#: data/ui/shortcuts.ui:17 +msgctxt "shortcut window" +msgid "Show Shortcuts" +msgstr "" + +#: data/ui/shortcuts.ui:24 +msgctxt "shortcut window" +msgid "Preferences" +msgstr "" + +#: data/ui/shortcuts.ui:31 +msgctxt "shortcut window" +msgid "Quit" +msgstr "" + +#: data/ui/shortcuts.ui:40 +msgctxt "shortcut window" +msgid "Accounts" +msgstr "" + +#: data/ui/shortcuts.ui:44 +msgctxt "shortcut window" +msgid "Add" +msgstr "" + +#: data/ui/shortcuts.ui:51 +msgctxt "shortcut window" +msgid "Search" +msgstr "" + +#: data/ui/window.ui.in:182 +msgid "There are no accounts yet…" +msgstr "" + +#: data/ui/window.ui.in:211 +msgid "Add a new account from the menu" +msgstr "" + +#: data/ui/window.ui.in:227 +#, fuzzy +msgid "Scan a QR Code" +msgstr "掃描 QR Code" + +#: data/ui/window.ui.in:373 +msgid "No results found" +msgstr "" + +#: data/ui/window.ui.in:437 +msgid "Authenticator is locked" +msgstr "" + +#: data/ui/window.ui.in:476 +msgid "Unlock" +msgstr "" + +#: src/authenticator.py.in:50 +msgid "Start in debug mode" +msgstr "" + +#: src/authenticator.py.in:52 +msgid "Authenticator version number" +msgstr "" + +#: src/Authenticator/application.py.in:92 +#: src/Authenticator/widgets/settings.py:92 +msgid "Lock the application" +msgstr "鎖定應用程式" + +#: src/Authenticator/application.py.in:100 +msgid "from a plain-text JSON file" +msgstr "" + +#: src/Authenticator/application.py.in:101 +msgid "in a plain-text JSON file" +msgstr "" + +#: src/Authenticator/application.py.in:103 +msgid "Restore" +msgstr "還原" + +#: src/Authenticator/application.py.in:104 +msgid "Backup" +msgstr "備份" + +#: src/Authenticator/application.py.in:113 +msgid "Donate" +msgstr "贊助" + +#: src/Authenticator/application.py.in:114 +msgid "Keyboard Shortcuts" +msgstr "鍵盤快速鍵" + +#: src/Authenticator/application.py.in:115 +msgid "About Authenticator" +msgstr "" + +#: src/Authenticator/models/account.py:71 +msgid "Default" +msgstr "" + +#: src/Authenticator/widgets/accounts/add.py:58 +msgid "Invalid QR code" +msgstr "無效的 QR code" + +#: src/Authenticator/widgets/accounts/list.py:143 +msgid "The One-Time Passwords expires in {} seconds" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:80 +msgid "Couldn't generate the secret code" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:91 +msgid "The PIN of {} was copied to the clipboard" +msgstr "" + +#: src/Authenticator/widgets/accounts/row.py:123 +msgid "The account was updated successfully" +msgstr "" + +#: src/Authenticator/widgets/notification.py:43 +#, fuzzy +msgid "Close the notification" +msgstr "鎖定應用程式" + +#: src/Authenticator/widgets/notification.py:48 +#: src/Authenticator/widgets/notification.py:63 +msgid "Undo" +msgstr "" + +#: src/Authenticator/widgets/settings.py:93 +#, fuzzy +msgid "Lock the application with a password" +msgstr "鎖定應用程式" + +#: src/Authenticator/widgets/settings.py:157 +#, fuzzy +msgid "Authentication password is now enabled." +msgstr "再次輸入密碼" + +#: src/Authenticator/widgets/settings.py:159 +#, fuzzy +msgid "The authentication password was updated." +msgstr "再次輸入密碼" + +#: src/Authenticator/widgets/settings.py:163 +#, fuzzy +msgid "The authentication password was deleted." +msgstr "再次輸入密碼" + +#: src/Authenticator/widgets/settings.py:204 +#, fuzzy +msgid "Save Password" +msgstr "密碼" + +#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45 +msgid "JSON files" +msgstr "" + +#~ msgid "Settings" +#~ msgstr "設定" + +#~ msgid "Cancel" +#~ msgstr "取消" + +#~ msgid "Copy" +#~ msgstr "複製" + +#~ msgid "Search" +#~ msgstr "搜尋" + +#~ msgid "Selection mode" +#~ msgstr "選擇模式" + +#~ msgid "Appearance" +#~ msgstr "外觀" diff --git a/rustfmt.toml b/rustfmt.toml new file mode 100644 index 0000000..fd77315 --- /dev/null +++ b/rustfmt.toml @@ -0,0 +1,3 @@ +max_width = 200 +edition = "2018" + diff --git a/src/application.rs b/src/application.rs new file mode 100644 index 0000000..01edb33 --- /dev/null +++ b/src/application.rs @@ -0,0 +1,114 @@ +use crate::config; +use crate::widgets::{AddAccountDialog, View, Window}; +use gio::prelude::*; +use gtk::prelude::*; + +use std::env; +use std::{cell::RefCell, rc::Rc}; + +use glib::{Receiver, Sender}; +pub enum Action { + ViewAccounts, + OpenAddAccountDialog, +} + +pub struct Application { + app: gtk::Application, + window: Rc>, + sender: Sender, + receiver: RefCell>>, +} + +impl Application { + pub fn new() -> Rc { + let app = gtk::Application::new(Some(config::APP_ID), Default::default()).unwrap(); + + glib::set_application_name(&format!("{}Authenticator", config::NAME_PREFIX)); + glib::set_prgname(Some("authenticator")); + + let (sender, r) = glib::MainContext::channel(glib::PRIORITY_DEFAULT); + let receiver = RefCell::new(Some(r)); + + let window = Window::new(sender.clone()); + + let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/Authenticator/shortcuts.ui"); + let dialog: gtk::ShortcutsWindow = builder.get_object("shortcuts").unwrap(); + window.borrow().widget.set_help_overlay(Some(&dialog)); + + let application = Rc::new(Self { app, window, sender, receiver }); + + application.setup_gactions(); + application.setup_signals(); + application.setup_css(); + application + } + + pub fn run(&self, app: Rc) { + info!("{}Authenticator ({})", config::NAME_PREFIX, config::APP_ID); + info!("Version: {} ({})", config::VERSION, config::PROFILE); + info!("Datadir: {}", config::PKGDATADIR); + + let app = app.clone(); + let receiver = self.receiver.borrow_mut().take().unwrap(); + receiver.attach(None, move |action| app.do_action(action)); + + let args: Vec = env::args().collect(); + self.app.run(&args); + } + + fn setup_gactions(&self) { + // Quit + let app = self.app.clone(); + let simple_action = gio::SimpleAction::new("quit", None); + simple_action.connect_activate(move |_, _| app.quit()); + self.app.add_action(&simple_action); + self.app.set_accels_for_action("app.quit", &["q"]); + + // About + let window = self.window.borrow().widget.clone(); + let simple_action = gio::SimpleAction::new("about", None); + simple_action.connect_activate(move |_, _| { + let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/Authenticator/about_dialog.ui"); + let about_dialog: gtk::AboutDialog = builder.get_object("about_dialog").unwrap(); + about_dialog.set_transient_for(Some(&window)); + + about_dialog.connect_response(|dialog, _| dialog.destroy()); + about_dialog.show(); + }); + self.app.add_action(&simple_action); + + self.app.set_accels_for_action("win.show-help-overlay", &["question"]); + } + + fn setup_signals(&self) { + let window = self.window.borrow().widget.clone(); + self.app.connect_activate(move |app| { + let gtk_settings = gtk::Settings::get_default().unwrap(); + + window.set_application(Some(app)); + app.add_window(&window); + window.present(); + }); + } + + fn setup_css(&self) { + let theme = gtk::IconTheme::get_default().unwrap(); + theme.add_resource_path("/com/belmoussaoui/Authenticator/icons"); + + let p = gtk::CssProvider::new(); + gtk::CssProvider::load_from_resource(&p, "/com/belmoussaoui/Authenticator/style.css"); + gtk::StyleContext::add_provider_for_screen(&gdk::Screen::get_default().unwrap(), &p, 500); + } + + fn do_action(&self, action: Action) -> glib::Continue { + match action { + Action::OpenAddAccountDialog => { + let dialog = AddAccountDialog::new(self.sender.clone()); + dialog.widget.set_transient_for(Some(&self.window.borrow().widget)); + } + Action::ViewAccounts => self.window.borrow().set_view(View::Accounts), + }; + + glib::Continue(true) + } +} diff --git a/src/config.rs.in b/src/config.rs.in new file mode 100644 index 0000000..dab146f --- /dev/null +++ b/src/config.rs.in @@ -0,0 +1,8 @@ +pub static APP_ID: &'static str = @APP_ID@; +pub static PKGDATADIR: &'static str = @PKGDATADIR@; +pub static PROFILE: &'static str = @PROFILE@; +pub static NAME_PREFIX: &'static str = @NAME_PREFIX@; +pub static VERSION: &'static str = @VERSION@; +pub static GETTEXT_PACKAGE: &'static str = @GETTEXT_PACKAGE@; +pub static LOCALEDIR: &'static str = @LOCALEDIR@; + diff --git a/src/helpers/database.rs b/src/helpers/database.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/helpers/keyring.rs b/src/helpers/keyring.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..e09150f --- /dev/null +++ b/src/main.rs @@ -0,0 +1,48 @@ +extern crate pretty_env_logger; +#[macro_use] +extern crate log; +#[macro_use] +extern crate failure; +#[macro_use] +extern crate lazy_static; +#[macro_use] +extern crate diesel_migrations; +#[macro_use] +extern crate diesel; +#[macro_use] +extern crate glib; +#[macro_use] +extern crate serde_derive; + +extern crate gtk; +use gettextrs::*; +use libhandy::ColumnExt; +mod application; +mod config; +mod models; +mod schema; +mod static_resources; +mod widgets; +mod window_state; + +use application::Application; +use config::{GETTEXT_PACKAGE, LOCALEDIR}; + +fn main() { + pretty_env_logger::init(); + + gtk::init().expect("Unable to start GTK3"); + // Prepare i18n + setlocale(LocaleCategory::LcAll, ""); + bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR); + textdomain(GETTEXT_PACKAGE); + + static_resources::init().expect("Failed to initialize the resource file."); + + let column = libhandy::Column::new(); + column.set_maximum_width(800); + column.set_linear_growth_width(600); + + let app = Application::new(); + app.run(app.clone()); +} diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..df9b06b --- /dev/null +++ b/src/meson.build @@ -0,0 +1,83 @@ +pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name()) + +global_conf = configuration_data() +global_conf.set_quoted('APP_ID', application_id) +global_conf.set_quoted('PKGDATADIR', pkgdatadir) +global_conf.set_quoted('PROFILE', profile) +global_conf.set_quoted('NAME_PREFIX', name_prefix) +global_conf.set_quoted('VERSION', version + version_suffix) +global_conf.set_quoted('GETTEXT_PACKAGE', gettext_package) +global_conf.set_quoted('LOCALEDIR', localedir) +config_output_file = configure_file( + input: 'config.rs.in', + output: 'config.rs', + configuration: global_conf +) + +# Copy the config.rs output to the source directory. +run_command( + 'cp', + join_paths(meson.build_root(), 'src', 'config.rs'), + join_paths(meson.source_root(), 'src', 'config.rs'), + check: true +) +# include_bytes! only takes a string literal +resources_conf = configuration_data() +resources_conf.set_quoted('RESOURCEFILE', resources.full_path()) +static_resources_output_file = configure_file( + input: 'static_resources.rs.in', + output: 'static_resources.rs', + configuration: resources_conf +) + +run_command( + 'cp', + static_resources_output_file, + meson.current_source_dir(), + check: true +) + + + +sources = files( + 'models/account.rs', + 'models/accounts.rs', + 'models/database.rs', + 'models/mod.rs', + 'models/object_wrapper.rs', + 'models/provider.rs', + 'models/providers.rs', + 'widgets/accounts/add.rs', + 'widgets/accounts/list.rs', + 'widgets/accounts/mod.rs', + 'widgets/providers/list.rs', + 'widgets/providers/mod.rs', + 'widgets/mod.rs', + 'widgets/window.rs', + 'application.rs', + 'config.rs', + 'main.rs', + 'schema.rs', + 'static_resources.rs', + 'window_state.rs' +) + +cargo_script = find_program(join_paths(meson.source_root(), 'build-aux/cargo.sh')) +cargo_release = custom_target( + 'cargo-build', + build_by_default: true, + input: sources, + output: meson.project_name(), + console: true, + install: true, + install_dir: get_option('bindir'), + depends: resources, + command: [ + cargo_script, + meson.build_root(), + meson.source_root(), + '@OUTPUT@', + get_option('buildtype'), + meson.project_name(), + ] +) diff --git a/src/models/account.rs b/src/models/account.rs new file mode 100644 index 0000000..d482db8 --- /dev/null +++ b/src/models/account.rs @@ -0,0 +1,36 @@ +use crate::schema::accounts; + +use crate::models::database; + +use diesel::RunQueryDsl; +pub use failure::Error; + +use diesel::prelude::*; + +#[derive(Queryable, PartialEq, Debug, Clone, Serialize, Deserialize)] +pub struct Account { + pub id: i32, + pub username: String, + pub token_id: String, + pub provider: i32, +} + +#[derive(Insertable)] +#[table_name = "accounts"] +pub struct NewAccount { + pub username: String, + pub token_id: String, + pub provider: i32, +} + +impl database::Insert for NewAccount { + type Error = database::Error; + fn insert(&self) -> Result { + let db = database::connection(); + let conn = db.get()?; + + diesel::insert_into(accounts::table).values(self).execute(&conn)?; + + accounts::table.order(accounts::columns::id.desc()).first::(&conn).map_err(From::from) + } +} diff --git a/src/models/accounts.rs b/src/models/accounts.rs new file mode 100644 index 0000000..c958a0d --- /dev/null +++ b/src/models/accounts.rs @@ -0,0 +1,106 @@ +use super::account::Account; +use super::database; +use super::object_wrapper::ObjectWrapper; +use super::provider::Provider; +use gio::prelude::*; +use glib::prelude::*; +use std::cell::RefCell; + +#[derive(Clone, PartialEq)] +pub enum SortOrder { + Asc, + Desc, +} + +#[derive(Clone, PartialEq)] +pub enum SortBy { + Name, + Date, +} + +impl From<&str> for SortBy { + fn from(sortby: &str) -> Self { + match sortby { + "name" => SortBy::Name, + "date" => SortBy::Date, + _ => SortBy::Name, + } + } +} + +pub struct AccountsModel { + pub model: gio::ListStore, + sort_order: RefCell, + sort_by: RefCell, + provider: Provider, +} + +impl AccountsModel { + pub fn from_provider(provider: &Provider) -> Self { + let gio_model = gio::ListStore::new(ObjectWrapper::static_type()); + let model = Self { + model: gio_model, + sort_order: RefCell::new(SortOrder::Desc), + sort_by: RefCell::new(SortBy::Name), + provider: provider.clone(), + }; + model.init(); + model + } + + fn init(&self) { + // fill in the accounts from the database + let accounts = database::get_accounts_by_provider(self.provider.clone()).unwrap(); + + for account in accounts.into_iter() { + self.add_account(&account); + } + } + + fn add_account(&self, account: &Account) { + let object = ObjectWrapper::new(Box::new(account)); + let sort_by = self.sort_by.clone(); + let sort_order = self.sort_order.clone(); + self.model + .insert_sorted(&object, move |a, b| Self::accounts_cmp(a, b, sort_by.borrow().clone(), sort_order.borrow().clone())); + } + + pub fn get_count(&self) -> u32 { + self.model.get_n_items() + } + + pub fn set_sorting(&self, sort_by: Option, sort_order: Option) { + let sort_by = match sort_by { + Some(sort_by) => { + self.sort_by.replace(sort_by.clone()); + sort_by + } + None => self.sort_by.borrow().clone(), + }; + + let sort_order = match sort_order { + Some(sort_order) => { + self.sort_order.replace(sort_order.clone()); + sort_order + } + None => self.sort_order.borrow().clone(), + }; + self.model.sort(move |a, b| Self::accounts_cmp(a, b, sort_by.clone(), sort_order.clone())); + } + + fn accounts_cmp(a: &gio::Object, b: &gio::Object, sort_by: SortBy, sort_order: SortOrder) -> std::cmp::Ordering { + let mut account_a: Account = a.downcast_ref::().unwrap().deserialize(); + let mut account_b: Account = b.downcast_ref::().unwrap().deserialize(); + + if sort_order == SortOrder::Desc { + let tmp = account_a; + account_a = account_b; + account_b = tmp; + } + /*match sort_by { + SortBy::Name => account_a.get_title().cmp(&account_b.get_title()), + SortBy::Date => account_a.get_created_at().cmp(&account_b.get_created_at()), + }*/ + account_a.username.cmp(&account_b.username) + } +} diff --git a/src/models/database.rs b/src/models/database.rs new file mode 100644 index 0000000..7b961eb --- /dev/null +++ b/src/models/database.rs @@ -0,0 +1,74 @@ +use crate::models::{Account, Provider}; + +use diesel::prelude::*; +use diesel::r2d2; +use diesel::r2d2::ConnectionManager; +pub use failure::Error; +use std::path::PathBuf; +use std::{fs, fs::File}; + +type Pool = r2d2::Pool>; + +lazy_static! { + static ref DB_PATH: PathBuf = glib::get_user_data_dir().unwrap().join("authenticator"); + static ref POOL: Pool = init_pool().expect("Failed to create a pool"); +} + +embed_migrations!("migrations/"); + +pub(crate) fn connection() -> Pool { + POOL.clone() +} + +fn run_migration_on(connection: &SqliteConnection) -> Result<(), Error> { + info!("Running DB Migrations..."); + embedded_migrations::run_with_output(connection, &mut std::io::stdout()).map_err(From::from) +} + +fn init_pool() -> Result { + let db_path = &DB_PATH; + fs::create_dir_all(&db_path.to_str().unwrap())?; + let db_path = db_path.join("library.db"); + if !db_path.exists() { + File::create(&db_path.to_str().unwrap())?; + } + let manager = ConnectionManager::::new(db_path.to_str().unwrap()); + let pool = r2d2::Pool::builder().max_size(1).build(manager)?; + + { + let db = pool.get()?; + run_migration_on(&*db)?; + } + info!("Database pool initialized."); + Ok(pool) +} + +pub trait Insert { + type Error; + + fn insert(&self) -> Result; +} + +pub fn get_accounts_by_provider(provider_model: Provider) -> Result, Error> { + use crate::schema::accounts::dsl::*; + let db = connection(); + let conn = db.get()?; + + accounts.filter(provider.eq(provider_model.id)).load::(&conn).map_err(From::from) +} + +pub fn get_accounts() -> Result, Error> { + use crate::schema::accounts::dsl::*; + let db = connection(); + let conn = db.get()?; + + accounts.load::(&conn).map_err(From::from) +} + +pub fn get_providers() -> Result, Error> { + use crate::schema::providers::dsl::*; + let db = connection(); + let conn = db.get()?; + + providers.load::(&conn).map_err(From::from) +} diff --git a/src/models/mod.rs b/src/models/mod.rs new file mode 100644 index 0000000..fcb3d87 --- /dev/null +++ b/src/models/mod.rs @@ -0,0 +1,12 @@ +mod account; +mod accounts; +pub mod database; +mod object_wrapper; +mod provider; +mod providers; + +pub use self::account::{Account, NewAccount}; +pub use self::accounts::AccountsModel; +pub use self::object_wrapper::ObjectWrapper; +pub use self::provider::{NewProvider, Provider}; +pub use self::providers::ProvidersModel; diff --git a/src/models/object_wrapper.rs b/src/models/object_wrapper.rs new file mode 100644 index 0000000..097567a --- /dev/null +++ b/src/models/object_wrapper.rs @@ -0,0 +1,102 @@ +// ObjectWrapper is a GObject subclass, which we need to carry the rustio::Station/song::Song struct. +// With this we can use gtk::ListBox bind_model() properly. +// +// For more details, you should look at this gtk-rs example: +// https://github.com/gtk-rs/examples/blob/master/src/bin/listbox_model.rs +// Source https://gitlab.gnome.org/World/Shortwave/blob/master/src/model/object_wrapper.rs + +use gtk::prelude::*; +use serde::de::DeserializeOwned; + +use glib::subclass; +use glib::subclass::prelude::*; +use glib::translate::*; + +mod imp { + use super::*; + use std::cell::RefCell; + + pub struct ObjectWrapper { + data: RefCell>, + } + + static PROPERTIES: [subclass::Property; 1] = [subclass::Property("data", |name| { + glib::ParamSpec::string( + name, + "Data", + "Data", + None, // Default value + glib::ParamFlags::READWRITE, + ) + })]; + + impl ObjectSubclass for ObjectWrapper { + const NAME: &'static str = "ObjectWrapper"; + type ParentType = glib::Object; + type Instance = subclass::simple::InstanceStruct; + type Class = subclass::simple::ClassStruct; + + glib_object_subclass!(); + + fn class_init(klass: &mut Self::Class) { + klass.install_properties(&PROPERTIES); + } + + fn new() -> Self { + Self { data: RefCell::new(None) } + } + } + + impl ObjectImpl for ObjectWrapper { + glib_object_impl!(); + + fn set_property(&self, _obj: &glib::Object, id: usize, value: &glib::Value) { + let prop = &PROPERTIES[id]; + + match *prop { + subclass::Property("data", ..) => { + let data = value.get(); + self.data.replace(data); + } + _ => unimplemented!(), + } + } + + fn get_property(&self, _obj: &glib::Object, id: usize) -> Result { + let prop = &PROPERTIES[id]; + + match *prop { + subclass::Property("data", ..) => Ok(self.data.borrow().to_value()), + _ => unimplemented!(), + } + } + } +} + +glib_wrapper! { + pub struct ObjectWrapper(Object, subclass::simple::ClassStruct, ObjectWrapperClass>); + + match fn { + get_type => || imp::ObjectWrapper::get_type().to_glib(), + } +} + +impl ObjectWrapper { + pub fn new(object: O) -> ObjectWrapper + where + O: serde::ser::Serialize, + { + glib::Object::new(Self::static_type(), &[("data", &serde_json::to_string(&object).unwrap())]) + .unwrap() + .downcast() + .unwrap() + } + + pub fn deserialize(&self) -> O + where + O: DeserializeOwned, + { + let data = self.get_property("data").unwrap().get::().unwrap(); + serde_json::from_str(&data).unwrap() + } +} diff --git a/src/models/provider.rs b/src/models/provider.rs new file mode 100644 index 0000000..f300cb6 --- /dev/null +++ b/src/models/provider.rs @@ -0,0 +1,38 @@ +use crate::schema::providers; + +use crate::models::database; + +use diesel::RunQueryDsl; +pub use failure::Error; + +use diesel::prelude::*; + +#[derive(Queryable, Hash, PartialEq, Eq, Debug, Clone, Serialize, Deserialize)] +pub struct Provider { + pub id: i32, + pub name: String, + pub website: String, + pub help_url: String, + pub image_uri: String, +} + +#[derive(Insertable)] +#[table_name = "providers"] +pub struct NewProvider { + pub name: String, + pub website: String, + pub help_url: String, + pub image_uri: String, +} + +impl database::Insert for NewProvider { + type Error = database::Error; + fn insert(&self) -> Result { + let db = database::connection(); + let conn = db.get()?; + + diesel::insert_into(providers::table).values(self).execute(&conn)?; + + providers::table.order(providers::columns::id.desc()).first::(&conn).map_err(From::from) + } +} diff --git a/src/models/providers.rs b/src/models/providers.rs new file mode 100644 index 0000000..fba093a --- /dev/null +++ b/src/models/providers.rs @@ -0,0 +1,37 @@ +use super::accounts::AccountsModel; +use super::database; +use super::provider::Provider; +use gio::prelude::*; +use glib::prelude::*; +use std::cell::RefCell; +use std::collections::HashMap; + +pub struct ProvidersModel { + pub model: HashMap, +} + +impl ProvidersModel { + pub fn new() -> Self { + let mut model = Self { model: HashMap::new() }; + model.init(); + model + } + + pub fn add_provider(&mut self, provider: Provider) { + let accounts_model = AccountsModel::from_provider(&provider); + self.model.insert(provider, accounts_model); + } + + pub fn get_count(&self) -> usize { + self.model.len() + } + + fn init(&mut self) { + // fill in the providers from the database + let providers = database::get_providers().unwrap(); + + for provider in providers.into_iter() { + self.add_provider(provider); + } + } +} diff --git a/src/models/search_provider.rs b/src/models/search_provider.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/schema.rs b/src/schema.rs new file mode 100644 index 0000000..27825cd --- /dev/null +++ b/src/schema.rs @@ -0,0 +1,18 @@ +table! { + accounts (id) { + id -> Integer, + username -> Text, + token_id -> Text, + provider -> Integer, + } +} + +table! { + providers (id) { + id -> Integer, + name -> Text, + website -> Text, + help_url -> Text, + image_uri -> Text, + } +} diff --git a/src/static_resources.rs.in b/src/static_resources.rs.in new file mode 100644 index 0000000..d2190da --- /dev/null +++ b/src/static_resources.rs.in @@ -0,0 +1,21 @@ +// Source: https://gitlab.gnome.org/World/podcasts/blob/master/podcasts-gtk/src/static_resource.rs + +use gio::{resources_register, Error, Resource}; +use glib::Bytes; + +pub(crate) fn init() -> Result<(), Error> { + // load the gresource binary at build time and include/link it into the final + // binary. + let res_bytes = include_bytes!(@RESOURCEFILE@); + + // Create Resource it will live as long the value lives. + let gbytes = Bytes::from_static(res_bytes.as_ref()); + let resource = Resource::new_from_data(&gbytes)?; + + // Register the resource so it won't be dropped and will continue to live in + // memory. + resources_register(&resource); + + Ok(()) +} + diff --git a/src/widgets/accounts/add.rs b/src/widgets/accounts/add.rs new file mode 100644 index 0000000..36a0eb3 --- /dev/null +++ b/src/widgets/accounts/add.rs @@ -0,0 +1,113 @@ +use crate::application::Action; +use crate::models::database::{self, *}; +use crate::models::{Account, AccountsModel, NewAccount}; +use gio::prelude::*; +use glib::Sender; +use gtk::prelude::*; +use std::rc::Rc; + +pub struct AddAccountDialog { + pub widget: gtk::Window, + builder: gtk::Builder, + sender: Sender, +} + +impl AddAccountDialog { + pub fn new(sender: Sender) -> Rc { + let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/Authenticator/add_account.ui"); + let widget: gtk::Window = builder.get_object("add_dialog").expect("Failed to retrieve AddAccountDialog"); + widget.show_all(); + + let add_account_dialog = Rc::new(Self { widget, builder, sender }); + + add_account_dialog.setup_actions(add_account_dialog.clone()); + add_account_dialog.setup_signals(); + add_account_dialog + } + + fn add_account(&self, account: NewAccount) -> Result { + // TODO: add the account to the provider model. + account.insert() + } + + fn notify_err(&self, error_msg: &str) { + let notification: gtk::Revealer = self.builder.get_object("notification").expect("Failed to retrieve notification"); + + let notification_msg: gtk::Label = self.builder.get_object("notification_msg").expect("Failed to retrieve notification_msg"); + + notification_msg.set_text(error_msg); + notification.set_reveal_child(true); // Display the notification + } + + fn setup_signals(&self) { + let username_entry: gtk::Entry = self.builder.get_object("username_entry").expect("Failed to retrieve username_entry"); + let token_entry: gtk::Entry = self.builder.get_object("token_entry").expect("Failed to retrieve token_entry"); + + let action_group = self.widget.get_action_group("add").unwrap().downcast::().unwrap(); + let save_action = action_group.lookup_action("save").unwrap().downcast::().unwrap(); + + let weak_username = username_entry.downgrade(); + let weak_token = token_entry.downgrade(); + let validate_entries = move |entry: >k::Entry| { + let mut username = String::new(); + let mut token = String::new(); + + if let Some(username_entry) = weak_username.upgrade() { + username.push_str(&username_entry.get_text().unwrap()); + } + if let Some(token_entry) = weak_token.upgrade() { + token.push_str(&token_entry.get_text().unwrap()); + } + + let is_valid = !(username.is_empty() || token.is_empty()); + save_action.set_enabled(is_valid); + }; + + username_entry.connect_changed(validate_entries.clone()); + token_entry.connect_changed(validate_entries); + } + + fn setup_actions(&self, s: Rc) { + let actions = gio::SimpleActionGroup::new(); + let back = gio::SimpleAction::new("back", None); + let sender = self.sender.clone(); + + let weak_dialog = self.widget.downgrade(); + back.connect_activate(move |_, _| { + if let Some(dialog) = weak_dialog.upgrade() { + dialog.destroy(); + } + }); + actions.add_action(&back); + + let save = gio::SimpleAction::new("save", None); + let add_account_dialog = s.clone(); + save.connect_activate(move |_, _| { + let builder = &add_account_dialog.builder; + let username_entry: gtk::Entry = builder.get_object("username_entry").expect("Failed to retrieve username_entry"); + let token_entry: gtk::Entry = builder.get_object("token_entry").expect("Failed to retrieve token_entry"); + + let new_account = NewAccount { + username: username_entry.get_text().unwrap().to_string(), + token_id: token_entry.get_text().unwrap().to_string(), + provider: 1, + }; + if let Err(err) = add_account_dialog.add_account(new_account) { + add_account_dialog.notify_err("Failed to add a new account"); + } else { + // Close the dialog if everything is fine. + add_account_dialog.widget.destroy(); + } + }); + save.set_enabled(false); + actions.add_action(&save); + + let scan_qr = gio::SimpleAction::new("scan-qr", None); + let sender = self.sender.clone(); + scan_qr.connect_activate(move |_, _| { + // sender.send(Action::OpenAddAccountDialog).unwrap(); + }); + actions.add_action(&scan_qr); + self.widget.insert_action_group("add", Some(&actions)); + } +} diff --git a/src/widgets/accounts/list.rs b/src/widgets/accounts/list.rs new file mode 100644 index 0000000..e6dfd3f --- /dev/null +++ b/src/widgets/accounts/list.rs @@ -0,0 +1,61 @@ +use gtk::prelude::*; + +use glib::Sender; + +use crate::application::Action; +use crate::models::{Account, AccountsModel, ObjectWrapper, Provider}; +use crate::widgets::accounts::AccountRow; + +pub struct AccountsList<'a> { + pub widget: gtk::Box, + builder: gtk::Builder, + sender: Sender, + model: &'a AccountsModel, + provider: &'a Provider, +} + +/* + ProvidersList -> Vec +*/ +impl<'a> AccountsList<'a> { + pub fn new(model: &'a AccountsModel, provider: &'a Provider, sender: Sender) -> Self { + let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/Authenticator/accounts_list.ui"); + let widget: gtk::Box = builder.get_object("accounts_list").expect("Failed to retrieve accounts_list"); + let accounts_list = Self { + widget, + builder, + sender, + model, + provider, + }; + accounts_list.init(); + accounts_list + } + + fn init(&self) { + let provider_name: gtk::Label = self.builder.get_object("provider_name").expect("Failed to retrieve provider_name"); + provider_name.set_text(&self.provider.name); + + let listbox: gtk::ListBox = self.builder.get_object("listbox").expect("Failed to retrieve listbox"); + let sender = self.sender.clone(); + + listbox.bind_model(Some(&self.model.model), move |account| { + let account: Account = account.downcast_ref::().unwrap().deserialize(); + let row = AccountRow::new(account, sender.clone()); + let sender = sender.clone(); + row.set_on_click_callback(move |_, _| { + // sender.send(Action::LoadChapter(chapter.clone())).unwrap(); + gtk::Inhibit(false) + }); + row.widget.upcast::() + }); + + listbox.set_header_func(Some(Box::new(move |row1: >k::ListBoxRow, row2: Option<>k::ListBoxRow>| { + if let Some(row_before) = row2 { + let separator = gtk::Separator::new(gtk::Orientation::Horizontal); + row1.set_header(Some(&separator)); + separator.show(); + } + }))); + } +} diff --git a/src/widgets/accounts/mod.rs b/src/widgets/accounts/mod.rs new file mode 100644 index 0000000..bea4893 --- /dev/null +++ b/src/widgets/accounts/mod.rs @@ -0,0 +1,7 @@ +mod add; +mod list; +mod row; + +pub use self::add::AddAccountDialog; +pub use self::list::AccountsList; +pub use self::row::AccountRow; diff --git a/src/widgets/accounts/row.rs b/src/widgets/accounts/row.rs new file mode 100644 index 0000000..d293f2e --- /dev/null +++ b/src/widgets/accounts/row.rs @@ -0,0 +1,36 @@ +use crate::application::Action; +use crate::models::Account; +use glib::Sender; +use gtk::prelude::*; + +pub struct AccountRow { + pub widget: gtk::ListBoxRow, + builder: gtk::Builder, + sender: Sender, + account: Account, +} + +impl AccountRow { + pub fn new(account: Account, sender: Sender) -> Self { + let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/Authenticator/account_row.ui"); + let widget: gtk::ListBoxRow = builder.get_object("account_row").expect("Failed to load library_row object"); + + let account_row = Self { widget, builder, sender, account }; + account_row.init(); + account_row + } + + fn init(&self) { + let username_label: gtk::Label = self.builder.get_object("username_label").expect("Failed to retrieve username_label"); + + username_label.set_text(&self.account.username); + } + + pub fn set_on_click_callback(&self, callback: F) + where + for<'r, 's> F: std::ops::Fn(&'r gtk::EventBox, &'s gdk::EventButton) -> gtk::Inhibit + 'static, + { + //let event_box: gtk::EventBox = self.builder.get_object("eventbox").expect("Failed to load eventbox"); + // event_box.connect_button_press_event(callback); + } +} diff --git a/src/widgets/mod.rs b/src/widgets/mod.rs new file mode 100644 index 0000000..4af40ff --- /dev/null +++ b/src/widgets/mod.rs @@ -0,0 +1,7 @@ +mod accounts; +mod providers; +mod window; + +pub use self::accounts::{AccountsList, AddAccountDialog}; +pub use self::providers::ProvidersList; +pub use self::window::{View, Window}; diff --git a/src/widgets/providers/list.rs b/src/widgets/providers/list.rs new file mode 100644 index 0000000..f215300 --- /dev/null +++ b/src/widgets/providers/list.rs @@ -0,0 +1,39 @@ +use gio::prelude::*; +use glib::Sender; +use gtk::prelude::*; +use std::cell::RefCell; + +use crate::application::Action; +use crate::models::ProvidersModel; +use crate::widgets::AccountsList; + +pub struct ProvidersList { + pub widget: gtk::Box, + builder: gtk::Builder, + sender: Sender, + pub model: RefCell, +} + +impl ProvidersList { + pub fn new(sender: Sender) -> Self { + let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/Authenticator/providers_list.ui"); + let widget: gtk::Box = builder.get_object("providers_list").expect("Failed to retrieve providers_list"); + + let model = RefCell::new(ProvidersModel::new()); + + let providers_list = Self { widget, builder, sender, model }; + providers_list.init(); + providers_list + } + + fn init(&self) { + let providers_container: gtk::Box = self.builder.get_object("providers_container").expect("Failed to retrieve providers_container"); + + for (provider, accounts_model) in &self.model.borrow().model { + if accounts_model.get_count() != 0 { + let accounts_list = AccountsList::new(accounts_model, provider, self.sender.clone()); + providers_container.pack_start(&accounts_list.widget, false, false, 0); + } + } + } +} diff --git a/src/widgets/providers/mod.rs b/src/widgets/providers/mod.rs new file mode 100644 index 0000000..777e970 --- /dev/null +++ b/src/widgets/providers/mod.rs @@ -0,0 +1,3 @@ +mod list; + +pub use self::list::ProvidersList; diff --git a/src/widgets/window.rs b/src/widgets/window.rs new file mode 100644 index 0000000..5073934 --- /dev/null +++ b/src/widgets/window.rs @@ -0,0 +1,135 @@ +use crate::application::Action; +use crate::config::{APP_ID, PROFILE}; +use crate::widgets::providers::ProvidersList; +use crate::window_state; + +use gio::prelude::*; +use glib::Sender; +use gtk::prelude::*; + +use std::cell::RefCell; +use std::rc::Rc; + +#[derive(PartialEq, Debug)] +pub enum View { + Empty, + Locked, + Accounts, +} + +pub struct Window { + pub widget: gtk::ApplicationWindow, + sender: Sender, + builder: gtk::Builder, + settings: RefCell, +} + +impl Window { + pub fn new(sender: Sender) -> Rc> { + let settings = gio::Settings::new(APP_ID); + let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/Authenticator/window.ui"); + let widget: gtk::ApplicationWindow = builder.get_object("window").unwrap(); + + if PROFILE == "Devel" { + widget.get_style_context().add_class("devel"); + } + let window = Rc::new(RefCell::new(Window { + widget, + sender, + builder, + settings: RefCell::new(settings), + })); + + window.borrow().init(); + window.borrow().setup_actions(window.clone()); + window.borrow().set_view(View::Empty); // Start by default in an empty state + window + } + + pub fn set_view(&self, view: View) { + let headerbar_stack: gtk::Stack = self.builder.get_object("headerbar_stack").expect("Failed to retrieve headerbar_stack"); + let main_stack: gtk::Stack = self.builder.get_object("main_stack").expect("Failed to retrieve main_stack"); + match view { + View::Empty => { + main_stack.set_visible_child_name("empty_state"); + headerbar_stack.set_visible_child_name("empty_headerbar"); + } + View::Locked => { + main_stack.set_visible_child_name("locked_state"); + headerbar_stack.set_visible_child_name("locked_headerbar"); + } + View::Accounts => { + main_stack.set_visible_child_name("normal_state"); + headerbar_stack.set_visible_child_name("main_headerbar"); + } + } + } + + fn init(&self) { + // load latest window state + let settings = self.settings.borrow().clone(); + window_state::load(&self.widget, &settings); + // save window state on delete event + self.widget.connect_delete_event(move |window, _| { + window_state::save(&window, &settings); + Inhibit(false) + }); + + let providers_list = ProvidersList::new(self.sender.clone()); + let providers_container: gtk::Box = self.builder.get_object("providers_container").expect("Failed to retrieve providers_container"); + + providers_container.pack_start(&providers_list.widget, true, true, 0); + if providers_list.model.borrow().get_count() != 0 { + self.sender.send(Action::ViewAccounts).expect("Failed to send ViewAccountsAction"); + } + } + /* + fn order(&self, sort_by: Option, sort_order: Option) { + // self.library.borrow_mut().clone().sort(sort_by.clone(), sort_order.clone()); + + } + */ + + fn setup_actions(&self, s: Rc>) { + let actions = gio::SimpleActionGroup::new(); + let add_account = gio::SimpleAction::new("add-account", None); + let sender = self.sender.clone(); + add_account.connect_activate(move |_, _| { + sender.send(Action::OpenAddAccountDialog).unwrap(); + }); + actions.add_action(&add_account); + self.widget.insert_action_group("win", Some(&actions)); + + let actions = gio::SimpleActionGroup::new(); + let sort_descending = gio::SimpleAction::new("sort-descending", None); + let sort_ascending = gio::SimpleAction::new("sort-ascending", None); + + let window = s.clone(); + let sort_ascending_action = sort_ascending.clone(); + sort_descending.connect_activate(move |action, _| { + action.set_enabled(false); + sort_ascending_action.set_enabled(true); + // window.borrow_mut().order(None, Some(SortOrder::Desc)); + }); + actions.add_action(&sort_descending); + + let window = s.clone(); + let sort_descending_action = sort_descending.clone(); + sort_ascending.connect_activate(move |action, _| { + action.set_enabled(false); + sort_descending_action.set_enabled(true); + // window.borrow().order(None, Some(SortOrder::Asc)); + }); + actions.add_action(&sort_ascending); + + let window = s.clone(); + let sort_by = gio::SimpleAction::new("sort-by", Some(glib::VariantTy::new("s").unwrap())); + sort_by.connect_activate(move |_, data| { + // let sort_by = SortBy::from(data.unwrap().get_str().unwrap()); + // window.borrow().order(Some(sort_by), None); + }); + actions.add_action(&sort_by); + + self.widget.insert_action_group("library", Some(&actions)); + } +} diff --git a/src/window_state.rs b/src/window_state.rs new file mode 100644 index 0000000..c976c27 --- /dev/null +++ b/src/window_state.rs @@ -0,0 +1,34 @@ +use gio::prelude::SettingsExt; +use gtk::prelude::GtkWindowExt; + +pub fn load(window: >k::ApplicationWindow, settings: &gio::Settings) { + let width = settings.get_int("window-width"); + let height = settings.get_int("window-height"); + + if width > -1 && height > -1 { + window.resize(360, 600); + } + + let x = settings.get_int("window-x"); + let y = settings.get_int("window-y"); + let is_maximized = settings.get_boolean("is-maximized"); + + if x > -1 && y > -1 { + window.move_(x, y); + } else if is_maximized { + window.maximize(); + } +} + +pub fn save(window: >k::ApplicationWindow, settings: &gio::Settings) { + let size = window.get_size(); + let position = window.get_position(); + + settings.set_int("window-width", size.0); + settings.set_int("window-height", size.1); + + settings.set_boolean("is-maximized", window.is_maximized()); + + settings.set_int("window-x", position.0); + settings.set_int("window-y", position.1); +} diff --git a/tools/twofactorauth2sql.py b/tools/twofactorauth2sql.py new file mode 100644 index 0000000..f000997 --- /dev/null +++ b/tools/twofactorauth2sql.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 +""" +YAML database to JSON converter. +""" +import json +import tempfile +from collections import OrderedDict +from glob import glob +from os import path, remove +from shutil import rmtree +from subprocess import call +import sys +try: + import yaml +except ImportError: + sys.exit("Please install pyaml first") + +try: + from HTMLParser import HTMLParser +except ImportError: + from html.parser import HTMLParser + + + +GIT_CLONE_URI = "https://github.com/2factorauth/twofactorauth" +TMP_FOLDER = path.join(tempfile.gettempdir(), "Authenticator") +DATA_DIR = path.join(TMP_FOLDER, "_data") +OUTPUT_DIR = path.join(path.dirname( + path.realpath(__file__)), "../data/data.json") + +print("Cloning the repository...") +if path.exists(TMP_FOLDER): + rmtree(TMP_FOLDER) +call(["git", "clone", "--depth=1", GIT_CLONE_URI, TMP_FOLDER]) + +if path.exists(OUTPUT_DIR): + remove(OUTPUT_DIR) + + +def is_valid(provider): + if set(["tfa", "software"]).issubset(provider.keys()): + return provider["tfa"] and provider["software"] + else: + return False + + +output = {} + +html_parser = HTMLParser() + +down_query = "" +up_query = "" + +for db_file in glob(DATA_DIR + "/*.yml"): + with open(db_file, 'r', encoding='utf8') as file_data: + try: + providers = yaml.load(file_data)["websites"] + for provider in providers: + if is_valid(provider): + up_query += "INSERT INTO `providers` (`name`, `website`, `help_url`, `image_uri`) VALUES (`{}`, `{}`, `{}`, `{}`);\n".format( + html_parser.unescape(provider.get("name")), provider.get("url"), provider.get("doc", ""), '') + down_query += "DELETE FROM `providers` WHERE `name`=`{}`\n".format(html_parser.unescape(provider.get("name"))); + except (yaml.YAMLError, TypeError, KeyError) as error: + pass + +with open('./up.sql', 'w') as fo: + fo.write(up_query) + + +with open('./down.sql', 'w') as fo: + fo.write(down_query) + +rmtree(TMP_FOLDER) +

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�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%0Dn3jp?h*9Up7+niSz_xwCDzPbzbHQ8- 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