From 8d9bfbce2691da92444e9ac8a3580707be11366c Mon Sep 17 00:00:00 2001 From: Brendan Early Date: Mon, 17 May 2021 14:25:37 -0500 Subject: [PATCH 01/41] fix extension name --- manifests/manifest-firefox.json | 2 +- scripts/build.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/manifests/manifest-firefox.json b/manifests/manifest-firefox.json index 2fe774e0a..44e0e2ad6 100644 --- a/manifests/manifest-firefox.json +++ b/manifests/manifest-firefox.json @@ -1,6 +1,6 @@ { "manifest_version": 2, - "name": "Authenticator: Two-Factor Authentication Client", + "name": "__MSG_extName__", "short_name": "__MSG_extShortName__", "version": "6.3.2", "default_locale": "en", diff --git a/scripts/build.sh b/scripts/build.sh index 627356542..94922ed74 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -56,7 +56,7 @@ if [[ $PLATFORM = "prod" ]]; then elif [[ $PLATFORM = "test" ]]; then ./node_modules/webpack-cli/bin/cli.js --config webpack.dev.js ./node_modules/.bin/tsc scripts/test-runner.ts --esModuleInterop -else +else ./node_modules/webpack-cli/bin/cli.js fi ./node_modules/sass/sass.js sass:css @@ -90,7 +90,7 @@ if [[ $PLATFORM = "prod" ]]; then postCompile "firefox" postCompile "edge" mkdir release - mv chrome firefox release + mv chrome firefox edge release elif [[ $PLATFORM = "test" ]]; then postCompile "chrome" postCompile "firefox" From ae6ec2490e35ff9fa6f5fcd525c73e812fccbe22 Mon Sep 17 00:00:00 2001 From: Brendan Early Date: Mon, 17 May 2021 14:43:04 -0500 Subject: [PATCH 02/41] Shorten edge name --- manifests/manifest-edge.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/manifest-edge.json b/manifests/manifest-edge.json index 3f76cab31..64570a145 100644 --- a/manifests/manifest-edge.json +++ b/manifests/manifest-edge.json @@ -1,6 +1,6 @@ { "manifest_version": 2, - "name": "Authenticator: Two-Factor Authentication Client", + "name": "Authenticator: 2FA Client", "short_name": "__MSG_extShortName__", "version": "6.3.2", "default_locale": "en", From 157ee28fb7af6071a4ad166dbfd960a145594fc5 Mon Sep 17 00:00:00 2001 From: Brendan Early Date: Thu, 20 May 2021 16:47:18 -0500 Subject: [PATCH 03/41] Update translations --- _locales/ca/messages.json | 2 +- _locales/cs/messages.json | 12 ++++++------ _locales/da/messages.json | 24 ++++++++++++------------ _locales/de/messages.json | 2 +- _locales/ja/messages.json | 2 +- _locales/tr/messages.json | 20 ++++++++++---------- _locales/vi/messages.json | 2 +- 7 files changed, 32 insertions(+), 32 deletions(-) diff --git a/_locales/ca/messages.json b/_locales/ca/messages.json index 12a42d3c6..fdcb6d895 100644 --- a/_locales/ca/messages.json +++ b/_locales/ca/messages.json @@ -20,7 +20,7 @@ "description": "QR Error." }, "errorsecret": { - "message": "Invalid account secret", + "message": "Clau secreta del compte no vàlida", "description": "Secret Error." }, "add_code": { diff --git a/_locales/cs/messages.json b/_locales/cs/messages.json index 3d2daa3e4..53185fe12 100644 --- a/_locales/cs/messages.json +++ b/_locales/cs/messages.json @@ -112,21 +112,21 @@ "description": "Confirm Passphrase." }, "confirm_delete": { - "message": "Are you sure you want to delete this account? This action cannot be undone.", + "message": "Opravdu chcete tento účet smazat? Tuto akci nelze vrátit zpět.", "description": "Remove entry confirmation" }, "confirm_delete_all": { - "message": "I understand that all of my data will be irrecoverably deleted.", + "message": "Chápu, že všechna moje data budou nenávratně smazána.", "description": "Message that user is required to acknowledge before clearing all data." }, "delete_all": { - "message": "Reset Authenticator" + "message": "Resetovat autentifikátor" }, "delete_all_warning": { - "message": "This will delete all of your data and completely reset Authenticator. You will not be able to recover any deleted data! You should consider saving a backup before resetting Authenticator." + "message": "Tímto smažete všechna vaše data a kompletně obnovíte autentifikátor. Nebudete moci obnovit žádná odstraněná data! Před resetováním autentifikátoru byste měli zvážit uložení zálohy." }, "security_warning": { - "message": "This password will be used to encrypt your accounts. No one can help you if you forget the password.", + "message": "Toto heslo bude použito k šifrování vašich účtů. Nikdo vám nemůže pomoci, pokud zapomenete heslo.", "description": "Passphrase Warning." }, "update": { @@ -134,7 +134,7 @@ "description": "Update." }, "phrase_incorrect": { - "message": "You cannot add a new account until all accounts are decrypted. Please enter the correct password before continuing.", + "message": "Nelze přidat nový účet, dokud nejsou všechny účty dešifrovány. Před pokračováním zadejte prosím správné heslo.", "description": "Passphrase Incorrect." }, "phrase_incorrect_export": { diff --git a/_locales/da/messages.json b/_locales/da/messages.json index f4c569ac7..a2464e3a9 100644 --- a/_locales/da/messages.json +++ b/_locales/da/messages.json @@ -52,7 +52,7 @@ "description": "OK." }, "yes": { - "message": "Yes", + "message": "Ja", "description": "Yes." }, "no": { @@ -88,7 +88,7 @@ "description": "About." }, "settings": { - "message": "Settings", + "message": "Indstillinger", "description": "Settings." }, "security": { @@ -120,7 +120,7 @@ "description": "Message that user is required to acknowledge before clearing all data." }, "delete_all": { - "message": "Reset Authenticator" + "message": "Nulstil Autentificering" }, "delete_all_warning": { "message": "This will delete all of your data and completely reset Authenticator. You will not be able to recover any deleted data! You should consider saving a backup before resetting Authenticator." @@ -294,19 +294,19 @@ "description": "Use High Contrast" }, "theme": { - "message": "Theme", + "message": "Tema", "description": "Theme" }, "theme_light": { - "message": "Light", + "message": "Lys", "description": "Light theme" }, "theme_dark": { - "message": "Dark", + "message": "Mørk", "description": "Dark theme" }, "theme_high_contrast": { - "message": "High Contrast", + "message": "Høj Kontrast", "description": "High Contrast theme" }, "storage_sync_info": { @@ -314,7 +314,7 @@ "description": "3rd party backup info" }, "browser_sync": { - "message": "Browser Sync", + "message": "Browser Synkronisering", "description": "Storage location" }, "sign_in": { @@ -322,11 +322,11 @@ "description": "Sign in to 3rd party storage services" }, "sign_in_business": { - "message": "Sign in (Business)", + "message": "Log ind (Buisness)", "description": "Sign in to 3rd party storage services" }, "onedrive_business_perms": { - "message": "Why do business accounts require more permissions?" + "message": "Hvorfor kræver forretningskonti flere tilladelser?" }, "log_out": { "message": "Log af", @@ -385,9 +385,9 @@ "message": "Smart Filter" }, "backup": { - "message": "Backup" + "message": "Sikkerhedskopi" }, "backup_file_info": { - "message": "Backup your data to a file." + "message": "Sikkerhedskopier dine data til en fil." } } diff --git a/_locales/de/messages.json b/_locales/de/messages.json index 8264c03fa..98a17b63f 100644 --- a/_locales/de/messages.json +++ b/_locales/de/messages.json @@ -1,6 +1,6 @@ { "extName": { - "message": "Authentifikator", + "message": "Authentifizierung", "description": "Extension Name." }, "extShortName": { diff --git a/_locales/ja/messages.json b/_locales/ja/messages.json index b971ad7a5..f5d57f599 100644 --- a/_locales/ja/messages.json +++ b/_locales/ja/messages.json @@ -322,7 +322,7 @@ "description": "Sign in to 3rd party storage services" }, "sign_in_business": { - "message": "サインイン (ビジネス)", + "message": "Sign in (Business)", "description": "Sign in to 3rd party storage services" }, "onedrive_business_perms": { diff --git a/_locales/tr/messages.json b/_locales/tr/messages.json index 339679c76..df13e14e2 100644 --- a/_locales/tr/messages.json +++ b/_locales/tr/messages.json @@ -134,7 +134,7 @@ "description": "Update." }, "phrase_incorrect": { - "message": "Tüm hesapların şifresi çözülene kadar yeni bir hesap ekleyemezsiniz. Devam etmeden önce lütfen doğru parolayı girin.", + "message": "Tüm hesapların şifrelemesi çözülene kadar yeni bir hesap ekleyemezsiniz. Devam etmeden önce lütfen doğru parolayı girin.", "description": "Passphrase Incorrect." }, "phrase_incorrect_export": { @@ -146,7 +146,7 @@ "description": "Passphrase Not Match." }, "encrypted": { - "message": "Şifrelendi", + "message": "Şifrele", "description": "Encrypted." }, "copied": { @@ -166,7 +166,7 @@ "description": "Source Code." }, "passphrase_info": { - "message": "Hesap verilerinin şifresini çözmek için parolanızı girin.", + "message": "Hesap bilgilerinin şifrelemesini çözmek için parolanızı girin.", "description": "Passphrase Info" }, "sync_clock": { @@ -190,7 +190,7 @@ "description": "Capture Failed" }, "capture_local_file_failed": { - "message": "Karekodunu yerel bir dosyadan mı taramaya çalışıyorsunuz? Bunun yerine Karekod Yedeklemeden İçe Aktar seçeneğini kullanın.", + "message": "Karekodu yerel bir dosyadan mı taramaya çalışıyorsunuz? Bunun yerine Karekod yedeklemeden içe aktar seçeneğini kullanın.", "description": "Import QR image backup instead of scan local image" }, "based_on_time": { @@ -222,15 +222,15 @@ "description": "Import backup." }, "import_backup_file": { - "message": "Yedekleme Dosyasını İçe Aktar", + "message": "Yedekleme dosyasını içe aktar", "description": "Import backup file." }, "import_backup_qr": { - "message": "Karekod Yedeklemeden İçe Aktar", + "message": "Karekod yedeklemeden içe aktar", "description": "Import qr image backup." }, "import_backup_code": { - "message": "Metin Yedeklemeden İçe Aktar", + "message": "Metin yedeklemeden içe aktar", "description": "Import backup code." }, "import_backup_qr_partly_failed": { @@ -262,7 +262,7 @@ "description": "Remove password." }, "download_enc_backup": { - "message": "Parola Korumalı Yedeklemeyi İndirin", + "message": "Şifrelenmiş Yedeklemeyi İndir", "description": "Download Encrypted Backup" }, "search": { @@ -329,7 +329,7 @@ "message": "Kurumsal hesaplar neden daha fazla izin gerektirir?" }, "log_out": { - "message": "Çıkış", + "message": "Oturumu kapat", "description": "Sign out of 3rd party storage services" }, "token_revoked": { @@ -347,7 +347,7 @@ "description": "Warning if using account that is not supported by standard backup format." }, "otp_backup_inform": { - "message": "Yedekleri bazı uygulamalardan içe aktarabilirsiniz.", + "message": "Farklı uygulamalardan da yedekleri içe aktarabilirsiniz.", "description": "Info text on import page" }, "otp_backup_learn": { diff --git a/_locales/vi/messages.json b/_locales/vi/messages.json index 3031cabd8..5c63f3598 100644 --- a/_locales/vi/messages.json +++ b/_locales/vi/messages.json @@ -282,7 +282,7 @@ "description": "Edit" }, "manual_dropbox": { - "message": "Manual Backup", + "message": "Sao lưu thủ công", "description": "Manual backup" }, "use_autofill": { From 9a11e638d58c36095c8f96e993ce4c14515ec161 Mon Sep 17 00:00:00 2001 From: Brendan Early Date: Thu, 20 May 2021 16:48:03 -0500 Subject: [PATCH 04/41] 6.3.2 --- manifests/manifest-chrome.json | 2 +- manifests/manifest-edge.json | 2 +- manifests/manifest-firefox.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/manifests/manifest-chrome.json b/manifests/manifest-chrome.json index 73371dd33..6c9ab3a69 100644 --- a/manifests/manifest-chrome.json +++ b/manifests/manifest-chrome.json @@ -2,7 +2,7 @@ "manifest_version": 2, "name": "__MSG_extName__", "short_name": "__MSG_extShortName__", - "version": "6.3.2", + "version": "6.3.3", "default_locale": "en", "description": "__MSG_extDesc__", "icons": { diff --git a/manifests/manifest-edge.json b/manifests/manifest-edge.json index 64570a145..6a5d11d2f 100644 --- a/manifests/manifest-edge.json +++ b/manifests/manifest-edge.json @@ -2,7 +2,7 @@ "manifest_version": 2, "name": "Authenticator: 2FA Client", "short_name": "__MSG_extShortName__", - "version": "6.3.2", + "version": "6.3.3", "default_locale": "en", "description": "__MSG_extDesc__", "icons": { diff --git a/manifests/manifest-firefox.json b/manifests/manifest-firefox.json index 44e0e2ad6..4de000749 100644 --- a/manifests/manifest-firefox.json +++ b/manifests/manifest-firefox.json @@ -2,7 +2,7 @@ "manifest_version": 2, "name": "__MSG_extName__", "short_name": "__MSG_extShortName__", - "version": "6.3.2", + "version": "6.3.3", "default_locale": "en", "description": "__MSG_extDesc__", "applications": { From 245f1b77eafd5d8023b04b44b3a669a97a5f223c Mon Sep 17 00:00:00 2001 From: Zhe Li Date: Mon, 14 Jun 2021 19:14:39 +0800 Subject: [PATCH 05/41] Update codecov to 1.5.0 see https://github.com/codecov/codecov-action/issues/322#issuecomment-850376793 --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e3e7189f1..b729442a5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -65,4 +65,4 @@ jobs: args: npm test - name: Codecov - uses: codecov/codecov-action@v1.4.1 + uses: codecov/codecov-action@v1.5.0 From 3b3a86b07c4267ceb844a3d0372a514bfb76ec05 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Jun 2021 20:19:58 +0800 Subject: [PATCH 06/41] Bump ws from 7.4.1 to 7.4.6 (#678) Bumps [ws](https://github.com/websockets/ws) from 7.4.1 to 7.4.6. - [Release notes](https://github.com/websockets/ws/releases) - [Commits](https://github.com/websockets/ws/compare/7.4.1...7.4.6) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5fd94810b..848a370f9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2896,7 +2896,8 @@ "figgy-pudding": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true }, "figures": { "version": "3.2.0", @@ -8311,9 +8312,9 @@ } }, "ws": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz", - "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "dev": true }, "xtend": { From fe06746ffe13d39bb25602379a196f7251f8fa86 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 25 Jun 2021 03:20:21 +0800 Subject: [PATCH 07/41] Bump postcss from 7.0.32 to 7.0.36 (#687) Bumps [postcss](https://github.com/postcss/postcss) from 7.0.32 to 7.0.36. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/7.0.32...7.0.36) --- updated-dependencies: - dependency-name: postcss dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 848a370f9..e714c8169 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5683,9 +5683,9 @@ "dev": true }, "postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", "dev": true, "requires": { "chalk": "^2.4.2", From a9cd8178f27e37ab5f2aa10caf24bfb8bdf5bc91 Mon Sep 17 00:00:00 2001 From: Zhe Li Date: Sat, 26 Jun 2021 04:54:00 +0800 Subject: [PATCH 08/41] fix accessibility css --- sass/_ui.scss | 2 +- sass/popup.scss | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/sass/_ui.scss b/sass/_ui.scss index 8a38ac835..d3c2fe220 100644 --- a/sass/_ui.scss +++ b/sass/_ui.scss @@ -25,7 +25,7 @@ $themes: ( ), accessibility: ( black-1: white, - black-transparent: rgba(255, 255, 255, 0.5), + black-transparent: rgba(255, 255, 255, 1), white-1: black, white-transparent: rgba(0, 0, 0, 0.5), grey-1: white, diff --git a/sass/popup.scss b/sass/popup.scss index 4375576e1..cb182c784 100644 --- a/sass/popup.scss +++ b/sass/popup.scss @@ -1071,6 +1071,11 @@ svg { } } + #info { + border: 1px solid white; + box-shadow: none; + } + #info .control-group input[type="checkbox"]::before { background: none; border: 2px solid white; @@ -1090,4 +1095,25 @@ svg { .input { color: black; } + + #notification { + &.fadein { + opacity: 1; + animation: none; + } + + &.fadeout { + opacity: 0; + animation: none; + } + } + + ::-webkit-scrollbar { + background: black !important; + } + + ::-webkit-scrollbar-thumb { + background-color: white !important; + border: 2px solid black !important; + } } From 3e2dabdf7fbf822f3f5fec98a4bdf35680be2792 Mon Sep 17 00:00:00 2001 From: dmitrykatenko Date: Tue, 6 Jul 2021 11:05:15 +1000 Subject: [PATCH 09/41] Add GOST 34.11 hash algorithm (#693) Co-authored-by: dmitrii --- package-lock.json | 5 + package.json | 3 +- src/components/Popup/AddAccountPage.vue | 2 + src/definitions/gost.d.ts | 15 ++ src/models/key-utilities.ts | 47 +++++- src/models/otp.ts | 19 +++ src/test/gost.test.ts | 190 ++++++++++++++++++++++++ 7 files changed, 277 insertions(+), 4 deletions(-) create mode 100644 src/definitions/gost.d.ts create mode 100644 src/test/gost.test.ts diff --git a/package-lock.json b/package-lock.json index e714c8169..d72fab411 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2037,6 +2037,11 @@ "randomfill": "^1.0.3" } }, + "crypto-gost": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/crypto-gost/-/crypto-gost-1.0.14.tgz", + "integrity": "sha512-oE7ZngB9p5dstDpeR+xNg+n6hEFMQ0l3Syhe6ihcQbUDpt2sygsZJHont+QacxRzOw3ukEzGSVvTclKaH1XruA==" + }, "crypto-js": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.0.0.tgz", diff --git a/package.json b/package.json index 145aa4792..80c0e5b73 100644 --- a/package.json +++ b/package.json @@ -71,6 +71,7 @@ "uuid": "^3.4.0", "vue": "^2.6.12", "vue2-dragula": "^2.5.4", - "vuex": "^3.4.0" + "vuex": "^3.4.0", + "crypto-gost": "^1.0.14" } } diff --git a/src/components/Popup/AddAccountPage.vue b/src/components/Popup/AddAccountPage.vue index 8e00b1757..36b45a0cb 100644 --- a/src/components/Popup/AddAccountPage.vue +++ b/src/components/Popup/AddAccountPage.vue @@ -30,6 +30,8 @@ + + diff --git a/src/definitions/gost.d.ts b/src/definitions/gost.d.ts new file mode 100644 index 000000000..c4c7bc837 --- /dev/null +++ b/src/definitions/gost.d.ts @@ -0,0 +1,15 @@ +declare module "crypto-gost" { + export class AlgorithmIndentifier { + mode: string; + name: string; + version: number; + length: number; + } + export class GostEngine { + static getGostDigest(alg: AlgorithmIndentifier): GostDigest; + } + interface GostDigest { + sign(key: Uint8Array, data: Uint8Array): number[]; + verify(key: Uint8Array, signature: Uint8Array, data: Uint8Array): boolean; + } +} diff --git a/src/models/key-utilities.ts b/src/models/key-utilities.ts index 4dc6ab9fe..6439425b6 100644 --- a/src/models/key-utilities.ts +++ b/src/models/key-utilities.ts @@ -1,5 +1,6 @@ -import { OTPType, OTPAlgorithm } from "./otp"; +import { OTPType, OTPAlgorithm, OTPUtil } from "./otp"; import * as CryptoJS from "crypto-js"; +import { GostEngine, GostDigest, AlgorithmIndentifier } from "crypto-gost"; // Originally based on the JavaScript implementation as provided by Russell // Sayers on his Tin Isles blog: @@ -91,6 +92,28 @@ export class KeyUtilities { return output; } + private static cryptoJsWordArrayToUint8Array( + wordArray: CryptoJS.lib.WordArray + ) { + const l = wordArray.sigBytes; + const words = wordArray.words; + const result = new Uint8Array(l); + let i = 0 /*dst*/, + j = 0; /*src*/ + while (i < l) { + // here i is a multiple of 4 + const w = words[j++]; + result[i++] = (w & 0xff000000) >>> 24; + if (i === l) break; + result[i++] = (w & 0x00ff0000) >>> 16; + if (i === l) break; + result[i++] = (w & 0x0000ff00) >>> 8; + if (i === l) break; + result[i++] = w & 0x000000ff; + } + return result; + } + static generate( type: OTPType, secret: string, @@ -149,6 +172,9 @@ export class KeyUtilities { } } + let alg: AlgorithmIndentifier; + let gostCipher: GostDigest; + let hmacObj: CryptoJS.lib.WordArray; switch (algorithm) { case OTPAlgorithm.SHA256: @@ -163,6 +189,22 @@ export class KeyUtilities { CryptoJS.enc.Hex.parse(key) ); break; + case OTPAlgorithm.GOST3411_2012_256: + case OTPAlgorithm.GOST3411_2012_512: + alg = { + mode: "HMAC", + name: "GOST R 34.11", + version: 2012, + length: OTPUtil.getOTPAlgorithmSpec(algorithm).length, + }; + gostCipher = GostEngine.getGostDigest(alg); + hmacObj = CryptoJS.lib.WordArray.create( + gostCipher.sign( + this.cryptoJsWordArrayToUint8Array(CryptoJS.enc.Hex.parse(key)), + this.cryptoJsWordArrayToUint8Array(CryptoJS.enc.Hex.parse(time)) + ) + ); + break; default: hmacObj = CryptoJS.HmacSHA1( CryptoJS.enc.Hex.parse(time), @@ -173,8 +215,7 @@ export class KeyUtilities { const hmac = CryptoJS.enc.Hex.stringify(hmacObj); - let offset = 0; - offset = this.hex2dec(hmac.substring(hmac.length - 1)); + const offset = this.hex2dec(hmac.substring(hmac.length - 1)); let otp = (this.hex2dec(hmac.substr(offset * 2, 8)) & this.hex2dec("7fffffff")) + diff --git a/src/models/otp.ts b/src/models/otp.ts index 5b45a9997..d2630c630 100644 --- a/src/models/otp.ts +++ b/src/models/otp.ts @@ -21,6 +21,25 @@ export enum OTPAlgorithm { SHA1 = 1, SHA256, SHA512, + GOST3411_2012_256, + GOST3411_2012_512, +} + +export interface OTPAlgorithmSpec { + length: number; +} + +export class OTPUtil { + static getOTPAlgorithmSpec(otpAlgorithm: OTPAlgorithm): OTPAlgorithmSpec { + switch (otpAlgorithm) { + case OTPAlgorithm.GOST3411_2012_256: + return { length: 256 }; + case OTPAlgorithm.GOST3411_2012_512: + return { length: 512 }; + default: + return { length: 0 }; + } + } } export class OTPEntry implements OTPEntryInterface { diff --git a/src/test/gost.test.ts b/src/test/gost.test.ts new file mode 100644 index 000000000..4e2aac698 --- /dev/null +++ b/src/test/gost.test.ts @@ -0,0 +1,190 @@ +import { AlgorithmIndentifier, GostDigest, GostEngine } from "crypto-gost"; +import { expect } from "chai"; +import { KeyUtilities } from "../models/key-utilities"; +import { OTPAlgorithm, OTPType, OTPUtil } from "../models/otp"; + +describe("Test GOST 2012", () => { + const secret: string = getRandomHEXString(32); + const counter: number = calculateCounter(new Date()); + testAlgorithm(secret, counter, OTPAlgorithm.GOST3411_2012_256); + testAlgorithm(secret, counter, OTPAlgorithm.GOST3411_2012_512); +}); + +function calculateCounter(date: Date) { + const epoch: number = Math.round(date.getTime() / 1000.0); + const period: number = 30; + return Math.floor(epoch / period); +} + +function testAlgorithm( + secret: string, + counter: number, + algorithm: OTPAlgorithm +) { + const previousCounter = counter - 1; + let alg: AlgorithmIndentifier; + let cipher: GostDigest; + alg = { + mode: "HMAC", + name: "GOST R 34.11", + version: 2012, + length: OTPUtil.getOTPAlgorithmSpec(algorithm).length, + }; + cipher = GostEngine.getGostDigest(alg); + //current counter + const signatureArray = new Uint8Array( + cipher.sign( + new Uint8Array(parseHexString(secret)), + new Uint8Array(counterToArray(counter)) + ) + ); + const signature = toHexString(signatureArray); + const isSignatureOk = cipher.verify( + new Uint8Array(parseHexString(secret)), + signatureArray, + new Uint8Array(counterToArray(counter)) + ); + const otp = getOtp(signature); + //previous counter + const prevSignatureArray = new Uint8Array( + cipher.sign( + new Uint8Array(parseHexString(secret)), + new Uint8Array(counterToArray(previousCounter)) + ) + ); + const prevSignature = toHexString(prevSignatureArray); + const isPrevSignatureOk = cipher.verify( + new Uint8Array(parseHexString(secret)), + prevSignatureArray, + new Uint8Array(counterToArray(previousCounter)) + ); + const previousOtp = getOtp(prevSignature); + //check hash algorithm + it( + "(" + + OTPAlgorithm[algorithm] + + ") " + + "hash from secret '" + + secret + + "' and counter '" + + counter + + "' = '" + + signature + + "', verifying", + () => { + expect(isSignatureOk).to.eq(true); + } + ); + //check previous hash algorithm + it( + "(" + + OTPAlgorithm[algorithm] + + ") " + + "hash from secret '" + + secret + + "' and counter '" + + previousCounter + + "' = '" + + prevSignature + + "', verifying", + () => { + expect(isPrevSignatureOk).to.eq(true); + } + ); + //check otp is different from previous one + it( + "(" + + OTPAlgorithm[algorithm] + + ") " + + "current otp = '" + + otp + + "', previous otp = '" + + previousOtp + + "', verifying otp codes are different", + () => { + expect(otp).to.not.eq(previousOtp); + } + ); + //check otp generated is valid + const _secret = "B1B0AE0E5ADFBF89A5F7DF440592A3AE"; //measuring 'secret' + const _date = new Date("2021-01-01T00:00:00.000Z"); //measuring 'date' + const _counter = calculateCounter(_date); + const _otp = KeyUtilities.generate( + OTPType.hotp, + _secret, + _counter, + 30, + 6, + algorithm + ); + let _validOtp = ""; + if (algorithm === OTPAlgorithm.GOST3411_2012_256) { + _validOtp = "982313"; //measuring 'otp' + } + if (algorithm === OTPAlgorithm.GOST3411_2012_512) { + _validOtp = "733980"; //measuring 'otp' + } + it( + "(" + + OTPAlgorithm[algorithm] + + ") " + + "valid otp for secret '" + + _secret + + "' and date '" + + _date + + "' is '" + + _validOtp + + "', verifying", + () => { + expect(_otp).to.eq(_validOtp); + } + ); +} + +function getOtp(signature: string) { + const digits: number = 6; + const offset = hex2dec(signature.substring(signature.length - 1)); + let otp = + (hex2dec(signature.substr(offset * 2, 8)) & hex2dec("7fffffff")) + ""; + otp = otp.substr(otp.length - digits, digits); + return otp; +} + +function counterToArray(counter: number) { + const data = []; + let value = counter; + for (let i = 8; i-- > 0; value >>>= 8) { + data[i] = value & 0xff; + } + return data; +} + +function getRandomHEXString(length: number) { + const randomChars = "ABCDEF0123456789"; + let result = ""; + for (let i = 0; i < length; i++) { + result += randomChars.charAt( + Math.floor(Math.random() * randomChars.length) + ); + } + return result; +} + +function hex2dec(s: string) { + return Number(`0x${s}`); +} + +function parseHexString(str: string) { + let result = []; + while (str.length >= 8) { + result.push(parseInt(str.substring(0, 8), 16)); + str = str.substring(8, str.length); + } + return result; +} + +function toHexString(byteArray: Uint8Array) { + return Array.from(byteArray, function (byte) { + return ("0" + (byte & 0xff).toString(16)).slice(-2); + }).join(""); +} From af907ee74a32b41c9c9146e82351f851bf78f23a Mon Sep 17 00:00:00 2001 From: Zhe Li Date: Tue, 6 Jul 2021 12:38:09 +0800 Subject: [PATCH 10/41] add key binding to copy code (#691) * add key binding to copy code * address comment --- sass/popup.scss | 11 ++- src/components/Popup.vue | 10 ++- src/components/Popup/EnterPasswordPage.vue | 10 ++- src/components/Popup/EntryComponent.vue | 24 ++++-- src/components/Popup/MainBody.vue | 98 ++++++++++++++++++---- src/store/Accounts.ts | 11 +-- 6 files changed, 131 insertions(+), 33 deletions(-) diff --git a/sass/popup.scss b/sass/popup.scss index cb182c784..a992de6ce 100644 --- a/sass/popup.scss +++ b/sass/popup.scss @@ -21,6 +21,14 @@ body { font-size: 16px; cursor: default; user-select: none; + + :focus { + outline: auto; + } +} + +.hideoutline * { + outline: none !important; } svg { @@ -282,6 +290,8 @@ svg { } border-radius: 2px; position: relative; + display: block; + cursor: pointer; .issuer { font-size: 12px; @@ -301,7 +311,6 @@ svg { width: 80%; user-select: text; font-family: "Droid Sans Mono"; - cursor: pointer; } .sector, diff --git a/src/components/Popup.vue b/src/components/Popup.vue index 041e5b597..55a2825a7 100644 --- a/src/components/Popup.vue +++ b/src/components/Popup.vue @@ -5,7 +5,10 @@ 'theme-normal': theme !== 'accessibility' && theme !== 'dark', 'theme-accessibility': theme === 'accessibility', 'theme-dark': theme === 'dark', + hideoutline, }" + v-on:mousedown="hideoutline = true" + v-on:keydown="hideoutline = false" > - + diff --git a/src/components/Popup/AdvisorPage.vue b/src/components/Popup/AdvisorPage.vue new file mode 100644 index 000000000..c5804ff78 --- /dev/null +++ b/src/components/Popup/AdvisorPage.vue @@ -0,0 +1,45 @@ + + diff --git a/src/components/Popup/MenuPage.vue b/src/components/Popup/MenuPage.vue index 1d4868e39..369d1621d 100644 --- a/src/components/Popup/MenuPage.vue +++ b/src/components/Popup/MenuPage.vue @@ -34,6 +34,11 @@ {{ i18n.resize_popup_page }}

+ @@ -50,7 +59,8 @@ import { EntryStorage } from "../../models/storage"; import EntryComponent from "./EntryComponent.vue"; -import IconPlus from "../../../svg/plus.svg"; +// import IconPlus from "../../../svg/plus.svg"; +import IconKey from "../../../svg/key-solid.svg"; const computed: { filter: () => boolean; @@ -70,6 +80,10 @@ export default Vue.extend({ }, computed, methods: { + openLink(url: string) { + window.open(url, "_blank"); + return; + }, isMatchedEntry(entry: OTPEntry) { for (const hash of this.$store.getters["accounts/matchedEntries"]) { if (entry.hash === hash) { @@ -184,7 +198,8 @@ export default Vue.extend({ }, components: { EntryComponent, - IconPlus, + // IconPlus, + IconKey, }, }); diff --git a/svg/key-solid.svg b/svg/key-solid.svg new file mode 100644 index 000000000..5139e044f --- /dev/null +++ b/svg/key-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3fe15823cf284e8edc856dc313a1c2933da4e8ad Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 15 Sep 2021 18:26:25 +0000 Subject: [PATCH 30/41] Add new strings This commit was automatically made by run 1238787481 --- _locales/ar/messages.json | 3 +++ _locales/bg/messages.json | 3 +++ _locales/ca/messages.json | 3 +++ _locales/cs/messages.json | 3 +++ _locales/da/messages.json | 3 +++ _locales/de/messages.json | 3 +++ _locales/el/messages.json | 3 +++ _locales/es/messages.json | 3 +++ _locales/et/messages.json | 3 +++ _locales/fa/messages.json | 3 +++ _locales/fi/messages.json | 3 +++ _locales/fr/messages.json | 3 +++ _locales/fy/messages.json | 3 +++ _locales/he/messages.json | 3 +++ _locales/hr/messages.json | 3 +++ _locales/hu/messages.json | 3 +++ _locales/id/messages.json | 3 +++ _locales/it/messages.json | 3 +++ _locales/ja/messages.json | 3 +++ _locales/ko/messages.json | 3 +++ _locales/nl/messages.json | 3 +++ _locales/no/messages.json | 3 +++ _locales/pl/messages.json | 3 +++ _locales/pt/messages.json | 3 +++ _locales/pt_BR/messages.json | 3 +++ _locales/ro/messages.json | 3 +++ _locales/ru/messages.json | 3 +++ _locales/sq/messages.json | 3 +++ _locales/sr/messages.json | 3 +++ _locales/sv/messages.json | 3 +++ _locales/th/messages.json | 3 +++ _locales/tr/messages.json | 3 +++ _locales/uk/messages.json | 3 +++ _locales/vi/messages.json | 3 +++ _locales/zh_CN/messages.json | 3 +++ _locales/zh_TW/messages.json | 3 +++ 36 files changed, 108 insertions(+) diff --git a/_locales/ar/messages.json b/_locales/ar/messages.json index b6ed89ceb..4504a3ab8 100644 --- a/_locales/ar/messages.json +++ b/_locales/ar/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/bg/messages.json b/_locales/bg/messages.json index e697891fc..354c82142 100644 --- a/_locales/bg/messages.json +++ b/_locales/bg/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/ca/messages.json b/_locales/ca/messages.json index 9909ffbe3..3a200a763 100644 --- a/_locales/ca/messages.json +++ b/_locales/ca/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/cs/messages.json b/_locales/cs/messages.json index e77176eaa..52068b52f 100644 --- a/_locales/cs/messages.json +++ b/_locales/cs/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/da/messages.json b/_locales/da/messages.json index ee44dba2d..771672e0e 100644 --- a/_locales/da/messages.json +++ b/_locales/da/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/de/messages.json b/_locales/de/messages.json index d0be6f110..6785f0031 100644 --- a/_locales/de/messages.json +++ b/_locales/de/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/el/messages.json b/_locales/el/messages.json index d34d76911..7c8a09555 100644 --- a/_locales/el/messages.json +++ b/_locales/el/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/es/messages.json b/_locales/es/messages.json index a5d4aae8f..f08594ef6 100644 --- a/_locales/es/messages.json +++ b/_locales/es/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/et/messages.json b/_locales/et/messages.json index 289652813..8e245d0cd 100644 --- a/_locales/et/messages.json +++ b/_locales/et/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/fa/messages.json b/_locales/fa/messages.json index 6f115b6e4..5b0f9b110 100644 --- a/_locales/fa/messages.json +++ b/_locales/fa/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/fi/messages.json b/_locales/fi/messages.json index f41a0cc51..f35189bf5 100644 --- a/_locales/fi/messages.json +++ b/_locales/fi/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/fr/messages.json b/_locales/fr/messages.json index 2430700b6..fcc496d97 100644 --- a/_locales/fr/messages.json +++ b/_locales/fr/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/fy/messages.json b/_locales/fy/messages.json index 62986285e..55982cd31 100644 --- a/_locales/fy/messages.json +++ b/_locales/fy/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/he/messages.json b/_locales/he/messages.json index 6be2a7b70..e398822d4 100644 --- a/_locales/he/messages.json +++ b/_locales/he/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/hr/messages.json b/_locales/hr/messages.json index b67d3d152..787cb2fd5 100644 --- a/_locales/hr/messages.json +++ b/_locales/hr/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/hu/messages.json b/_locales/hu/messages.json index 355086700..b879629f0 100644 --- a/_locales/hu/messages.json +++ b/_locales/hu/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/id/messages.json b/_locales/id/messages.json index 1761d3e1d..79b5df2a1 100644 --- a/_locales/id/messages.json +++ b/_locales/id/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/it/messages.json b/_locales/it/messages.json index 776d0a07e..1b013b382 100644 --- a/_locales/it/messages.json +++ b/_locales/it/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/ja/messages.json b/_locales/ja/messages.json index b977d94cc..d0c5925cd 100644 --- a/_locales/ja/messages.json +++ b/_locales/ja/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/ko/messages.json b/_locales/ko/messages.json index 335fe63a2..4db4d5690 100644 --- a/_locales/ko/messages.json +++ b/_locales/ko/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/nl/messages.json b/_locales/nl/messages.json index 36d832adb..1b5082dd0 100644 --- a/_locales/nl/messages.json +++ b/_locales/nl/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/no/messages.json b/_locales/no/messages.json index c564f64ad..09dfbf212 100644 --- a/_locales/no/messages.json +++ b/_locales/no/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/pl/messages.json b/_locales/pl/messages.json index 168b01d86..56b04fbcf 100644 --- a/_locales/pl/messages.json +++ b/_locales/pl/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/pt/messages.json b/_locales/pt/messages.json index 9a82de1bb..f8072b8fe 100644 --- a/_locales/pt/messages.json +++ b/_locales/pt/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/pt_BR/messages.json b/_locales/pt_BR/messages.json index 6e1e4640d..7d405e5a2 100644 --- a/_locales/pt_BR/messages.json +++ b/_locales/pt_BR/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/ro/messages.json b/_locales/ro/messages.json index b56b35b5b..0d0150e04 100644 --- a/_locales/ro/messages.json +++ b/_locales/ro/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/ru/messages.json b/_locales/ru/messages.json index 3bb1729d5..50716c408 100644 --- a/_locales/ru/messages.json +++ b/_locales/ru/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/sq/messages.json b/_locales/sq/messages.json index c0c41525b..c89037930 100644 --- a/_locales/sq/messages.json +++ b/_locales/sq/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/sr/messages.json b/_locales/sr/messages.json index 926dd84e3..4a1d84ddb 100644 --- a/_locales/sr/messages.json +++ b/_locales/sr/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/sv/messages.json b/_locales/sv/messages.json index a7b9ff1ba..f94a7c731 100644 --- a/_locales/sv/messages.json +++ b/_locales/sv/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/th/messages.json b/_locales/th/messages.json index 11160f27c..ce1f2935d 100644 --- a/_locales/th/messages.json +++ b/_locales/th/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/tr/messages.json b/_locales/tr/messages.json index d810e79f7..455844d80 100644 --- a/_locales/tr/messages.json +++ b/_locales/tr/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/uk/messages.json b/_locales/uk/messages.json index 7ee6bb998..a549f38b2 100644 --- a/_locales/uk/messages.json +++ b/_locales/uk/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/vi/messages.json b/_locales/vi/messages.json index 9aa1f5431..a481c9c76 100644 --- a/_locales/vi/messages.json +++ b/_locales/vi/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/zh_CN/messages.json b/_locales/zh_CN/messages.json index 7aaa0d361..e490541ea 100644 --- a/_locales/zh_CN/messages.json +++ b/_locales/zh_CN/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file diff --git a/_locales/zh_TW/messages.json b/_locales/zh_TW/messages.json index 2209f5c03..b60f21654 100644 --- a/_locales/zh_TW/messages.json +++ b/_locales/zh_TW/messages.json @@ -431,5 +431,8 @@ }, "password_policy_default_hint": { "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, + "no_entires": { + "message": "No accounts to display. Add your first account now." } } \ No newline at end of file From 9e9286e223465d7ad4969a33e5e35fdb133de809 Mon Sep 17 00:00:00 2001 From: Zhe Li Date: Sun, 19 Sep 2021 10:04:32 +0800 Subject: [PATCH 31/41] add context menu support (#731) * add context menu support * disable context menu for firefox * user URL instead of a tag * bugfix * Update strings Co-authored-by: Brendan Early --- _locales/ar/messages.json | 24 +- _locales/bg/messages.json | 8 +- _locales/ca/messages.json | 36 +- _locales/cs/messages.json | 44 +- _locales/da/messages.json | 8 +- _locales/de/messages.json | 28 +- _locales/el/messages.json | 120 +- _locales/en/messages.json | 3 + _locales/es/messages.json | 34 +- _locales/et/messages.json | 20 +- _locales/fa/messages.json | 18 +- _locales/fi/messages.json | 8 +- _locales/fr/messages.json | 32 +- _locales/fy/messages.json | 34 +- _locales/he/messages.json | 8 +- _locales/hr/messages.json | 8 +- _locales/hu/messages.json | 8 +- _locales/id/messages.json | 38 +- _locales/it/messages.json | 34 +- _locales/ja/messages.json | 36 +- _locales/ko/messages.json | 60 +- _locales/nl/messages.json | 34 +- _locales/no/messages.json | 10 +- _locales/pl/messages.json | 42 +- _locales/pt/messages.json | 8 +- _locales/pt_BR/messages.json | 36 +- _locales/ro/messages.json | 10 +- _locales/ru/messages.json | 72 +- _locales/sq/messages.json | 8 +- _locales/sr/messages.json | 8 +- _locales/sv/messages.json | 8 +- _locales/th/messages.json | 42 +- _locales/tr/messages.json | 34 +- _locales/uk/messages.json | 48 +- _locales/vi/messages.json | 8 +- _locales/zh_CN/messages.json | 36 +- _locales/zh_TW/messages.json | 32 +- manifests/manifest-chrome-testing.json | 1 + manifests/manifest-chrome.json | 1 + manifests/manifest-edge.json | 1 + package-lock.json | 9927 +++++++++++++++++++++- src/background.ts | 46 + src/components/Popup/PreferencesPage.vue | 37 +- src/definitions/module-interface.d.ts | 1 + src/popup.ts | 3 +- src/store/Accounts.ts | 32 +- src/store/Menu.ts | 5 + 47 files changed, 10555 insertions(+), 544 deletions(-) diff --git a/_locales/ar/messages.json b/_locales/ar/messages.json index 4504a3ab8..7941dafed 100644 --- a/_locales/ar/messages.json +++ b/_locales/ar/messages.json @@ -36,7 +36,7 @@ "description": "Manual Entry." }, "migration_fail": { - "message": "Import failed. If you are migrating data from Google Authenticator, please re-export your data from Google Authenticator and try again.", + "message": "فشل الاستيراد. إذا كنت تقوم بترحيل البيانات من Google Authenticator، الرجاء إعادة تصدير بياناتك من Google Authenticator وحاول مرة أخرى.", "description": "Import migration data failed." }, "migration_partly_fail": { @@ -190,7 +190,7 @@ "description": "Capture Failed" }, "capture_local_file_failed": { - "message": "Are you trying to scan QR code from a local file? Use Import QR Image Backup instead.", + "message": "هل تحاول مسح رمز QR من ملف محلي؟ استخدم استيراد نسخة احتياطية لصورة QR بدلاً من ذلك.", "description": "Import QR image backup instead of scan local image" }, "based_on_time": { @@ -282,7 +282,7 @@ "description": "Edit" }, "manual_dropbox": { - "message": "Manual Backup", + "message": "النسخ الاحتياطي اليدوي", "description": "Manual backup" }, "use_autofill": { @@ -314,7 +314,7 @@ "description": "3rd party backup info" }, "browser_sync": { - "message": "Browser Sync", + "message": "مزامنة المتصفح", "description": "Storage location" }, "sign_in": { @@ -322,11 +322,11 @@ "description": "Sign in to 3rd party storage services" }, "sign_in_business": { - "message": "Sign in (Business)", + "message": "تسجيل الدخول (الأعمال التجارية)", "description": "Sign in to 3rd party storage services" }, "onedrive_business_perms": { - "message": "Why do business accounts require more permissions?" + "message": "لماذا تتطلب حسابات الأعمال المزيد من الصلاحيات؟" }, "log_out": { "message": "تسجيل خروج", @@ -385,10 +385,13 @@ "message": "الفلتر الذكي" }, "backup": { - "message": "Backup" + "message": "نسخ احتياطي" }, "backup_file_info": { - "message": "Backup your data to a file." + "message": "قم بالنسخ الاحتياطي لبياناتك إلى ملف." + }, + "password_policy_default_hint": { + "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." }, "advisor": { "message": "Advisor" @@ -429,10 +432,7 @@ "learn_more": { "message": "Learn more" }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." - }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/bg/messages.json b/_locales/bg/messages.json index 354c82142..a550e2cce 100644 --- a/_locales/bg/messages.json +++ b/_locales/bg/messages.json @@ -390,6 +390,9 @@ "backup_file_info": { "message": "Backup your data to a file." }, + "password_policy_default_hint": { + "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, "advisor": { "message": "Advisor" }, @@ -429,10 +432,7 @@ "learn_more": { "message": "Learn more" }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." - }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/ca/messages.json b/_locales/ca/messages.json index 3a200a763..983ee62bf 100644 --- a/_locales/ca/messages.json +++ b/_locales/ca/messages.json @@ -390,49 +390,49 @@ "backup_file_info": { "message": "Fes una còpia de les dades a un fitxer." }, + "password_policy_default_hint": { + "message": "La contrasenya no acompleix els requeriments de seguretat de la vostra organització. Contacteu amb el vostre administrador per a més informació." + }, "advisor": { - "message": "Advisor" + "message": "Assessor" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "Establiu una contrasenya per protegir les vostres dades." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "Activeu el bloqueig automàtic per protegir les vostres dades." }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "La sincronització està desactivada. Habilitar-la permet que els comptes es sincronitzin entre navegadors." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "Podeu activar l'emplenament automàtic per omplir els codis a les pàgines web." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "Activar el filtre intel·ligent permet l'accés ràpid als comptes." }, "show_all_insights": { - "message": "Show all insights." + "message": "Mostra tots els punts de vista." }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "No s'han trobat punts de vista, tot sembla correcte!" }, "danger": { - "message": "Danger" + "message": "Perill" }, "warning": { - "message": "Warning" + "message": "Advertència" }, "info": { - "message": "Info" + "message": "Informació" }, "dismiss": { - "message": "Dismiss" + "message": "Descarta" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "Saber-ne més" }, "no_entires": { - "message": "No accounts to display. Add your first account now." + "message": "Sense comptes per mostrar. Afegiu un compte ara." } -} \ No newline at end of file +} diff --git a/_locales/cs/messages.json b/_locales/cs/messages.json index 52068b52f..9583fdcb5 100644 --- a/_locales/cs/messages.json +++ b/_locales/cs/messages.json @@ -72,7 +72,7 @@ "description": "Issuer." }, "secret": { - "message": "Tajný klíč", + "message": "Secret", "description": "Secret." }, "updateSuccess": { @@ -138,7 +138,7 @@ "description": "Passphrase Incorrect." }, "phrase_incorrect_export": { - "message": "Accounts that were not able to be decrypted will not be included in this backup.", + "message": "Účty které nebylo možno dešifrovat nebudou zahrnuty v této záloze.", "description": "Skip Unable-decripted Data." }, "phrase_not_match": { @@ -182,7 +182,7 @@ "description": "Local Time is Too Far Off" }, "remind_backup": { - "message": "Do you have a backup for your accounts? Don't wait until it's too late!", + "message": "Máte zálohu vašich účtů? Nečekejte než je příliš pozdě!", "description": "Remind Backup" }, "capture_failed": { @@ -282,7 +282,7 @@ "description": "Edit" }, "manual_dropbox": { - "message": "Manual Backup", + "message": "Ruční zálohování", "description": "Manual backup" }, "use_autofill": { @@ -290,23 +290,23 @@ "description": "Use Autofill" }, "use_high_contrast": { - "message": "Use High Contrast", + "message": "Použít vysoký kontrast", "description": "Use High Contrast" }, "theme": { - "message": "Theme", + "message": "Motiv", "description": "Theme" }, "theme_light": { - "message": "Light", + "message": "Světlý", "description": "Light theme" }, "theme_dark": { - "message": "Dark", + "message": "Tmavý", "description": "Dark theme" }, "theme_high_contrast": { - "message": "High Contrast", + "message": "Vysoký kontrast", "description": "High Contrast theme" }, "storage_sync_info": { @@ -318,7 +318,7 @@ "description": "Storage location" }, "sign_in": { - "message": "Sign in", + "message": "Přihlásit se", "description": "Sign in to 3rd party storage services" }, "sign_in_business": { @@ -329,7 +329,7 @@ "message": "Why do business accounts require more permissions?" }, "log_out": { - "message": "Logout", + "message": "Odhlásit se", "description": "Sign out of 3rd party storage services" }, "token_revoked": { @@ -355,16 +355,16 @@ "description": "learn more link on import page. Placed after otp_backup_inform" }, "loading": { - "message": "Loading..." + "message": "Načítání..." }, "autolock": { - "message": "Lock after" + "message": "Zamknout po" }, "minutes": { - "message": "minutes" + "message": "minutách" }, "advanced": { - "message": "Advanced" + "message": "Pokročilé" }, "period": { "message": "Period" @@ -382,19 +382,22 @@ "message": "Algoritmus" }, "smart_filter": { - "message": "Smart Filter" + "message": "Chytrý filtr" }, "backup": { - "message": "Backup" + "message": "Záloha" }, "backup_file_info": { "message": "Backup your data to a file." }, + "password_policy_default_hint": { + "message": "Vaše heslo nesplňuje bezpečnostní požadavky vaší organizace. Pro více informací kontaktujte svého správce." + }, "advisor": { "message": "Advisor" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "Nastavte si heslo pro ochranu vašich dat." }, "advisor_insight_auto_lock_not_set": { "message": "Enable auto-lock to protect your data." @@ -429,10 +432,7 @@ "learn_more": { "message": "Learn more" }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." - }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/da/messages.json b/_locales/da/messages.json index 771672e0e..3a280ca92 100644 --- a/_locales/da/messages.json +++ b/_locales/da/messages.json @@ -390,6 +390,9 @@ "backup_file_info": { "message": "Sikkerhedskopier dine data til en fil." }, + "password_policy_default_hint": { + "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, "advisor": { "message": "Advisor" }, @@ -429,10 +432,7 @@ "learn_more": { "message": "Learn more" }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." - }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/de/messages.json b/_locales/de/messages.json index 6785f0031..2f755eb53 100644 --- a/_locales/de/messages.json +++ b/_locales/de/messages.json @@ -390,23 +390,26 @@ "backup_file_info": { "message": "Sichern Sie Ihre Daten in eine Datei." }, + "password_policy_default_hint": { + "message": "Ihr Passwort entspricht nicht den Sicherheitsanforderungen Ihrer Organisation. Kontaktieren Sie Ihren Administrator für weitere Informationen." + }, "advisor": { - "message": "Advisor" + "message": "Ratgeber" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "Lege ein Passwort zum Schutz deiner Daten fest." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "Erlaube automatisches Sperren, um deine Daten zu schützen." }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "Erlaube Browser-Synchronisation, damit Accounts zwischen verschiedenen Browsern synchronisiert werden können." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "Autofill erlauben, um Passwortfelder in Websites automatisch auszufüllen." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "Das Aktivieren des intelligenten Filters ermöglicht schnellen Zugriff auf Konten." }, "show_all_insights": { "message": "Show all insights." @@ -415,24 +418,21 @@ "message": "No insights found, everything looks good!" }, "danger": { - "message": "Danger" + "message": "Risiko" }, "warning": { - "message": "Warning" + "message": "Warnung" }, "info": { "message": "Info" }, "dismiss": { - "message": "Dismiss" + "message": "Verwerfen" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "Weitere Informationen" }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/el/messages.json b/_locales/el/messages.json index 7c8a09555..311e605d1 100644 --- a/_locales/el/messages.json +++ b/_locales/el/messages.json @@ -8,15 +8,15 @@ "description": "Extension Short Name." }, "extDesc": { - "message": "Ο επαληθευτής αναπαράγει κωδικούς επαλήθευσης ταυτότητας δυο παραγόντων, στο πρόγραμμα περιήγησής σας.", + "message": "Ο επαληθευτής δημιουργεί κωδικούς ταυτότητας δυο παραγόντων στο πρόγραμμα περιήγησής σας.", "description": "Extension Description." }, "added": { - "message": "έχει προστεθεί.", + "message": " έχει προστεθεί.", "description": "Added Account." }, "errorqr": { - "message": "Μη αναγνωρισμένος κώδικας QR.", + "message": "Ο κώδικας QR δεν αναγνωρίστηκε.", "description": "QR Error." }, "errorsecret": { @@ -28,7 +28,7 @@ "description": "Add account." }, "add_qr": { - "message": "Σάρωση QR κωδικού", + "message": "Σάρωση κώδικα QR", "description": "Scan QR Code." }, "add_secret": { @@ -36,11 +36,11 @@ "description": "Manual Entry." }, "migration_fail": { - "message": "Η εισαγωγή απέτυχε. Αν μεταφέρετε δεδομένα από το Google Authenticator, παρακαλούμε επανεξάγετε τα δεδομένα σας από το Google Authenticator και προσπαθήστε ξανά.", + "message": "Η εισαγωγή απέτυχε. Αν μεταφέρετε δεδομένα από το Google Authenticator, επανεξάγετέ τα και προσπαθήστε ξανά.", "description": "Import migration data failed." }, "migration_partly_fail": { - "message": "Ορισμένα δεδομένα λογαριασμού δεν εισήχθησαν με επιτυχία.", + "message": "Ορισμένα από τα δεδομένα του λογαριασμού σας δεν εισήχθησαν με επιτυχία.", "description": "Some migration data is broken." }, "close": { @@ -64,7 +64,7 @@ "description": "Account." }, "accountName": { - "message": "Όνομα Χρήστη", + "message": "Όνομα χρήστη", "description": "Account Name." }, "issuer": { @@ -76,11 +76,11 @@ "description": "Secret." }, "updateSuccess": { - "message": "Επιτυχία", + "message": "Επιτυχία.", "description": "Update Success." }, "updateFailure": { - "message": "Αποτυχία", + "message": "Αποτυχία.", "description": "Update Failure." }, "about": { @@ -96,7 +96,7 @@ "description": "Security." }, "current_phrase": { - "message": "Τρέχον Κωδικός", + "message": "Παλιός κωδικός πρόσβασης", "description": "Current Passphrase." }, "new_phrase": { @@ -108,11 +108,11 @@ "description": "Passphrase." }, "confirm_phrase": { - "message": "Επιβεβαίωση Κωδικού Πρόσβασης", + "message": "Επιβεβαίωση κωδικού πρόσβασης", "description": "Confirm Passphrase." }, "confirm_delete": { - "message": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτόν τον λογαριασμό; Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.", + "message": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτόν τον λογαριασμό; Δε θα μπορέσετε να αναιρέσετε αυτήν την ενέργεια αργότερα.", "description": "Remove entry confirmation" }, "confirm_delete_all": { @@ -120,13 +120,13 @@ "description": "Message that user is required to acknowledge before clearing all data." }, "delete_all": { - "message": "Επαναφορά Πιστοποιητή" + "message": "Επαναφορά Επαληθευτή" }, "delete_all_warning": { - "message": "Αυτό θα διαγράψει όλα τα δεδομένα σας και θα επαναφέρετε πλήρως τον έλεγχο ταυτοποίησης. Δεν θα μπορείτε να ανακτήσετε τυχόν διαγραμμένα δεδομένα! Θα πρέπει να αποθηκεύσετε ένα αντίγραφο ασφαλείας πριν από την επαναφορά του ελέγχου ταυτοποίησης." + "message": "Αυτό θα διαγράψει όλα σας τα δεδομένα και θα επαναφέρει πλήρως τον Επαληθευτή. Δε θα μπορείτε να ανακτήσετε τυχόν διαγραμμένα δεδομένα, γι' αυτό σας συνιστούμε να δημιουργήσετε ένα αντίγραφο ασφαλείας πριν την επαναφορά." }, "security_warning": { - "message": "Αυτός ο κωδικός πρόσβασης θα χρησιμοποιηθεί για την κρυπτογράφηση των λογαριασμών σας. Κανείς δεν μπορεί να σας βοηθήσει στη περίπτωση που ξεχάσετε τον κωδικό πρόσβασης.", + "message": "Αυτός ο κωδικός πρόσβασης θα χρησιμοποιηθεί για την κρυπτογράφηση των λογαριασμών σας. Κανείς δεν μπορεί να σας βοηθήσει σε περίπτωση που τον ξεχάσετε.", "description": "Passphrase Warning." }, "update": { @@ -134,11 +134,11 @@ "description": "Update." }, "phrase_incorrect": { - "message": "Δεν μπορείτε να προσθέσετε ένα νέο λογαριασμό μέχρι όλοι οι λογαριασμοί να έχουν αποκρυπτογραφηθεί. Παρακαλώ εισάγετε τον σωστό κωδικό πρόσβασης πριν συνεχίσετε.", + "message": "Δεν μπορείτε να προσθέσετε ένα νέο λογαριασμό μέχρι όλοι οι λογαριασμοί να έχουν αποκρυπτογραφηθεί. Εισάγετε τον σωστό κωδικό πρόσβασης για να συνεχίσετε.", "description": "Passphrase Incorrect." }, "phrase_incorrect_export": { - "message": "Οι λογαριασμοί που δεν μπόρεσαν να αποκρυπτογραφηθούν δεν θα συμπεριληφθούν σε αυτό το αντίγραφο ασφαλείας.", + "message": "Οι λογαριασμοί που δεν αποκρυπτογραφήθηκαν δε θα συμπεριληφθούν σε αυτό το αντίγραφο ασφαλείας.", "description": "Skip Unable-decripted Data." }, "phrase_not_match": { @@ -154,19 +154,19 @@ "description": "Copied." }, "feedback": { - "message": "Αξιολόγηση", + "message": "Αξιολογήστε μας", "description": "Feedback." }, "translate": { - "message": "Μετάφραση", + "message": "Συνεισφέρετε στη μετάφραση", "description": "Translate." }, "source": { - "message": "Πηγαίος Κώδικας", + "message": "Πηγαίος κώδικας", "description": "Source Code." }, "passphrase_info": { - "message": "Εισάγετε κωδικό πρόσβασης για να αποκρυπτογραφήσει τα δεδομένα του λογαριασμού.", + "message": "Εισάγετε τον κωδικό πρόσβασης για να αποκρυπτογραφήσετε τα δεδομένα του λογαριασμού.", "description": "Passphrase Info" }, "sync_clock": { @@ -178,19 +178,19 @@ "description": "Remember Passphrase" }, "clock_too_far_off": { - "message": "ΠΡΟΣΟΧΗ! Τοπικό ρολόι σας είναι πάρα πολύ μακριά, παρακαλώ διορθώστε το πριν να συνεχίσετε.", + "message": "Προσοχή! Τοπικό ρολόι σας απέχει πάρα πολύ από την πραγματική ώρα. Διορθώστε το για να συνεχίσετε.", "description": "Local Time is Too Far Off" }, "remind_backup": { - "message": "Έχετε ένα αντίγραφο ασφαλείας για τους λογαριασμούς σας; Μην περιμένετε έως ότου είναι πολύ αργά!", + "message": "Έχετε δημιουργήσει αντίγραφα ασφαλείας για τους λογαριασμούς σας; Μην περιμένετε έως ότου είναι πολύ αργά!", "description": "Remind Backup" }, "capture_failed": { - "message": "Η καταγραφή απέτυχε, επαναλάβετε τη φόρτωση της σελίδας και προσπαθήστε ξανά.", + "message": "Η καταγραφή απέτυχε, επαναφορτώστε τη σελίδα και προσπαθήστε ξανά.", "description": "Capture Failed" }, "capture_local_file_failed": { - "message": "Προσπαθείτε να σαρώσετε τον κωδικό QR από ένα τοπικό αρχείο; Χρησιμοποιήστε την εισαγωγή αντιγράφου ασφαλείας εικόνας QR.", + "message": "Προσπαθείτε να σαρώσετε τον κωδικό QR από ένα τοπικό αρχείο; Κάντε κλικ στο \"Εισαγωγή αντιγράφου ασφαλείας εικόνας QR\".", "description": "Import QR image backup instead of scan local image" }, "based_on_time": { @@ -210,7 +210,7 @@ "description": "Scale" }, "export_info": { - "message": "Προειδοποίηση: όλα τα αντίγραφα ασφαλείας είναι κρυπτογραφημένη. Θέλετε να προσθέσετε ένα λογαριασμό σε μια άλλη εφαρμογή; Καταδείξτε επάνω δεξιά μέρος οποιουδήποτε λογαριασμού και πάτα το κουμπί κρυφό.", + "message": "Προσοχή: κανένα από τα αντίγραφα ασφαλείας σας δεν είναι κρυπτογραφημένα. Θέλετε να προσθέσετε ένα λογαριασμό σε μια άλλη εφαρμογή; Σύρετε το ποντίκι στο επάνω δεξιά μέρος οποιουδήποτε λογαριασμού και κάντε κλικ στο κρυφό κουμπί.", "description": "Export menu info text" }, "download_backup": { @@ -226,35 +226,35 @@ "description": "Import backup file." }, "import_backup_qr": { - "message": "Εισαγωγή Αντιγράφου Ασφαλείας Εικόνας QR", + "message": "Εισαγωγή αντιγράφου ασφαλείας εικόνας QR", "description": "Import qr image backup." }, "import_backup_code": { - "message": "Αντίγραφο ασφαλείας εισαγώμενου κειμένου", + "message": "Εισαγωγή αντιγράφου ασφαλείας κειμένου", "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Εισαγωγή με επιτυχία, αλλά κάποια εικόνα QR δεν μπορεί να αναγνωριστεί.", + "message": "Η εισαγωγή ολοκληρώθηκε με επιτυχία, αλλά κάποια εικόνα QR δεν αναγνωρίστηκε.", "description": "Import successfuly, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { - "message": "Μπορείτε να επιλέξετε πολλαπλά αρχεία για την εισαγωγή αντιγράφων ασφαλείας σε ομάδες.", + "message": "Μπορείτε να επιλέξετε περισσότερα από ένα αρχεία αντιγράφων ασφαλείας.", "description": "You can select multiple image files to import backup in batches." }, "show_all_entries": { - "message": "Εμφάνισε όλες τις καταχωρήσεις", + "message": "Να εμφανιστούν όλες οι καταχωρήσεις", "description": "Show all entries." }, "dropbox_risk": { - "message": "Προσοχή: τα αντίγραφα ασφαλείας δεν είναι κρυπτογραφημένα. Χρησιμοποιήστε το με δική σας ευθύνη.", + "message": "Προσοχή: τα αντίγραφα ασφαλείας δεν είναι κρυπτογραφημένα. Χρησιμοποιήστε τα με δική σας ευθύνη.", "description": "Backup risk warning." }, "import_error_password": { - "message": "Πρέπει να παρέχετε το σωστό κωδικό πρόσβασης για να εισαγάγετε τα αντίγραφα ασφαλείας.", + "message": "Ο κωδικός πρόσβασης πρέπει να είναι σωστός για να εισαχθούν τα αντίγραφα ασφαλείας.", "description": "Error password warning when import backups." }, "local_passphrase_warning": { - "message": "Τον κωδικό πρόσβασής σας είναι αποθηκευμένη τοπικά, παρακαλούμε αμέσως να το αλλάξετε από το μενού ασφάλεια.", + "message": "Ο κωδικός πρόσβασης είναι αποθηκευμένος τοπικά στον υπολογιστή σας. Σας συνιστούμε να τον αλλάξετε από το μενού ασφαλείας αμέσως.", "description": "localStorage password warning." }, "remove": { @@ -262,7 +262,7 @@ "description": "Remove password." }, "download_enc_backup": { - "message": "Λήψη αντιγράφων ασφαλείας που προστατεύεται με κωδικό πρόσβασης", + "message": "Λήψη αντιγράφων ασφαλείας που προστατεύονται με κωδικό", "description": "Download Encrypted Backup" }, "search": { @@ -270,7 +270,7 @@ "description": "Search" }, "popout": { - "message": "Αναδυόμενο παράθυρο λειτουργίας", + "message": "Λειτουργία αναδυόμενου παραθύρου", "description": "Make window turn into persistent popup" }, "lock": { @@ -282,7 +282,7 @@ "description": "Edit" }, "manual_dropbox": { - "message": "Manual Backup", + "message": "Χειροκίνητη δημιουργία αντιγράφων ασφαλείας", "description": "Manual backup" }, "use_autofill": { @@ -326,14 +326,14 @@ "description": "Sign in to 3rd party storage services" }, "onedrive_business_perms": { - "message": "Γιατί οι λογαριασμοί των επιχειρήσεων απαιτούν περισσότερες άδειες;" + "message": "Γιατί οι λογαριασμοί των επιχειρήσεων χρειάζονται περισσότερα δικαιώματα για να λειτουργήσουν σωστά;" }, "log_out": { "message": "Αποσύνδεση", "description": "Sign out of 3rd party storage services" }, "token_revoked": { - "message": "Υπήρξε ένα πρόβλημα στην σύνδεση με τον $SERVICE$ λογαριασμό σας, παρακαλώ συνδεθείτε ξανά.", + "message": "Υπήρξε ένα πρόβλημα στην σύνδεση με τον λογαριασμό σας $SERVICE$. Προσπαθήστε να συνδεθείτε ξανά.", "description": "Error authenticating to backup service. $SERVICE$ will be replaced with a proper noun (E.g.: 'Google Drive' or 'Dropbox')", "placeholders": { "service": { @@ -343,7 +343,7 @@ } }, "otp_unsupported_warn": { - "message": "Έχετε έναν ή παραπάνω Steam ή Blizzard λογαριασμούς. Μη κρυπτογραφημένα αντίγραφα ασφαλείας δεν θα χρησιμοποιήσουν τυποποιημένη μορφή αντιγράφου ασφαλείας.", + "message": "Έχετε έναν ή παραπάνω Steam ή Blizzard λογαριασμούς. Τα αντίγραφα ασφαλείας που δεν έχουν κρυπτογραφηθεί δε θα ακολουθήσουν τη συνηθισμένη μορφή των άλλων αντιγράφων.", "description": "Warning if using account that is not supported by standard backup format." }, "otp_backup_inform": { @@ -355,7 +355,7 @@ "description": "learn more link on import page. Placed after otp_backup_inform" }, "loading": { - "message": "Φόρτωση σε εξέλιξη..." + "message": "Φόρτωση..." }, "autolock": { "message": "Κλείδωμα μετά από" @@ -382,7 +382,7 @@ "message": "Αλγόριθμος" }, "smart_filter": { - "message": "Smart Filter" + "message": "Έξυπνο φίλτρο" }, "backup": { "message": "Αντίγραφο Ασφαλείας" @@ -390,49 +390,49 @@ "backup_file_info": { "message": "Αποθηκεύστε τα δεδομένα σας σε ένα αρχείο." }, + "password_policy_default_hint": { + "message": "Ο κωδικός πρόσβασής σας δεν πληροί τις προαπαιτήσεις ασφαλείας του οργανισμού σας. Επικοινωνήστε με τοn διαχειριστή σας για περισσότερες πληροφορίες." + }, "advisor": { - "message": "Advisor" + "message": "Σύμβουλος" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "Δημιουργήστε έναν κωδικό για να ασφαλίσετε τα δεδομένα σας." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "Ενεργοποιήστε το αυτόματο κλείδωμα για να προστατεύσετε τα δεδομένα σας." }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "Ο συγχρονισμός είναι απενεργοποιημένος. Εάν τον ενεργοποιήσετε, θα μπορείτε να συγχρονίσετε τους λογαριασμούς σας σε περισσότερα από ένα προγράμματα περιήγησης." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "Ενεργοποιήστε την αυτόματη συμπλήρωση έτσι ώστε οι κωδικοί σας να εισάγονται αυτόματα στις ιστοσελίδες." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "Ενεργοποιήστε το «έξυπνο» φίλτρο για να έχετε γρήγορη πρόσβαση στους λογαριασμούς που χρειάζεστε." }, "show_all_insights": { - "message": "Show all insights." + "message": "Εμφάνιση όλων των συμβουλών." }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "Δεν βρέθηκαν συμβουλές, όλα είναι μια χαρά!" }, "danger": { - "message": "Danger" + "message": "Κίνδυνος" }, "warning": { - "message": "Warning" + "message": "Προσοχή" }, "info": { - "message": "Info" + "message": "Πληροφορία" }, "dismiss": { - "message": "Dismiss" + "message": "Κλείσιμο" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "Μάθετε περισσότερα" }, "no_entires": { - "message": "No accounts to display. Add your first account now." + "message": "Δεν υπάρχει κανένας λογαριασμός εδώ. Προσθέστε έναν τώρα." } -} \ No newline at end of file +} diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 257086cda..2712c2b7c 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -432,6 +432,9 @@ "learn_more": { "message": "Learn more" }, + "enable_context_menu": { + "message": "Add to context menu" + }, "no_entires": { "message": "No accounts to display. Add your first account now." } diff --git a/_locales/es/messages.json b/_locales/es/messages.json index f08594ef6..aae0972c8 100644 --- a/_locales/es/messages.json +++ b/_locales/es/messages.json @@ -390,49 +390,49 @@ "backup_file_info": { "message": "Guarda en un archivo una copia de seguridad de tus datos." }, + "password_policy_default_hint": { + "message": "La contraseña no cumple los requisitos de seguridad de tu organización. Para obtener más información, ponte en contacto con el administrador." + }, "advisor": { - "message": "Advisor" + "message": "Recomendaciones" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "Crea una contraseña para proteger tus datos." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "Habilita el bloqueo automático para proteger tus datos." }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "La sincronización del navegador está deshabilitada. Si la habilitas, podrás sincronizar tus cuentas entre distintos navegadores." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "La función Autocompletar permite rellenar automáticamente códigos en sitios web." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "Al activar el filtro inteligente, podrás acceder rápidamente a las cuentas." }, "show_all_insights": { - "message": "Show all insights." + "message": "Mostrar todas las recomendaciones." }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "No se encontraron recomendaciones, ¡parece que todo está bien!" }, "danger": { - "message": "Danger" + "message": "Peligro" }, "warning": { - "message": "Warning" + "message": "Advertencia" }, "info": { - "message": "Info" + "message": "Información" }, "dismiss": { - "message": "Dismiss" + "message": "Descartar" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "Más información" }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/et/messages.json b/_locales/et/messages.json index 8e245d0cd..528f229c0 100644 --- a/_locales/et/messages.json +++ b/_locales/et/messages.json @@ -282,7 +282,7 @@ "description": "Edit" }, "manual_dropbox": { - "message": "Manual Backup", + "message": "Manuaalne varundus", "description": "Manual backup" }, "use_autofill": { @@ -314,7 +314,7 @@ "description": "3rd party backup info" }, "browser_sync": { - "message": "Browser Sync", + "message": "Brauseri sünk", "description": "Storage location" }, "sign_in": { @@ -322,7 +322,7 @@ "description": "Sign in to 3rd party storage services" }, "sign_in_business": { - "message": "Sign in (Business)", + "message": "Logi sisse (ettevõte)", "description": "Sign in to 3rd party storage services" }, "onedrive_business_perms": { @@ -390,6 +390,9 @@ "backup_file_info": { "message": "Varundage enda andmed failiks." }, + "password_policy_default_hint": { + "message": "Teie salasõna ei vasta teie organisatsiooni turvanõuetele. Lisateabe saamiseks kontakteeruge oma administraatoriga." + }, "advisor": { "message": "Advisor" }, @@ -418,21 +421,18 @@ "message": "Danger" }, "warning": { - "message": "Warning" + "message": "Hoiatus" }, "info": { "message": "Info" }, "dismiss": { - "message": "Dismiss" + "message": "Sulge" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "Lisateave" }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/fa/messages.json b/_locales/fa/messages.json index 5b0f9b110..ec0d2689c 100644 --- a/_locales/fa/messages.json +++ b/_locales/fa/messages.json @@ -146,7 +146,7 @@ "description": "Passphrase Not Match." }, "encrypted": { - "message": "رمزنگاری شده", + "message": "رمزگذاری شده", "description": "Encrypted." }, "copied": { @@ -222,7 +222,7 @@ "description": "Import backup." }, "import_backup_file": { - "message": "ایمپورت کردن فایل پشتیبان", + "message": "وارد کردن فایل پشتیبان", "description": "Import backup file." }, "import_backup_qr": { @@ -274,7 +274,7 @@ "description": "Make window turn into persistent popup" }, "lock": { - "message": "قفل کردن", + "message": "قفل", "description": "Lock accounts" }, "edit": { @@ -322,11 +322,11 @@ "description": "Sign in to 3rd party storage services" }, "sign_in_business": { - "message": "Sign in (Business)", + "message": "ورود (تجاری)", "description": "Sign in to 3rd party storage services" }, "onedrive_business_perms": { - "message": "Why do business accounts require more permissions?" + "message": "چرا حساب تجاری نیاز به مجوزهای امنیتی بیشتری دارد ؟" }, "log_out": { "message": "خروج از حساب", @@ -390,6 +390,9 @@ "backup_file_info": { "message": "ایجاد فایل پشتیبان از داده‌های شما" }, + "password_policy_default_hint": { + "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, "advisor": { "message": "Advisor" }, @@ -429,10 +432,7 @@ "learn_more": { "message": "Learn more" }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." - }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/fi/messages.json b/_locales/fi/messages.json index f35189bf5..757936f30 100644 --- a/_locales/fi/messages.json +++ b/_locales/fi/messages.json @@ -390,6 +390,9 @@ "backup_file_info": { "message": "Backup your data to a file." }, + "password_policy_default_hint": { + "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, "advisor": { "message": "Advisor" }, @@ -429,10 +432,7 @@ "learn_more": { "message": "Learn more" }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." - }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/fr/messages.json b/_locales/fr/messages.json index fcc496d97..5b4a69a0a 100644 --- a/_locales/fr/messages.json +++ b/_locales/fr/messages.json @@ -390,49 +390,49 @@ "backup_file_info": { "message": "Sauvegardez vos données dans un fichier." }, + "password_policy_default_hint": { + "message": "Votre mot de passe ne répond pas aux exigences de sécurité de votre organisation. Contactez votre administrateur pour plus d'informations." + }, "advisor": { - "message": "Advisor" + "message": "Conseiller" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "Définir un mot de passe pour protéger vos données." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "Activer le verrouillage automatique pour protéger vos données." }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "La synchronisation avec le navigateur est désactivée. Activez-la pour autoriser cette synchronisation." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "Le remplissage automatique peut être activé pour remplir automatiquement les codes dans les sites web." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "Activer le filtre intelligent permet un accès rapide aux comptes." }, "show_all_insights": { - "message": "Show all insights." + "message": "Afficher tous les aperçus." }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "Aucun aperçu trouvé, tout semble bien!" }, "danger": { "message": "Danger" }, "warning": { - "message": "Warning" + "message": "Attention" }, "info": { - "message": "Info" + "message": "Information" }, "dismiss": { - "message": "Dismiss" + "message": "Fermer" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "En savoir plus" }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/fy/messages.json b/_locales/fy/messages.json index 55982cd31..74fd8cce8 100644 --- a/_locales/fy/messages.json +++ b/_locales/fy/messages.json @@ -390,49 +390,49 @@ "backup_file_info": { "message": "Meitsje in reservekopy fan jo gegevens nei in bestân." }, + "password_policy_default_hint": { + "message": "Jo wachtwurd foldocht net oan de befeiligingseasken fan jo organisaasje. Nim kontakt op mei jo behearder foar mear ynformaasje." + }, "advisor": { - "message": "Advisor" + "message": "Adviseur" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "Stel in wachtwurd yn om jo gegevens te befeiligjen." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "Skeakel automatysk beskoatteljen yn om jo gegevens te beskermjen." }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "Browsersyngronisaasje is útskeakele. Skeakel dit yn om accounts yn ferskate browsers te syngronisearjen." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "Automatysk ynfolje kin ynskeakele wurde om automatysk koaden op websites yn te foljen." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "It ynskeakeljen fan in tûk filter soarget foar snelle tagong ta accounts." }, "show_all_insights": { - "message": "Show all insights." + "message": "Alle ynsichten toane." }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "Gjin ynsichten fûn, alles sjocht der goed út!" }, "danger": { - "message": "Danger" + "message": "Gefaar" }, "warning": { - "message": "Warning" + "message": "Warskôging" }, "info": { - "message": "Info" + "message": "Ynformaasje" }, "dismiss": { - "message": "Dismiss" + "message": "Negearje" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "Mear ynfo" }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/he/messages.json b/_locales/he/messages.json index e398822d4..d904f4ac9 100644 --- a/_locales/he/messages.json +++ b/_locales/he/messages.json @@ -390,6 +390,9 @@ "backup_file_info": { "message": "גיבוי הנתונים שלך לקובץ." }, + "password_policy_default_hint": { + "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, "advisor": { "message": "Advisor" }, @@ -429,10 +432,7 @@ "learn_more": { "message": "Learn more" }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." - }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/hr/messages.json b/_locales/hr/messages.json index 787cb2fd5..1c889947d 100644 --- a/_locales/hr/messages.json +++ b/_locales/hr/messages.json @@ -390,6 +390,9 @@ "backup_file_info": { "message": "Spremanje podataka u sigurnosnu kopiju." }, + "password_policy_default_hint": { + "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, "advisor": { "message": "Advisor" }, @@ -429,10 +432,7 @@ "learn_more": { "message": "Learn more" }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." - }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/hu/messages.json b/_locales/hu/messages.json index b879629f0..a65eee89f 100644 --- a/_locales/hu/messages.json +++ b/_locales/hu/messages.json @@ -390,6 +390,9 @@ "backup_file_info": { "message": "Backup your data to a file." }, + "password_policy_default_hint": { + "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, "advisor": { "message": "Advisor" }, @@ -429,10 +432,7 @@ "learn_more": { "message": "Learn more" }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." - }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/id/messages.json b/_locales/id/messages.json index 79b5df2a1..a577175d6 100644 --- a/_locales/id/messages.json +++ b/_locales/id/messages.json @@ -88,7 +88,7 @@ "description": "About." }, "settings": { - "message": "Setelan", + "message": "Konfigurasi", "description": "Settings." }, "security": { @@ -282,7 +282,7 @@ "description": "Edit" }, "manual_dropbox": { - "message": "Manual Backup", + "message": "Backup manual", "description": "Manual backup" }, "use_autofill": { @@ -390,49 +390,49 @@ "backup_file_info": { "message": "Cadangkan data Anda ke file." }, + "password_policy_default_hint": { + "message": "Kata sandi tidak memenuhi persyaratan keamanan organisasi anda. Hubungi administrator untuk informasi lebih lanjut." + }, "advisor": { - "message": "Advisor" + "message": "Penasehat" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "Masukkan kata sandi untuk melindungi data anda." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "Aktifkan auto-lock untuk melindungi data anda." }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "Sinkronisasi browser nonaktif. Mengaktifkannya membuat akun sinkron di semua browser." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "Autofill dapat diaktifkan untuk mengisi kode secara otomatis ke situs web." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "Mengaktifkan filter cerdas memungkinkan akses cepat ke akun." }, "show_all_insights": { - "message": "Show all insights." + "message": "Melihat semua pengumuman." }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "Pengumuman kosong, semua normal!" }, "danger": { - "message": "Danger" + "message": "Perhatian" }, "warning": { - "message": "Warning" + "message": "Peringatan" }, "info": { - "message": "Info" + "message": "Informasi" }, "dismiss": { - "message": "Dismiss" + "message": "Abaikan" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "Selengkapnya" }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/it/messages.json b/_locales/it/messages.json index 1b013b382..169fe3ba2 100644 --- a/_locales/it/messages.json +++ b/_locales/it/messages.json @@ -390,49 +390,49 @@ "backup_file_info": { "message": "Fai il backup dei tuoi dati su un file." }, + "password_policy_default_hint": { + "message": "La tua password non soddisfa i requisiti di sicurezza della tua organizzazione. Contatta l'amministratore per maggiori informazioni." + }, "advisor": { - "message": "Advisor" + "message": "Consulente" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "Imposta una password per proteggere i tuoi dati." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "Abilita il blocco automatico per proteggere i tuoi dati." }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "La sincronizzazione del browser è disabilitata. Abilitarla consente ai profili di esser sincronizzati tra i browser." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "Il riempimento automatico è abilitabile per compilare automaticamente i codici nei siti web." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "Abilitare il filtro smart consente l'accesso rapido ai profili." }, "show_all_insights": { - "message": "Show all insights." + "message": "Mostra tutti i dettagli." }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "Nessun dettaglio trovato, sembra andare tutto bene!" }, "danger": { - "message": "Danger" + "message": "Pericolo" }, "warning": { - "message": "Warning" + "message": "Attenzione" }, "info": { "message": "Info" }, "dismiss": { - "message": "Dismiss" + "message": "Scarta" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "Scopri di più" }, "no_entires": { - "message": "No accounts to display. Add your first account now." + "message": "Nessun account da visualizzare. Aggiungi il tuo primo account ora." } -} \ No newline at end of file +} diff --git a/_locales/ja/messages.json b/_locales/ja/messages.json index d0c5925cd..2c4249905 100644 --- a/_locales/ja/messages.json +++ b/_locales/ja/messages.json @@ -390,49 +390,49 @@ "backup_file_info": { "message": "データをファイルにバックアップします。" }, + "password_policy_default_hint": { + "message": "パスワードが組織のセキュリティ要件を満たしていません。詳しくは管理者にお問い合わせください。" + }, "advisor": { - "message": "Advisor" + "message": "アドバイザー" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "データを保護するためにパスワードを設定します。" }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "自動ロックを有効にしてデータを保護します。" }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "ブラウザの同期が無効になっています。アカウントを有効にするとブラウザ間で同期することができます。" }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "自動入力を有効にすると、ウェブサイトで自動的にコードを入力できます。" }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "スマートフィルタを有効にすると、アカウントへ素早くアクセスできます。" }, "show_all_insights": { - "message": "Show all insights." + "message": "すべてのインサイトを表示します。" }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "インサイトが見つかりませんでした。すべて問題ないようです!" }, "danger": { - "message": "Danger" + "message": "危険" }, "warning": { - "message": "Warning" + "message": "注意" }, "info": { - "message": "Info" + "message": "お知らせ" }, "dismiss": { - "message": "Dismiss" + "message": "消去する" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "続きを読む" }, "no_entires": { - "message": "No accounts to display. Add your first account now." + "message": "表示するアカウントがありません。今すぐ最初のアカウントを追加してください。" } -} \ No newline at end of file +} diff --git a/_locales/ko/messages.json b/_locales/ko/messages.json index 4db4d5690..9f896b489 100644 --- a/_locales/ko/messages.json +++ b/_locales/ko/messages.json @@ -36,11 +36,11 @@ "description": "Manual Entry." }, "migration_fail": { - "message": "Import failed. If you are migrating data from Google Authenticator, please re-export your data from Google Authenticator and try again.", + "message": "가져오기에 실패함. 구글 OTP로부터 데이터를 가져온 경우, 구글 OTP에서 데이터를 다시 내보내기 한 후에 다시 시도해주십시오.", "description": "Import migration data failed." }, "migration_partly_fail": { - "message": "Some account data was not imported successfully.", + "message": "일부 계정 데이터를 성공적으로 가져오지 못했습니다.", "description": "Some migration data is broken." }, "close": { @@ -116,14 +116,14 @@ "description": "Remove entry confirmation" }, "confirm_delete_all": { - "message": "I understand that all of my data will be irrecoverably deleted.", + "message": "모든 데이터가 복구 불가능한 상태로 삭제됨을 이해합니다.", "description": "Message that user is required to acknowledge before clearing all data." }, "delete_all": { "message": "인증 도구 초기화" }, "delete_all_warning": { - "message": "This will delete all of your data and completely reset Authenticator. You will not be able to recover any deleted data! You should consider saving a backup before resetting Authenticator." + "message": "이 작업은 모든 데이터를 삭제하고 인증 도구를 완전 초기화합니다. 삭제된 모든 데이터를 복구할 수 없습니다! 인증 도구를 초기화하기 전에 백업을 저장하는 것을 고려하십시오." }, "security_warning": { "message": "이 비밀번호는 귀하의 계정을 암호화합니다. 분실 시 아무런 도움을 받을 수 없습니다.", @@ -134,11 +134,11 @@ "description": "Update." }, "phrase_incorrect": { - "message": "You cannot add a new account until all accounts are decrypted. Please enter the correct password before continuing.", + "message": "모든 계정이 복호화될 때까지 새 계정을 추가할 수 없습니다. 계속하기 전에 올바른 암호를 입력해주세요.", "description": "Passphrase Incorrect." }, "phrase_incorrect_export": { - "message": "Accounts that were not able to be decrypted will not be included in this backup.", + "message": "복호화가 불가능한 계정은 이 백업에 포함되지 않습니다.", "description": "Skip Unable-decripted Data." }, "phrase_not_match": { @@ -190,7 +190,7 @@ "description": "Capture Failed" }, "capture_local_file_failed": { - "message": "Are you trying to scan QR code from a local file? Use Import QR Image Backup instead.", + "message": "로컬 파일로부터 QR 코드 스캔을 시도하고 계십니까? QR 이미지 백업 가져오기를 대신 사용하십시오.", "description": "Import QR image backup instead of scan local image" }, "based_on_time": { @@ -238,7 +238,7 @@ "description": "Import successfuly, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { - "message": "You can select multiple files to import backup in batches.", + "message": "배치로 백업을 가져오기 위해 다중 파일을 선택할 수 있습니다.", "description": "You can select multiple image files to import backup in batches." }, "show_all_entries": { @@ -282,7 +282,7 @@ "description": "Edit" }, "manual_dropbox": { - "message": "Manual Backup", + "message": "수동 백업", "description": "Manual backup" }, "use_autofill": { @@ -314,7 +314,7 @@ "description": "3rd party backup info" }, "browser_sync": { - "message": "Browser Sync", + "message": "브라우저 동기화", "description": "Storage location" }, "sign_in": { @@ -322,11 +322,11 @@ "description": "Sign in to 3rd party storage services" }, "sign_in_business": { - "message": "Sign in (Business)", + "message": "로그인 (비즈니스)", "description": "Sign in to 3rd party storage services" }, "onedrive_business_perms": { - "message": "Why do business accounts require more permissions?" + "message": "왜 비즈니스 계정은 더많은 권한을 요청하는 건가요?" }, "log_out": { "message": "로그아웃", @@ -388,51 +388,51 @@ "message": "백업" }, "backup_file_info": { - "message": "Backup your data to a file." + "message": "데이터를 파일로 백업" + }, + "password_policy_default_hint": { + "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." }, "advisor": { - "message": "Advisor" + "message": "어드바이저" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "데이터 보호를 위해 암호를 설정하십시오." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "데이터 보호를 위해 자동 잠금을 활성화하십시오." }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "브라우저 동기화가 비활성화되었습니다. 활성화하면 브라우저 간 계정을 동기화할 수 있습니다." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "웹사이트에 코드를 자동으로 채울 수 있도록 자동 완성 기능을 활성화할 수 있습니다." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "스마트 필터를 활성화하면 계정에 대한 빠른 액세스를 허용합니다." }, "show_all_insights": { - "message": "Show all insights." + "message": "모든 인사이트를 표시합니다." }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "인사이트가 발견되지 않았습니다, 모든 것이 양호해보입니다!" }, "danger": { - "message": "Danger" + "message": "위험" }, "warning": { - "message": "Warning" + "message": "경고" }, "info": { - "message": "Info" + "message": "정보" }, "dismiss": { - "message": "Dismiss" + "message": "닫기" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "더 보기" }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/nl/messages.json b/_locales/nl/messages.json index 1b5082dd0..4c0c537ac 100644 --- a/_locales/nl/messages.json +++ b/_locales/nl/messages.json @@ -390,49 +390,49 @@ "backup_file_info": { "message": "Back-up uw gegevens naar een bestand." }, + "password_policy_default_hint": { + "message": "Uw wachtwoord voldoet niet aan de beveiligingseisen van uw organisatie. Neem contact op met uw beheerder voor meer informatie." + }, "advisor": { - "message": "Advisor" + "message": "Adviseur" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "Stel een wachtwoord in om uw gegevens te beveiligen." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "Schakel automatisch vergrendelen in om uw gegevens te beschermen." }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "Browsersynchronisatie is uitgeschakeld. Schakel dit in om accounts in verschillende browsers te synchroniseren." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "Automatisch invullen kan worden ingeschakeld om automatisch codes op websites in te vullen." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "Het inschakelen van een slim filter zorgt voor snelle toegang tot accounts." }, "show_all_insights": { - "message": "Show all insights." + "message": "Alle inzichten tonen." }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "Geen inzichten gevonden, alles ziet er goed uit!" }, "danger": { - "message": "Danger" + "message": "Gevaar" }, "warning": { - "message": "Warning" + "message": "Waarschuwing" }, "info": { - "message": "Info" + "message": "Informatie" }, "dismiss": { - "message": "Dismiss" + "message": "Negeren" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "Meer info" }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/no/messages.json b/_locales/no/messages.json index 09dfbf212..1fe44dd19 100644 --- a/_locales/no/messages.json +++ b/_locales/no/messages.json @@ -24,7 +24,7 @@ "description": "Secret Error." }, "add_code": { - "message": "Add account", + "message": "Legg til konto", "description": "Add account." }, "add_qr": { @@ -390,6 +390,9 @@ "backup_file_info": { "message": "Backup your data to a file." }, + "password_policy_default_hint": { + "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, "advisor": { "message": "Advisor" }, @@ -429,10 +432,7 @@ "learn_more": { "message": "Learn more" }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." - }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/pl/messages.json b/_locales/pl/messages.json index 56b04fbcf..8f3ab3562 100644 --- a/_locales/pl/messages.json +++ b/_locales/pl/messages.json @@ -48,7 +48,7 @@ "description": "Close." }, "ok": { - "message": "Ok", + "message": "OK", "description": "OK." }, "yes": { @@ -120,7 +120,7 @@ "description": "Message that user is required to acknowledge before clearing all data." }, "delete_all": { - "message": "Zresetuj Authenticator" + "message": "Zresetuj Authenticatora" }, "delete_all_warning": { "message": "Spowoduje to usunięcie wszystkich danych i całkowite zresetowanie Authenticatora. Nie będzie można odzyskać usuniętych danych! Przed zresetowaniem Authenticatora należy rozważyć zapisanie kopii zapasowej." @@ -388,51 +388,51 @@ "message": "Kopia zapasowa" }, "backup_file_info": { - "message": "Utwórz kopię zapasową danych w pliku." + "message": "Zapisz kopię zapasową danych do pliku." + }, + "password_policy_default_hint": { + "message": "Twoje hasło nie spełnia wymogów bezpieczeństwa Twojej organizacji. Aby uzyskać więcej informacji, skontaktuj się z administratorem." }, "advisor": { - "message": "Advisor" + "message": "Doradca" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "Ustaw hasło, aby chronić twoje dane." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "Włącz automatyczne blokowanie, aby chronić twoje dane." }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "Synchronizacja przeglądarki jest wyłączona. Włączenie jej pozwala na synchronizację kont pomiędzy przeglądarkami." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "Autouzupełnianie może być włączone, aby automatycznie wypełniać kody na stronach internetowych." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "Włączenie inteligentnego filtra umożliwia szybki dostęp do kont." }, "show_all_insights": { - "message": "Show all insights." + "message": "Pokaż wszystkie spostrzeżenia." }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "Nie znaleziono żadnych spostrzeżeń, wszystko wygląda dobrze!" }, "danger": { - "message": "Danger" + "message": "Niebezpieczeństwo" }, "warning": { - "message": "Warning" + "message": "Ostrzeżenie" }, "info": { - "message": "Info" + "message": "Informacja" }, "dismiss": { - "message": "Dismiss" + "message": "Odrzuć" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "Dowiedz się więcej" }, "no_entires": { - "message": "No accounts to display. Add your first account now." + "message": "Brak kont do wyświetlenia. Dodaj teraz swoje pierwsze konto." } -} \ No newline at end of file +} diff --git a/_locales/pt/messages.json b/_locales/pt/messages.json index f8072b8fe..cc12590a4 100644 --- a/_locales/pt/messages.json +++ b/_locales/pt/messages.json @@ -390,6 +390,9 @@ "backup_file_info": { "message": "Backup your data to a file." }, + "password_policy_default_hint": { + "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, "advisor": { "message": "Advisor" }, @@ -429,10 +432,7 @@ "learn_more": { "message": "Learn more" }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." - }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/pt_BR/messages.json b/_locales/pt_BR/messages.json index 7d405e5a2..6e2056335 100644 --- a/_locales/pt_BR/messages.json +++ b/_locales/pt_BR/messages.json @@ -390,49 +390,49 @@ "backup_file_info": { "message": "Faça backup dos seus dados para um arquivo." }, + "password_policy_default_hint": { + "message": "Sua senha não atende aos requisitos de segurança de sua organização. Contate seu administrador para mais informações." + }, "advisor": { - "message": "Advisor" + "message": "Assessor" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "Defina uma senha para proteger seus dados." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "Ativar bloqueio automático para proteger seus dados." }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "A sincronização do navegador está desativada. Ativá-lo permite que as contas sejam sincronizadas entre os navegadores." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "O preenchimento automático pode ser ativado para preencher automaticamente os códigos nos sites." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "Habilitar o filtro inteligente permite acesso rápido às contas." }, "show_all_insights": { - "message": "Show all insights." + "message": "Mostrar todas as recomendações." }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "Nenhuma recomendação encontrada, tudo parece bom!" }, "danger": { - "message": "Danger" + "message": "Perigo" }, "warning": { - "message": "Warning" + "message": "Aviso" }, "info": { - "message": "Info" + "message": "Informação" }, "dismiss": { - "message": "Dismiss" + "message": "Dispensar" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "Saiba mais" }, "no_entires": { - "message": "No accounts to display. Add your first account now." + "message": "Não há contas para exibir. Adicione sua primeira conta agora." } -} \ No newline at end of file +} diff --git a/_locales/ro/messages.json b/_locales/ro/messages.json index 0d0150e04..a5707cdc2 100644 --- a/_locales/ro/messages.json +++ b/_locales/ro/messages.json @@ -390,6 +390,9 @@ "backup_file_info": { "message": "Salvați datele într-un fișier." }, + "password_policy_default_hint": { + "message": "Parola dvs. nu îndeplinește cerințele de securitate ale organizației. Contactați administratorul pentru mai multe informații." + }, "advisor": { "message": "Advisor" }, @@ -429,10 +432,7 @@ "learn_more": { "message": "Learn more" }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." - }, "no_entires": { - "message": "No accounts to display. Add your first account now." + "message": "Niciun cont de afișat. Adaugă primul tău cont acum." } -} \ No newline at end of file +} diff --git a/_locales/ru/messages.json b/_locales/ru/messages.json index 50716c408..3b0fba2dc 100644 --- a/_locales/ru/messages.json +++ b/_locales/ru/messages.json @@ -4,7 +4,7 @@ "description": "Extension Name." }, "extShortName": { - "message": "Authenticator", + "message": "Аутентификатор", "description": "Extension Short Name." }, "extDesc": { @@ -12,7 +12,7 @@ "description": "Extension Description." }, "added": { - "message": " добавлен.", + "message": " добавлено.", "description": "Added Account." }, "errorqr": { @@ -20,7 +20,7 @@ "description": "QR Error." }, "errorsecret": { - "message": "Недопустимый номер учётной записи", + "message": "Недопустимое имя учётной записи.", "description": "Secret Error." }, "add_code": { @@ -64,7 +64,7 @@ "description": "Account." }, "accountName": { - "message": "Username", + "message": "Имя пользователя", "description": "Account Name." }, "issuer": { @@ -120,13 +120,13 @@ "description": "Message that user is required to acknowledge before clearing all data." }, "delete_all": { - "message": "Reset Authenticator\n" + "message": "Сбросить ключ идентификации." }, "delete_all_warning": { "message": "Это удалит все ваши данные и полностью сбросит Authenticator. Вы не сможете восстановить любые удаленные данные! Вам следует сохранить резервную копию перед сбросом аутентификатора." }, "security_warning": { - "message": "This password will be used to encrypt your accounts. No one can help you if you forget the password.", + "message": "Этот пароль будет использоваться для шифрования ваших учетных записей. Никто не может помочь вам, если вы забыли пароль.", "description": "Passphrase Warning." }, "update": { @@ -134,7 +134,7 @@ "description": "Update." }, "phrase_incorrect": { - "message": "Вы не можете добавить аккаунт, пока все акканты не расшифрованы. Введите правильный пароль, чтобы продолжить.", + "message": "Вы не можете добавить аккаунт, пока все аккаунты не расшифрованы. Введите правильный пароль, чтобы продолжить.", "description": "Passphrase Incorrect." }, "phrase_incorrect_export": { @@ -142,7 +142,7 @@ "description": "Skip Unable-decripted Data." }, "phrase_not_match": { - "message": "Пароль не совпадает. как решь проблему.", + "message": "Не совпадает парольная фраза.", "description": "Passphrase Not Match." }, "encrypted": { @@ -190,7 +190,7 @@ "description": "Capture Failed" }, "capture_local_file_failed": { - "message": "Сканируете QR-код из файла? Используйте команду Импортировать QR из резервного файла.", + "message": "Сканируете QR код из файла? Используйте команду Импортировать QR из резервного файла.", "description": "Import QR image backup instead of scan local image" }, "based_on_time": { @@ -210,7 +210,7 @@ "description": "Scale" }, "export_info": { - "message": "Предупреждение: все резервные копии не зашифрованы. Хотите добавить учетную запись в другое приложение? Наведите курсор на верхнюю правую часть любой учетной записи и нажмите скрытую кнопку с QR-кодом.", + "message": "Предупреждение: все резервные копии не зашифрованы. Хотите добавить учетную запись в другое приложение? Наведите курсор на верхнюю правую часть любой учетной записи и нажмите скрытую кнопку с QR кодом", "description": "Export menu info text" }, "download_backup": { @@ -218,23 +218,23 @@ "description": "Download backup file." }, "import_backup": { - "message": "Восстановить резервную копию", + "message": "Восстановить копию.", "description": "Import backup." }, "import_backup_file": { - "message": "Восстановить резервную копию из файла", + "message": "Восстановить из файла", "description": "Import backup file." }, "import_backup_qr": { - "message": "Импортировать резервную копию QR-изображений", + "message": "Импортировать резервную копию QR изображений", "description": "Import qr image backup." }, "import_backup_code": { - "message": "Восстановить резервную копию из текста", + "message": "Восстановить из текста.", "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Импортирование прошло успешно, но некоторые QR-коды не были быть распознаны.", + "message": "Импорт прошёл успешно, но некоторые QR коды не были быть распознаны.", "description": "Import successfuly, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { @@ -343,7 +343,7 @@ } }, "otp_unsupported_warn": { - "message": "У вас есть один или несколько аккаунтов Steam или Blizzard. Незашифрованные резервные копии не будут использовать стандартный формат резервного копирования.", + "message": "У вас есть один или несколько аккаунтов Steam или Blizzard. Не зашифрованные резервные копии не будут использовать стандартный формат резервного копирования.", "description": "Warning if using account that is not supported by standard backup format." }, "otp_backup_inform": { @@ -355,10 +355,10 @@ "description": "learn more link on import page. Placed after otp_backup_inform" }, "loading": { - "message": "wird geladen..." + "message": "Загрузка..." }, "autolock": { - "message": "Lock Owner" + "message": "Заблокировать после" }, "minutes": { "message": "минут" @@ -385,54 +385,54 @@ "message": "\"Умный\" фильтр" }, "backup": { - "message": "Backup" + "message": "Резервное копирование" }, "backup_file_info": { "message": "Backup your data to a file." }, + "password_policy_default_hint": { + "message": "Ваш пароль не соответствует требованием безопасности вашей организации. Свяжитесь с вашим администратором для получение дополнительной информации." + }, "advisor": { - "message": "Advisor" + "message": "Советник" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "Установите пароль для защиты своих данных." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "Включите автоблокировку для защиты своих данных." }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "Синхронизация браузера отключена. Включение этой опции позволяет синхронизировать учетные записи между браузерами." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "автозаполнение может быть включено для автоматического заполнения кодов на веб-сайтах." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "Включение смарт фильтра позволяет быстро получить доступ к аккаунтам." }, "show_all_insights": { - "message": "Show all insights." + "message": "Показать все действия." }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "Никаких действий не найдено, всё хорошо!" }, "danger": { - "message": "Danger" + "message": "Опасность" }, "warning": { - "message": "Warning" + "message": "Предупреждение" }, "info": { - "message": "Info" + "message": "ℹ️ Информация" }, "dismiss": { - "message": "Dismiss" + "message": "Пропустить" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "Узнать больше" }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/sq/messages.json b/_locales/sq/messages.json index c89037930..77b370437 100644 --- a/_locales/sq/messages.json +++ b/_locales/sq/messages.json @@ -390,6 +390,9 @@ "backup_file_info": { "message": "Krijo një kopje rezervë të të dhënave tuaja në një skedar." }, + "password_policy_default_hint": { + "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, "advisor": { "message": "Advisor" }, @@ -429,10 +432,7 @@ "learn_more": { "message": "Learn more" }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." - }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/sr/messages.json b/_locales/sr/messages.json index 4a1d84ddb..8d12c572d 100644 --- a/_locales/sr/messages.json +++ b/_locales/sr/messages.json @@ -390,6 +390,9 @@ "backup_file_info": { "message": "Спреми податке у резервну копију." }, + "password_policy_default_hint": { + "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, "advisor": { "message": "Advisor" }, @@ -429,10 +432,7 @@ "learn_more": { "message": "Learn more" }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." - }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/sv/messages.json b/_locales/sv/messages.json index f94a7c731..39cf7e2d7 100644 --- a/_locales/sv/messages.json +++ b/_locales/sv/messages.json @@ -390,6 +390,9 @@ "backup_file_info": { "message": "Backup your data to a file." }, + "password_policy_default_hint": { + "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, "advisor": { "message": "Advisor" }, @@ -429,10 +432,7 @@ "learn_more": { "message": "Learn more" }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." - }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/th/messages.json b/_locales/th/messages.json index ce1f2935d..41225d994 100644 --- a/_locales/th/messages.json +++ b/_locales/th/messages.json @@ -170,7 +170,7 @@ "description": "Passphrase Info" }, "sync_clock": { - "message": "ซิงค์เวลาผ่านระบบของ Google", + "message": "ซิงค์เวลาผ่าน Google", "description": "Sync Clock" }, "remember_phrase": { @@ -322,11 +322,11 @@ "description": "Sign in to 3rd party storage services" }, "sign_in_business": { - "message": "Sign in (Business)", + "message": "ลงทะเบียน (ธุรกิจ)", "description": "Sign in to 3rd party storage services" }, "onedrive_business_perms": { - "message": "Why do business accounts require more permissions?" + "message": "เพราะเหตุใดบัญชีธุรกิจต้องการขออนุญาตเพิ่มเติม?" }, "log_out": { "message": "ออกจากระบบ", @@ -390,49 +390,49 @@ "backup_file_info": { "message": "สำรองข้อมูลของคุณลงในไฟล์" }, + "password_policy_default_hint": { + "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, "advisor": { - "message": "Advisor" + "message": "ที่ปรึกษา" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "ตั้งรหัสผ่านเพื่อป้องกันข้อมูลของคุณ." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "เปิดใช้งาน ล็อกอัตโนมัติ เพื่อป้องกันข้อมูลของคุณ" }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "การซิงค์เบราว์เซอร์ปิดใช้งาน. การเปิดใช้งานเพื่อยึนยอมให้บัญชีซิงค์ข้ามเบราว์เซอร์." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "สามารถเปิดการป้อนอัตโนมัติเพื่อป้อนรหัสลงในเว็บไซต์ได้โดยอัตโนมัติ." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "เปิดใช้งานตัวกรองอัจฉริยะช่วยให้เข้าถึงบัญชีได้อย่างรวดเร็ว." }, "show_all_insights": { - "message": "Show all insights." + "message": "แสดงข้อมูลเชิงลึกทั้งหมด." }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "ไม่พบข้อมูลเชิงลึก, ทุกอย่างยังดูดี!" }, "danger": { - "message": "Danger" + "message": "อันตราย" }, "warning": { - "message": "Warning" + "message": "คำเตือน" }, "info": { - "message": "Info" + "message": "ข้อมูล" }, "dismiss": { - "message": "Dismiss" + "message": "ยกเลิก" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "เพิ่มเติม" }, "no_entires": { - "message": "No accounts to display. Add your first account now." + "message": "ยังไม่มีบัญชีผู้ใช้ เพิ่มบัญชีผู้ใช้ของคุณ" } -} \ No newline at end of file +} diff --git a/_locales/tr/messages.json b/_locales/tr/messages.json index 455844d80..eb8778067 100644 --- a/_locales/tr/messages.json +++ b/_locales/tr/messages.json @@ -390,49 +390,49 @@ "backup_file_info": { "message": "Verilerinizi bir dosyaya yedekleyin." }, + "password_policy_default_hint": { + "message": "Parolanız kuruluşunuzun güvenlik gereksinimlerini karşılamıyor. Daha fazla bilgi için yöneticinize başvurun." + }, "advisor": { - "message": "Advisor" + "message": "Rehber" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "Verilerinizi korumak için bir parola oluşturun." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "Verilerinizi korumak için otomatik kilitlemeyi etkinleştirin." }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "Tarayıcı eşitlemesi kapalı. Etkinleştirerek hesapların tarayıcılar arasında eşitlenmesini sağlayabilirsiniz." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "Kodları web sitelerine otomatik olarak doldurmak için otomatik doldurma etkinleştirilebilir." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "Akıllı filtreyi etkinleştirmek hesaplara hızlı erişim sağlar." }, "show_all_insights": { - "message": "Show all insights." + "message": "Tüm önerileri göster." }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "Öneri bulunamadı. Her şey yolunda gözüküyor." }, "danger": { - "message": "Danger" + "message": "Tehlike" }, "warning": { - "message": "Warning" + "message": "Uyarı" }, "info": { - "message": "Info" + "message": "Bilgi" }, "dismiss": { - "message": "Dismiss" + "message": "Reddet" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "Daha fazla bilgi edinin" }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/uk/messages.json b/_locales/uk/messages.json index a549f38b2..f2f926c51 100644 --- a/_locales/uk/messages.json +++ b/_locales/uk/messages.json @@ -1,6 +1,6 @@ { "extName": { - "message": "Автентифікатор", + "message": "Authenticator", "description": "Extension Name." }, "extShortName": { @@ -8,11 +8,11 @@ "description": "Extension Short Name." }, "extDesc": { - "message": "Автентифікатор генерує коди двофакторної автентифікації у вашому браузері.", + "message": "https://github.com/atom/atom.git.", "description": "Extension Description." }, "added": { - "message": " був доданий.", + "message": " chrome://resources/roboto/roboto-bold.woff2", "description": "Added Account." }, "errorqr": { @@ -178,7 +178,7 @@ "description": "Remember Passphrase" }, "clock_too_far_off": { - "message": "Увага! Ваш місцевий годинник налаштованно невірно, будь ласка, виправте його, перш ніж продовжити.", + "message": "Увага! Ваш місцевий годинник налаштовано неправильно. Будь ласка, виправте його, перш ніж продовжити.", "description": "Local Time is Too Far Off" }, "remind_backup": { @@ -282,7 +282,7 @@ "description": "Edit" }, "manual_dropbox": { - "message": "Manual Backup", + "message": "Ручне резервне копіювання", "description": "Manual backup" }, "use_autofill": { @@ -322,11 +322,11 @@ "description": "Sign in to 3rd party storage services" }, "sign_in_business": { - "message": "Sign in (Business)", + "message": "Увійти (Бізнес)", "description": "Sign in to 3rd party storage services" }, "onedrive_business_perms": { - "message": "Why do business accounts require more permissions?" + "message": "Чому бізнес-акаунти потребують більше дозволів?" }, "log_out": { "message": "Вийти", @@ -390,49 +390,49 @@ "backup_file_info": { "message": "Backup your data to a file." }, + "password_policy_default_hint": { + "message": "Ваш пароль не відповідає вимогам безпеки вашої організації. Для отримання додаткової інформації зверніться до адміністратора." + }, "advisor": { - "message": "Advisor" + "message": "Порадник" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "Встановіть пароль для захисту ваших даних." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "Увімкніть автоблокування для захисту ваших даних." }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "Синхронізацію браузера вимкнено. Увімкнення дозволяє синхронізувати облікові записи між браузерами." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "Увімкнути автозаповнення для автоматичного заповнення кодів на веб-сайтах." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "Увімкнення розумного фільтра дозволяє отримати швидкий доступ до облікових записів." }, "show_all_insights": { - "message": "Show all insights." + "message": "Показати всі деталі." }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "Не знайдено жодних відомостей, все виглядає добре!" }, "danger": { - "message": "Danger" + "message": "Загроза" }, "warning": { - "message": "Warning" + "message": "Попередження" }, "info": { - "message": "Info" + "message": "Інформація" }, "dismiss": { - "message": "Dismiss" + "message": "Відхилити" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "Дізнатись більше" }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/vi/messages.json b/_locales/vi/messages.json index a481c9c76..233eebc1c 100644 --- a/_locales/vi/messages.json +++ b/_locales/vi/messages.json @@ -390,6 +390,9 @@ "backup_file_info": { "message": "Sao chép dữ liệu thành 1 tệp tin." }, + "password_policy_default_hint": { + "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + }, "advisor": { "message": "Advisor" }, @@ -429,10 +432,7 @@ "learn_more": { "message": "Learn more" }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." - }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/zh_CN/messages.json b/_locales/zh_CN/messages.json index e490541ea..fd7fc6d61 100644 --- a/_locales/zh_CN/messages.json +++ b/_locales/zh_CN/messages.json @@ -390,49 +390,49 @@ "backup_file_info": { "message": "备份数据到文件。" }, + "password_policy_default_hint": { + "message": "您的密码不符合贵单位的安全要求。请联系您的管理员获取更多信息。" + }, "advisor": { - "message": "Advisor" + "message": "顾问" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "请设置一个密码来保护您的数据。" }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "启用自动锁定以保护您的数据。" }, "advisor_insight_browser_sync_not_enabled": { - "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." + "message": "浏览器同步已禁用。启用它允许在不同浏览器间同步帐户。" }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "启用自动填充可以自动填充代码到网站中。" }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "启用智能过滤允许快速访问账户。" }, "show_all_insights": { - "message": "Show all insights." + "message": "显示所有见解。" }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "无可供参考的见解,看起来一切安好!" }, "danger": { - "message": "Danger" + "message": "危险" }, "warning": { - "message": "Warning" + "message": "警告" }, "info": { - "message": "Info" + "message": "信息" }, "dismiss": { - "message": "Dismiss" + "message": "忽略" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "了解更多" }, "no_entires": { - "message": "No accounts to display. Add your first account now." + "message": "没有可显示的账户。现在添加您的第一个账户。" } -} \ No newline at end of file +} diff --git a/_locales/zh_TW/messages.json b/_locales/zh_TW/messages.json index b60f21654..266083150 100644 --- a/_locales/zh_TW/messages.json +++ b/_locales/zh_TW/messages.json @@ -282,7 +282,7 @@ "description": "Edit" }, "manual_dropbox": { - "message": "Manual Backup", + "message": "手動備份", "description": "Manual backup" }, "use_autofill": { @@ -322,11 +322,11 @@ "description": "Sign in to 3rd party storage services" }, "sign_in_business": { - "message": "Sign in (Business)", + "message": "登入 (企業)", "description": "Sign in to 3rd party storage services" }, "onedrive_business_perms": { - "message": "Why do business accounts require more permissions?" + "message": "為什麼企業賬戶需要更多權限?" }, "log_out": { "message": "登出", @@ -390,11 +390,14 @@ "backup_file_info": { "message": "備份至檔案" }, + "password_policy_default_hint": { + "message": "您的密碼不符合您組織的安全要求。 有關詳細信息,請聯繫您的管理員。" + }, "advisor": { - "message": "Advisor" + "message": "顧問" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "設定密碼保護您的資料。" }, "advisor_insight_auto_lock_not_set": { "message": "Enable auto-lock to protect your data." @@ -406,33 +409,30 @@ "message": "Autofill can be enabled to automatically fill codes into websites." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "啟用智能過濾器可以快速訪問帳戶。" }, "show_all_insights": { - "message": "Show all insights." + "message": "顯示所有見解。" }, "no_insight_available": { "message": "No insights found, everything looks good!" }, "danger": { - "message": "Danger" + "message": "危險" }, "warning": { - "message": "Warning" + "message": "警告" }, "info": { - "message": "Info" + "message": "資訊" }, "dismiss": { - "message": "Dismiss" + "message": "關閉" }, "learn_more": { - "message": "Learn more" - }, - "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "了解更多" }, "no_entires": { "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/manifests/manifest-chrome-testing.json b/manifests/manifest-chrome-testing.json index 1447cb95f..5f3da5880 100644 --- a/manifests/manifest-chrome-testing.json +++ b/manifests/manifest-chrome-testing.json @@ -56,6 +56,7 @@ ], "optional_permissions": [ "clipboardWrite", + "contextMenus", "https://www.google.com/", "https://*.dropboxapi.com/*", "https://www.googleapis.com/*", diff --git a/manifests/manifest-chrome.json b/manifests/manifest-chrome.json index 6c9ab3a69..bb9756fb1 100644 --- a/manifests/manifest-chrome.json +++ b/manifests/manifest-chrome.json @@ -56,6 +56,7 @@ ], "optional_permissions": [ "clipboardWrite", + "contextMenus", "https://www.google.com/", "https://*.dropboxapi.com/*", "https://www.googleapis.com/*", diff --git a/manifests/manifest-edge.json b/manifests/manifest-edge.json index 6a5d11d2f..fe1da9f21 100644 --- a/manifests/manifest-edge.json +++ b/manifests/manifest-edge.json @@ -56,6 +56,7 @@ ], "optional_permissions": [ "clipboardWrite", + "contextMenus", "https://www.google.com/", "https://*.dropboxapi.com/*", "https://www.googleapis.com/*", diff --git a/package-lock.json b/package-lock.json index 422de556f..28951f2ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,9913 @@ { "name": "authenticator-extension", "version": "0.1.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "authenticator-extension", + "version": "0.1.0", + "license": "MIT", + "dependencies": { + "@types/lodash": "^4.14.166", + "argon2-browser": "^1.15.1", + "crypto-js": "^4.0.0", + "jsqr": "^1.3.1", + "node-gost-crypto": "^1.0.2", + "qrcode-generator": "^1.4.4", + "qrcode-reader": "^1.0.4", + "uuid": "^3.4.0", + "vue": "^2.6.12", + "vue2-dragula": "^2.5.4", + "vuex": "^3.4.0" + }, + "devDependencies": { + "@jsdevtools/coverage-istanbul-loader": "^3.0.5", + "@types/argon2-browser": "^1.12.0", + "@types/chai": "^4.2.14", + "@types/chrome": "^0.0.86", + "@types/crypto-js": "^4.0.1", + "@types/mocha": "^8.0.4", + "@types/puppeteer": "^5.4.1", + "@types/sinon": "^9.0.9", + "@types/sinon-chai": "^3.2.5", + "@types/sinon-chrome": "^2.2.10", + "@types/uuid": "^3.4.9", + "@typescript-eslint/eslint-plugin": "^2.34.0", + "@typescript-eslint/parser": "^2.34.0", + "@vue/test-utils": "^1.1.1", + "base64-loader": "^1.0.0", + "chai": "^4.2.0", + "eslint": "^6.8.0", + "fork-ts-checker-webpack-plugin": "^4.1.4", + "lodash": "^4.17.21", + "mocha": "^8.2.1", + "npm-license-generator": "^1.1.0", + "nyc": "^15.1.0", + "prettier": "2.2.1", + "puppeteer": "^5.5.0", + "sass": "^1.26.11", + "sinon": "^9.2.1", + "sinon-chai": "^3.5.0", + "sinon-chrome": "^3.0.1", + "ts-loader": "^6.2.2", + "typescript": "^3.9.2", + "url-loader": "^2.3.0", + "vue-loader": "^15.9.2", + "vue-svg-loader": "^0.12.0", + "vue-template-compiler": "^2.6.12", + "webpack": "^4.44.2", + "webpack-cli": "^3.3.11", + "webpack-extension-reloader": "^1.1.4", + "webpack-merge": "^4.2.2" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/core": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/generator": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", + "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.7" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.5" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.7.tgz", + "integrity": "sha512-I5xc9oSJ2h59OwyUqjv95HRyzxj53DAubUERgQMrpcCEYQyToeHA+NEcUEsVWB4j53RDeskeBJ0SgRAYHDBckw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.7" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", + "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.11.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "node_modules/@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "node_modules/@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.7.tgz", + "integrity": "sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "node_modules/@babel/traverse": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.9.tgz", + "integrity": "sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz", + "integrity": "sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jsdevtools/coverage-istanbul-loader": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz", + "integrity": "sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA==", + "dev": true, + "dependencies": { + "convert-source-map": "^1.7.0", + "istanbul-lib-instrument": "^4.0.3", + "loader-utils": "^2.0.0", + "merge-source-map": "^1.1.0", + "schema-utils": "^2.7.0" + } + }, + "node_modules/@jsdevtools/coverage-istanbul-loader/node_modules/json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@jsdevtools/coverage-istanbul-loader/node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", + "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@sinonjs/formatio": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-5.0.1.tgz", + "integrity": "sha512-KaiQ5pBf1MpS09MuA0kp6KBQt2JUOQycqVG1NZXvzeaXe5LGFqAKueIS0bw4w0P9r7KuBSVdUk5QjXsUdu2CxQ==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1", + "@sinonjs/samsam": "^5.0.2" + } + }, + "node_modules/@sinonjs/samsam": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.0.tgz", + "integrity": "sha512-hXpcfx3aq+ETVBwPlRFICld5EnrkexXuXDwqUNhDdr5L8VjvMeSRwyOa0qL7XFmR+jVWR4rUZtnxlG7RX72sBg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.6.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" + } + }, + "node_modules/@sinonjs/text-encoding": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", + "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", + "dev": true + }, + "node_modules/@types/anymatch": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", + "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", + "dev": true + }, + "node_modules/@types/argon2-browser": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@types/argon2-browser/-/argon2-browser-1.12.0.tgz", + "integrity": "sha512-ZPpKOoLuyXf+dKUJKcbUAzAajnJ1+ABXqSyHtsjfDaKhdHh19wXNWC3/hpDdzIO8ykiSONnGCWy38juDZVocvg==", + "dev": true + }, + "node_modules/@types/chai": { + "version": "4.2.14", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.14.tgz", + "integrity": "sha512-G+ITQPXkwTrslfG5L/BksmbLUA0M1iybEsmCWPqzSxsRRhJZimBKJkoMi8fr/CPygPTj4zO5pJH7I2/cm9M7SQ==", + "dev": true + }, + "node_modules/@types/chrome": { + "version": "0.0.86", + "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.86.tgz", + "integrity": "sha512-7ehebPf/5IR64SYdD2Vig0q0oUCNbWMQ29kASlNJaHVVtA5/J/DnrxnYVPCID70o7LgHdYsav6I4/XdqAxjTLQ==", + "dev": true, + "dependencies": { + "@types/filesystem": "*" + } + }, + "node_modules/@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "node_modules/@types/crypto-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.0.1.tgz", + "integrity": "sha512-6+OPzqhKX/cx5xh+yO8Cqg3u3alrkhoxhE5ZOdSEv0DOzJ13lwJ6laqGU0Kv6+XDMFmlnGId04LtY22PsFLQUw==", + "dev": true + }, + "node_modules/@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "node_modules/@types/filesystem": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.29.tgz", + "integrity": "sha512-85/1KfRedmfPGsbK8YzeaQUyV1FQAvMPMTuWFQ5EkLd2w7szhNO96bk3Rh/SKmOfd9co2rCLf0Voy4o7ECBOvw==", + "dev": true, + "dependencies": { + "@types/filewriter": "*" + } + }, + "node_modules/@types/filewriter": { + "version": "0.0.28", + "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.28.tgz", + "integrity": "sha1-wFTor02d11205jq8dviFFocU1LM=", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", + "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", + "dev": true + }, + "node_modules/@types/lodash": { + "version": "4.14.166", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.166.tgz", + "integrity": "sha512-A3YT/c1oTlyvvW/GQqG86EyqWNrT/tisOIh2mW3YCgcx71TNjiTZA3zYZWA5BCmtsOTXjhliy4c4yEkErw6njA==" + }, + "node_modules/@types/mocha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.0.4.tgz", + "integrity": "sha512-M4BwiTJjHmLq6kjON7ZoI2JMlBvpY3BYSdiP6s/qCT3jb1s9/DeJF0JELpAxiVSIxXDzfNKe+r7yedMIoLbknQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "14.14.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz", + "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ==", + "dev": true + }, + "node_modules/@types/puppeteer": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-5.4.1.tgz", + "integrity": "sha512-mEytIRrqvsFgs16rHOa5jcZcoycO/NSjg1oLQkFUegj3HOHeAP1EUfRi+eIsJdGrx2oOtfN39ckibkRXzs+qXA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", + "dev": true + }, + "node_modules/@types/sinon": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.9.tgz", + "integrity": "sha512-z/y8maYOQyYLyqaOB+dYQ6i0pxKLOsfwCmHmn4T7jS/SDHicIslr37oE3Dg8SCqKrKeBy6Lemu7do2yy+unLrw==", + "dev": true, + "dependencies": { + "@types/sinonjs__fake-timers": "*" + } + }, + "node_modules/@types/sinon-chai": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.5.tgz", + "integrity": "sha512-bKQqIpew7mmIGNRlxW6Zli/QVyc3zikpGzCa797B/tRnD9OtHvZ/ts8sYXV+Ilj9u3QRaUEM8xrjgd1gwm1BpQ==", + "dev": true, + "dependencies": { + "@types/chai": "*", + "@types/sinon": "*" + } + }, + "node_modules/@types/sinon-chrome": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@types/sinon-chrome/-/sinon-chrome-2.2.10.tgz", + "integrity": "sha512-Ckhubh9oEmVoOE6vkXjFdiK0Q4gCpXl433JDfMne6Mrz8v3PjEGt9xKK0foyAdRtViLgUp1IBOW9koDqclEY2Q==", + "dev": true, + "dependencies": { + "@types/chrome": "*", + "@types/sinon": "*" + } + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.2.tgz", + "integrity": "sha512-dIPoZ3g5gcx9zZEszaxLSVTvMReD3xxyyDnQUjA6IYDG9Ba2AV0otMPs+77sG9ojB4Qr2N2Vk5RnKeuA0X/0bg==", + "dev": true + }, + "node_modules/@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "node_modules/@types/tapable": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", + "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==", + "dev": true + }, + "node_modules/@types/uglify-js": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz", + "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/@types/uglify-js/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@types/uuid": { + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.9.tgz", + "integrity": "sha512-XDwyIlt/47l2kWLTzw/mtrpLdB+GPSskR2n/PIcPn+VYhVO77rGhRncIR5GPU0KRzXuqkDO+J5qqrG0Y8P6jzQ==", + "dev": true + }, + "node_modules/@types/webpack": { + "version": "4.41.25", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz", + "integrity": "sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==", + "dev": true, + "dependencies": { + "@types/anymatch": "*", + "@types/node": "*", + "@types/tapable": "*", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "source-map": "^0.6.0" + } + }, + "node_modules/@types/webpack-sources": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.8.tgz", + "integrity": "sha512-JHB2/xZlXOjzjBB6fMOpH1eQAfsrpqVVIbneE0Rok16WXwFaznaI5vfg75U5WgGJm7V9W1c4xeRQDjX/zwvghA==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.6.1" + } + }, + "node_modules/@types/webpack-sources/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@types/webpack/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@types/yauzl": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", + "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "2.34.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", + "dev": true, + "dependencies": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "dev": true + }, + "node_modules/@vue/component-compiler-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz", + "integrity": "sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==", + "dev": true, + "dependencies": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.14", + "postcss-selector-parser": "^6.0.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "optionalDependencies": { + "prettier": "^1.18.2" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true, + "optional": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@vue/test-utils": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.1.1.tgz", + "integrity": "sha512-/32538ilZ9qSiu1gui7zfBn+IFy+zoTaQTZ1qiLfQXzZtaeAD23kJMrnqaoe2w8JzJoXuqHUl2ruuStG8rwFYQ==", + "dev": true, + "dependencies": { + "dom-event-types": "^1.0.0", + "lodash": "^4.17.15", + "pretty": "^2.0.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "dependencies": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", + "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", + "dev": true + }, + "node_modules/agent-base": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", + "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", + "dev": true, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/append-transform": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "dev": true, + "dependencies": { + "default-require-extensions": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "node_modules/argon2-browser": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/argon2-browser/-/argon2-browser-1.15.1.tgz", + "integrity": "sha512-7k8HvHjbvvdHVc1UbH6QFeAW4dvjqevzem4PJLeAcvTZz2QQ0S+6lAG4ii7KAkn5bDpzuL53eaQBaiky04cPLA==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-from": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", + "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=", + "dev": true + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true, + "optional": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/atoa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atoa/-/atoa-1.0.0.tgz", + "integrity": "sha1-DMDpGkgOc4+SPrwQNnZHF3mzSkk=" + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "node_modules/base64-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64-loader/-/base64-loader-1.0.0.tgz", + "integrity": "sha1-5TC62I6QbdKh+tCvLZ5oP6i9kqg=", + "dev": true + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz", + "integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/bn.js": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", + "dev": true + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-rsa/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/cacache/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/cacache/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cache-service-cache-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cache-service-cache-module/-/cache-service-cache-module-2.0.1.tgz", + "integrity": "sha512-Woh8hheJs6m0Mm5kuqtji/8S/Lh5vyE9hh3E4nCp3ah85CJ4Y4/yegjcUe0kEzW14ZjAE46UJBp3FOsZNVmmGA==", + "dev": true + }, + "node_modules/caching-transform": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "dev": true, + "dependencies": { + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/caching-transform/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/caching-transform/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chai": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", + "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.0", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", + "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.2" + } + }, + "node_modules/chokidar/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/chokidar/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/concat-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/condense-newlines": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", + "integrity": "sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-whitespace": "^0.3.0", + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/condense-newlines/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/condense-newlines/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "dev": true, + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "dependencies": { + "bluebird": "^3.1.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "node_modules/contra": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/contra/-/contra-1.9.4.tgz", + "integrity": "sha1-9TveQtfltZhcrk2ZqNYQUm3o8o0=", + "dependencies": { + "atoa": "1.0.0", + "ticky": "1.0.1" + } + }, + "node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/convert-source-map/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/cookiejar": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==", + "dev": true + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/crossvent": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/crossvent/-/crossvent-1.5.4.tgz", + "integrity": "sha1-2ixPj0DJR4JRe/K+7BBEFIGUq5I=", + "dependencies": { + "custom-event": "1.0.0" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/crypto-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.0.0.tgz", + "integrity": "sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg==" + }, + "node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", + "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", + "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "dev": true, + "dependencies": { + "css-tree": "1.0.0-alpha.39" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.0.0-alpha.39", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", + "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.6", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", + "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", + "dev": true + }, + "node_modules/csso/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/custom-event": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.0.tgz", + "integrity": "sha1-LkYovhncSyFLXAJjDFlx6BFhgGI=" + }, + "node_modules/cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/default-require-extensions": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", + "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "dev": true, + "dependencies": { + "strip-bom": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/devtools-protocol": { + "version": "0.0.818844", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.818844.tgz", + "integrity": "sha512-AD1hi7iVJ8OD0aMLQU5VK0XH9LDlA1+BcPIgrAxPfaibx2DbWucuyOhc4oyQCbnvDDO68nN6/LcKfqTP343Jjg==", + "dev": true + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-event-types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dom-event-types/-/dom-event-types-1.0.0.tgz", + "integrity": "sha512-2G2Vwi2zXTHBGqXHsJ4+ak/iP0N8Ar+G8a7LiD2oup5o4sQWytwqqrZu/O6hIMV0KMID2PL69OhpshLO0n7UJQ==", + "dev": true + }, + "node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "dev": true + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/dragula": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/dragula/-/dragula-3.7.2.tgz", + "integrity": "sha1-SjXJ05gf+sGpScKcpyhQWOhzk84=", + "dependencies": { + "contra": "1.9.4", + "crossvent": "1.5.4" + } + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexify/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", + "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "dev": true, + "dependencies": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + }, + "bin": { + "editorconfig": "bin/editorconfig" + } + }, + "node_modules/editorconfig/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", + "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "dev": true + }, + "node_modules/errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", + "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "dependencies": { + "estraverse": "^4.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fast-safe-stringify": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", + "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", + "dev": true + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/flush-write-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/flush-write-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/foreground-child/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/foreground-child/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", + "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.5.5", + "chalk": "^2.4.1", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "engines": { + "node": ">=6.11.5", + "yarn": ">=1.0.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/formidable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz", + "integrity": "sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==", + "dev": true + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/from2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fromentries": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", + "dev": true + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/fs-write-stream-atomic/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-modules/node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true, + "engines": { + "node": ">=4.x" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasha": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "dev": true, + "dependencies": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-cache-semantics": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.7.3.tgz", + "integrity": "sha1-LzXFMuzSnx5UE7mvgztySjxvf3I=", + "dev": true + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "node_modules/https-proxy-agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", + "dev": true, + "dependencies": { + "agent-base": "5", + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", + "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==", + "dev": true + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-whitespace": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz", + "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-hook": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "dev": true, + "dependencies": { + "append-transform": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-processinfo": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", + "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "dev": true, + "dependencies": { + "archy": "^1.0.0", + "cross-spawn": "^7.0.0", + "istanbul-lib-coverage": "^3.0.0-alpha.1", + "make-dir": "^3.0.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^3.3.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/js-beautify": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.13.0.tgz", + "integrity": "sha512-/Tbp1OVzZjbwzwJQFIlYLm9eWQ+3aYbBXLSaqb1mEJzhcQAfrqMMQYtjb6io+U6KpD0ID4F+Id3/xcjH3l/sqA==", + "dev": true, + "dependencies": { + "config-chain": "^1.1.12", + "editorconfig": "^0.15.3", + "glob": "^7.1.3", + "mkdirp": "^1.0.4", + "nopt": "^5.0.0" + }, + "bin": { + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" + } + }, + "node_modules/js-beautify/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsqr": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsqr/-/jsqr-1.3.1.tgz", + "integrity": "sha512-zCTP6Qd/WwjrpuHFkJuXc5opRdKprUr7eI7+JCCtcetThJt45qptu82MWQ+eET+FtDrMo7+BYjo3iD0XIq1L9Q==" + }, + "node_modules/just-extend": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.1.1.tgz", + "integrity": "sha512-aWgeGFW67BP3e5181Ep1Fv2v8z//iBJfrvyTnq8wG86vEESwmonn1zPBJ0VfmT9CJq2FIT0VsETtrNFm2a+SHA==", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "dev": true + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lolex": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-4.2.0.tgz", + "integrity": "sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/lru-cache/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/memory-fs/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/memory-fs/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/memory-fs/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/merge-source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/microevent.ts": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", + "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==", + "dev": true + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + }, + "node_modules/mime": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dev": true, + "dependencies": { + "mime-db": "1.44.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/mocha": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz", + "integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==", + "dev": true, + "dependencies": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.4.3", + "debug": "4.2.0", + "diff": "4.0.2", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.14.0", + "log-symbols": "4.0.0", + "minimatch": "3.0.4", + "ms": "2.1.2", + "nanoid": "3.1.12", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "7.2.0", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.0.2", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/mocha/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/chokidar": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.2" + } + }, + "node_modules/mocha/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/mocha/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/mocha/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/mocha/node_modules/serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/mocha/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/mocha/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mocha/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/mocha/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/mocha/node_modules/yargs/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/yargs/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/yargs/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/yargs/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/yargs/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mustache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.0.1.tgz", + "integrity": "sha512-yL5VE97+OXn4+Er3THSmTdCFCtx5hHWzrolvH+JObZnUYwuaG7XV+Ch4fR2cIrcYI0tFHxS7iyFYl14bW8y2sA==", + "dev": true, + "bin": { + "mustache": "bin/mustache" + }, + "engines": { + "npm": ">=1.4.0" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true, + "optional": true + }, + "node_modules/nanoid": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz", + "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || >=13.7" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/nise": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/nise/-/nise-4.0.4.tgz", + "integrity": "sha512-bTTRUNlemx6deJa+ZyoCUTRvH3liK5+N6VQZ4NIw90AgDXY6iPnsqplNFf6STcj+ePk0H/xqxnP75Lr0J0Fq3A==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0", + "@sinonjs/fake-timers": "^6.0.0", + "@sinonjs/text-encoding": "^0.7.1", + "just-extend": "^4.0.2", + "path-to-regexp": "^1.7.0" + } + }, + "node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "dev": true, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-gost-crypto": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/node-gost-crypto/-/node-gost-crypto-1.0.2.tgz", + "integrity": "sha512-aalju3VGB7pY49/U891aD2giYml4mTKVJdy/YNRYEmVMQrCGigbB7ZBxpcmlizcSHvBwxnV8Zkiw+rmA1CMw6w==" + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/node-libs-browser/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/node-preload": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "dev": true, + "dependencies": { + "process-on-spawn": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-license-generator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/npm-license-generator/-/npm-license-generator-1.1.0.tgz", + "integrity": "sha512-Bo7jnJpEk3N6rfda39ub3vqnFFOra8loXXcaLQe93j/75+6uT0WyoxabRyB0KV3d3qUx6NzEdHMOONirJQnFuQ==", + "dev": true, + "dependencies": { + "cache-service-cache-module": "^2.0.1", + "mustache": "^4.0.1", + "rimraf": "^3.0.2", + "spdx-expression-parse": "^3.0.1", + "superagent": "^5.2.2", + "superagent-cache-plugin": "^3.0.0-beta.1", + "tar": "^6.0.2", + "yargs": "^15.3.1" + }, + "bin": { + "npm-license-generator": "build/npm-license-generator" + } + }, + "node_modules/npm-license-generator/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/nyc": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", + "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "dev": true, + "dependencies": { + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "get-package-type": "^0.1.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "make-dir": "^3.0.0", + "node-preload": "^0.2.1", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "yargs": "^15.0.2" + }, + "bin": { + "nyc": "bin/nyc.js" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/nyc/node_modules/find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/nyc/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/package-hash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.15", + "hasha": "^5.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/parallel-transform/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/parallel-transform/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true, + "optional": true + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dev": true, + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/path-to-regexp/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/pretty": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz", + "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=", + "dev": true, + "dependencies": { + "condense-newlines": "^0.2.1", + "extend-shallow": "^2.0.1", + "js-beautify": "^1.6.12" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/process-on-spawn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", + "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "dev": true, + "dependencies": { + "fromentries": "^1.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/puppeteer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-5.5.0.tgz", + "integrity": "sha512-OM8ZvTXAhfgFA7wBIIGlPQzvyEETzDjeRa4mZRCRHxYL+GNH5WAuYUQdja3rpWZvkX/JKqmuVgbsxDNsDFjMEg==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "devtools-protocol": "0.0.818844", + "extract-zip": "^2.0.0", + "https-proxy-agent": "^4.0.0", + "node-fetch": "^2.6.1", + "pkg-dir": "^4.2.0", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", + "rimraf": "^3.0.2", + "tar-fs": "^2.0.0", + "unbzip2-stream": "^1.3.3", + "ws": "^7.2.3" + }, + "engines": { + "node": ">=10.18.1" + } + }, + "node_modules/puppeteer/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/puppeteer/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qrcode-generator": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/qrcode-generator/-/qrcode-generator-1.4.4.tgz", + "integrity": "sha512-HM7yY8O2ilqhmULxGMpcHSF1EhJJ9yBj8gvDEuZ6M+KGJ0YY2hKpnXvRD+hZPLrDVck3ExIGhmPtSdcjC+guuw==" + }, + "node_modules/qrcode-reader": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/qrcode-reader/-/qrcode-reader-1.0.4.tgz", + "integrity": "sha512-rRjALGNh9zVqvweg1j5OKIQKNsw3bLC+7qwlnead5K/9cb1cEIAGkwikt/09U0K+2IDWGD9CC6SP7tHAjUeqvQ==" + }, + "node_modules/qs": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz", + "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", + "dev": true, + "dependencies": { + "es6-error": "^4.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true, + "optional": true + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "node_modules/resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-dir/node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/rxjs": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz", + "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.26.11", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.11.tgz", + "integrity": "sha512-W1l/+vjGjIamsJ6OnTe0K37U2DBO/dgsv2Z4c89XQ8ZOO6l/VwkqwLSqoYzJeJs6CLuGSTRWc91GbQFL3lvrvw==", + "dev": true, + "dependencies": { + "chokidar": ">=2.0.0 <4.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + } + }, + "node_modules/semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "node_modules/sinon": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.1.tgz", + "integrity": "sha512-naPfsamB5KEE1aiioaoqJ6MEhdUs/2vtI5w1hPAXX/UwvoPjXcwh1m5HiKx0HGgKR8lQSoFIgY5jM6KK8VrS9w==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.8.1", + "@sinonjs/fake-timers": "^6.0.1", + "@sinonjs/formatio": "^5.0.1", + "@sinonjs/samsam": "^5.2.0", + "diff": "^4.0.2", + "nise": "^4.0.4", + "supports-color": "^7.1.0" + } + }, + "node_modules/sinon-chai": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.5.0.tgz", + "integrity": "sha512-IifbusYiQBpUxxFJkR3wTU68xzBN0+bxCScEaKMjBvAQERg6FnTTc1F17rseLb1tjmkJ23730AXpFI0c47FgAg==", + "dev": true + }, + "node_modules/sinon-chrome": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sinon-chrome/-/sinon-chrome-3.0.1.tgz", + "integrity": "sha512-NTEFhyuiWEMnRmIqldUiA2DhKn2EqnZxyEk5Ez5rBXj+Nl54aJ0MEmF4wjltrxecxd8zlNLxyE0HyLabev9JsQ==", + "dev": true, + "dependencies": { + "lodash": "^4.16.3", + "sinon": "^7.2.3", + "urijs": "^1.18.2" + } + }, + "node_modules/sinon-chrome/node_modules/@sinonjs/formatio": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.2.tgz", + "integrity": "sha512-B8SEsgd8gArBLMD6zpRw3juQ2FVSsmdd7qlevyDqzS9WTCtvF55/gAL+h6gue8ZvPYcdiPdvueM/qm//9XzyTQ==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1", + "@sinonjs/samsam": "^3.1.0" + } + }, + "node_modules/sinon-chrome/node_modules/@sinonjs/samsam": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.3.tgz", + "integrity": "sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.3.0", + "array-from": "^2.1.1", + "lodash": "^4.17.15" + } + }, + "node_modules/sinon-chrome/node_modules/diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/sinon-chrome/node_modules/nise": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/nise/-/nise-1.5.3.tgz", + "integrity": "sha512-Ymbac/94xeIrMf59REBPOv0thr+CJVFMhrlAkW/gjCIE58BGQdCj0x7KRCb3yz+Ga2Rz3E9XXSvUyyxqqhjQAQ==", + "dev": true, + "dependencies": { + "@sinonjs/formatio": "^3.2.1", + "@sinonjs/text-encoding": "^0.7.1", + "just-extend": "^4.0.2", + "lolex": "^5.0.1", + "path-to-regexp": "^1.7.0" + } + }, + "node_modules/sinon-chrome/node_modules/nise/node_modules/lolex": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", + "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/sinon-chrome/node_modules/sinon": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-7.5.0.tgz", + "integrity": "sha512-AoD0oJWerp0/rY9czP/D6hDTTUYGpObhZjMpd7Cl/A6+j0xBE+ayL/ldfggkBXUs0IkvIiM1ljM8+WkOc5k78Q==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.4.0", + "@sinonjs/formatio": "^3.2.1", + "@sinonjs/samsam": "^3.3.3", + "diff": "^3.5.0", + "lolex": "^4.2.0", + "nise": "^1.5.2", + "supports-color": "^5.5.0" + } + }, + "node_modules/sinon/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sinon/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "node_modules/spawn-wrap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "dev": true, + "dependencies": { + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "which": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/spawn-wrap/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/spawn-wrap/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/spawn-wrap/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/spawn-wrap/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-browserify/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/stream-browserify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-http/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/stream-http/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/superagent": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-5.3.1.tgz", + "integrity": "sha512-wjJ/MoTid2/RuGCOFtlacyGNxN9QLMgcpYLDQlWFIhhdJ93kNscFonGvrpAHSCVjRVj++DGCglocF7Aej1KHvQ==", + "dev": true, + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.2", + "debug": "^4.1.1", + "fast-safe-stringify": "^2.0.7", + "form-data": "^3.0.0", + "formidable": "^1.2.2", + "methods": "^1.1.2", + "mime": "^2.4.6", + "qs": "^6.9.4", + "readable-stream": "^3.6.0", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 7.0.0" + } + }, + "node_modules/superagent-cache-plugin": { + "version": "3.0.0-beta.1", + "resolved": "https://registry.npmjs.org/superagent-cache-plugin/-/superagent-cache-plugin-3.0.0-beta.1.tgz", + "integrity": "sha512-NePQAvt+njVp6FR9tGh0EMfxRODWtf2fpuAVuf6tuutNQTUPFNl/KwnObkDhkYdinFQHmOK5W2qhmoIM/KUnhQ==", + "dev": true, + "dependencies": { + "http-cache-semantics": "~3.7.3" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svg-to-vue": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/svg-to-vue/-/svg-to-vue-0.4.0.tgz", + "integrity": "sha512-g/ZHtEFf4QDsDtTk9tuYX/MJ2HESTUBMTkuLoffQGQ3xMtlmD9Ec4YyTgmMkP1P8QJtWWu2FiGdOnlKaXc/X/Q==", + "dev": true, + "dependencies": { + "svgo": "^1.1.1" + } + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/table/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/tar-stream": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.4.tgz", + "integrity": "sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/terser-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/through2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/ticky": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ticky/-/ticky-1.0.1.tgz", + "integrity": "sha1-t8+nHnaPHJAAxJe5FRswlHxQ5G0=" + }, + "node_modules/timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true, + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-loader": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-6.2.2.tgz", + "integrity": "sha512-HDo5kXZCBml3EUPcc7RlZOV/JGlLHwppTLEHb3SHnr5V7NXD4klMEkrhJe5wgRbaWsSXi+Y1SIBN/K9B6zWGWQ==", + "dev": true, + "dependencies": { + "chalk": "^2.3.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^1.0.2", + "micromatch": "^4.0.0", + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/ts-loader/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-loader/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-loader/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/ts-loader/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-loader/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/ts-loader/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "3.9.7", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", + "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/unbzip2-stream/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urijs": { + "version": "1.19.7", + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.7.tgz", + "integrity": "sha512-Id+IKjdU0Hx+7Zx717jwLPsPeUqz7rAtuVBRLLs+qn+J2nf9NGITWVCxcijgYxBqe83C7sqsQPs6H1pyz3x9gA==", + "dev": true + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url-loader": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz", + "integrity": "sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==", + "dev": true, + "dependencies": { + "loader-utils": "^1.2.3", + "mime": "^2.4.4", + "schema-utils": "^2.5.0" + }, + "engines": { + "node": ">= 8.9.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/useragent": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", + "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", + "dev": true, + "dependencies": { + "lru-cache": "4.1.x", + "tmp": "0.0.x" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", + "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "dev": true + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "node_modules/vue": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", + "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==" + }, + "node_modules/vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "node_modules/vue-loader": { + "version": "15.9.3", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.3.tgz", + "integrity": "sha512-Y67VnGGgVLH5Voostx8JBZgPQTlDQeOVBLOEsjc2cXbCYBKexSKEpOA56x0YZofoDOTszrLnIShyOX1p9uCEHA==", + "dev": true, + "dependencies": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + } + }, + "node_modules/vue-style-loader": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz", + "integrity": "sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==", + "dev": true, + "dependencies": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "node_modules/vue-svg-loader": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/vue-svg-loader/-/vue-svg-loader-0.12.0.tgz", + "integrity": "sha512-pg8H6iKCj+DAC7FZuxdfGJMHiFpJPv/YyoN1M7Iqlf+Hu4eU6Q/W/sEFx978syQA+aOx0NXrp+uQUAajqQvXbQ==", + "dev": true, + "dependencies": { + "loader-utils": "^1.2.3", + "svg-to-vue": "^0.4.0" + } + }, + "node_modules/vue-template-compiler": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz", + "integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==", + "dev": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "node_modules/vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "node_modules/vue2-dragula": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/vue2-dragula/-/vue2-dragula-2.5.4.tgz", + "integrity": "sha512-RkVBBeb0xFFfksv0oloxPJLdBphrIJlMsWtYLt5QWpO37MslaV4pnuWMlySDpTjvVONAiDcSsXaw1sS9WfYsig==", + "dependencies": { + "dragula": "3.7.2" + } + }, + "node_modules/vuex": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.5.1.tgz", + "integrity": "sha512-w7oJzmHQs0FM9LXodfskhw9wgKBiaB+totOdb8sNzbTB2KDCEEwEs29NzBZFh/lmEK1t5tDmM1vtsO7ubG1DFw==" + }, + "node_modules/watchpack": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", + "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==", + "dev": true, + "dependencies": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "watchpack-chokidar2": "^2.0.0" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "dev": true, + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + }, + "engines": { + "node": "<8.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/watchpack-chokidar2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "optional": true + }, + "node_modules/watchpack-chokidar2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/webextension-polyfill": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.5.0.tgz", + "integrity": "sha512-aFrl38x43t1bTboX/paCT8I97+idzX/TY0+fuM52hrIkCpYfROEF9kSn0BXuEIi3J9LTYt2ZZKkhx9NB1qF3nA==", + "dev": true + }, + "node_modules/webpack": { + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", + "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.3.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/webpack-cli": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz", + "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.1.1", + "findup-sync": "^3.0.0", + "global-modules": "^2.0.0", + "import-local": "^2.0.0", + "interpret": "^1.4.0", + "loader-utils": "^1.4.0", + "supports-color": "^6.1.0", + "v8-compile-cache": "^2.1.1", + "yargs": "^13.3.2" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/webpack-cli/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/webpack-cli/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/webpack-cli/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/webpack-cli/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/webpack-extension-reloader": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/webpack-extension-reloader/-/webpack-extension-reloader-1.1.4.tgz", + "integrity": "sha512-PyssJvAiKhztc//QmhpU8yfg7LBR7Bn/cjSM7jadfQJPIDNN1Djxc+SJQRk8uHQ3GQbyWhsWu2DLCMBRcWHIPA==", + "dev": true, + "dependencies": { + "@types/webpack": "^4.39.8", + "@types/webpack-sources": "^0.1.5", + "colors": "^1.4.0", + "lodash": "^4.17.15", + "minimist": "^1.2.0", + "useragent": "^2.3.0", + "webextension-polyfill": "^0.5.0", + "webpack-sources": "^1.4.3", + "ws": "^7.2.0" + }, + "bin": { + "webpack-extension-reloader": "dist/webpack-extension-reloader-cli.js" + } + }, + "node_modules/webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-sources/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack/node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/webpack/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/webpack/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/webpack/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/wide-align/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wide-align/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wide-align/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wide-align/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/worker-rpc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", + "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", + "dev": true, + "dependencies": { + "microevent.ts": "~0.1.1" + } + }, + "node_modules/workerpool": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz", + "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "dev": true, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + } + } + }, "dependencies": { "@babel/code-frame": { "version": "7.10.4", @@ -403,7 +10308,7 @@ }, "@types/filewriter": { "version": "0.0.28", - "resolved": "http://registry.npm.taobao.org/@types/filewriter/download/@types/filewriter-0.0.28.tgz", + "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.28.tgz", "integrity": "sha1-wFTor02d11205jq8dviFFocU1LM=", "dev": true }, @@ -6834,6 +16739,15 @@ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -6876,15 +16790,6 @@ "es-abstract": "^1.17.5" } }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", diff --git a/src/background.ts b/src/background.ts index cb43264a5..e413edb73 100644 --- a/src/background.ts +++ b/src/background.ts @@ -44,6 +44,8 @@ chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { setAutolock(); } else if (message.action === "updateContentTab") { contentTab = message.data; + } else if (message.action === "updateContextMenu") { + updateContextMenu(); } }); @@ -590,3 +592,47 @@ async function setAutolock() { }, Number(localStorage.autolock) * 60000); } } + +function updateContextMenu() { + chrome.permissions.contains( + { + permissions: ["contextMenus"], + }, + (result) => { + if (result) { + if (localStorage.enableContextMenu === "true") { + chrome.contextMenus.create({ + title: chrome.i18n.getMessage("extName"), + contexts: ["all"], + onclick: (_, tab) => { + let popupUrl = "view/popup.html?popup=true"; + if (tab.url && tab.title) { + popupUrl += + "&url=" + + encodeURIComponent(tab.url) + + "&title=" + + encodeURIComponent(tab.title); + } + let windowType; + if (navigator.userAgent.indexOf("Firefox") !== -1) { + windowType = "detached_panel"; + } else { + windowType = "panel"; + } + chrome.windows.create({ + url: chrome.extension.getURL(popupUrl), + type: windowType, + height: 400, + width: 320, + }); + }, + }); + } else { + chrome.contextMenus.removeAll(); + } + } + } + ); +} + +updateContextMenu(); diff --git a/src/components/Popup/PreferencesPage.vue b/src/components/Popup/PreferencesPage.vue index 0be21b9b9..d5bffa75e 100644 --- a/src/components/Popup/PreferencesPage.vue +++ b/src/components/Popup/PreferencesPage.vue @@ -27,13 +27,19 @@
- + +
{ + if (!granted) { + this.enableContextMenu = false; + return; + } + chrome.runtime.sendMessage({ + action: "updateContextMenu", + }); + } + ); + }, }, }); diff --git a/src/definitions/module-interface.d.ts b/src/definitions/module-interface.d.ts index 45ad62c49..5eaf87c08 100644 --- a/src/definitions/module-interface.d.ts +++ b/src/definitions/module-interface.d.ts @@ -34,6 +34,7 @@ interface MenuState { autolock: number; useAutofill: boolean; smartFilter: boolean; + enableContextMenu: boolean; theme: string; backupDisabled: boolean; storageArea: "sync" | "local"; diff --git a/src/popup.ts b/src/popup.ts index 36f6d1242..465361ad0 100644 --- a/src/popup.ts +++ b/src/popup.ts @@ -147,8 +147,9 @@ async function init() { instance.$store.commit("accounts/showSearch"); } + const query = new URLSearchParams(document.location.search.substring(1)); // Resize window to proper size if popup - if (new URLSearchParams(document.location.search.substring(1)).get("popup")) { + if (query.get("popup")) { const zoom = Number(localStorage.zoom) / 100 || 1; const correctHeight = 480 * zoom; const correctWidth = 320 * zoom; diff --git a/src/store/Accounts.ts b/src/store/Accounts.ts index 8509b12d8..2ee045b99 100644 --- a/src/store/Accounts.ts +++ b/src/store/Accounts.ts @@ -512,21 +512,33 @@ export class Accounts implements Module { return new Promise((resolve: (value: Array) => void) => { chrome.tabs.query({ active: true, lastFocusedWindow: true }, (tabs) => { const tab = tabs[0]; - if (!tab) { - return resolve([null, null]); - } + const query = new URLSearchParams( + document.location.search.substring(1) + ); + + let title: string | null; + let url: string | null; + const titleFromQuery = query.get("title"); + const urlFromQuery = query.get("url"); + + if (titleFromQuery && urlFromQuery) { + title = decodeURIComponent(titleFromQuery); + url = decodeURIComponent(urlFromQuery); + } else { + if (!tab) { + return resolve([null, null]); + } - const title = tab.title - ? tab.title.replace(/[^a-z0-9]/gi, "").toLowerCase() - : null; + title = tab.title?.replace(/[^a-z0-9]/gi, "").toLowerCase() ?? null; + url = tab.url ?? null; + } - if (!tab.url) { + if (!url) { return resolve([title, null]); } - const urlParser = document.createElement("a"); - urlParser.href = tab.url; - const hostname = urlParser.hostname.toLowerCase(); + const urlParser = new URL(url); + const hostname = urlParser.hostname; // it's always lower case // try to parse name from hostname // i.e. hostname is www.example.com diff --git a/src/store/Menu.ts b/src/store/Menu.ts index 1b0f04fab..7acdcdea0 100644 --- a/src/store/Menu.ts +++ b/src/store/Menu.ts @@ -8,6 +8,7 @@ export class Menu implements Module { zoom: Number(localStorage.zoom) || 100, useAutofill: localStorage.autofill === "true", smartFilter: localStorage.smartFilter !== "false", + enableContextMenu: localStorage.enableContextMenu === "true", theme: localStorage.theme || (localStorage.highContrast === "true" ? "accessibility" : "normal"), @@ -37,6 +38,10 @@ export class Menu implements Module { state.smartFilter = smartFilter; localStorage.smartFilter = smartFilter; }, + setEnableContextMenu(state: MenuState, enableContextMenu: boolean) { + state.enableContextMenu = enableContextMenu; + localStorage.enableContextMenu = enableContextMenu; + }, setTheme(state: MenuState, theme: string) { state.theme = theme; localStorage.theme = theme; From f2516af93d3fee323ad801ad97df0a9fabed97bc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 19 Sep 2021 02:04:46 +0000 Subject: [PATCH 32/41] Add new strings This commit was automatically made by run 1249782134 --- _locales/ar/messages.json | 5 ++++- _locales/bg/messages.json | 5 ++++- _locales/ca/messages.json | 5 ++++- _locales/cs/messages.json | 5 ++++- _locales/da/messages.json | 5 ++++- _locales/de/messages.json | 5 ++++- _locales/el/messages.json | 5 ++++- _locales/es/messages.json | 5 ++++- _locales/et/messages.json | 5 ++++- _locales/fa/messages.json | 5 ++++- _locales/fi/messages.json | 5 ++++- _locales/fr/messages.json | 5 ++++- _locales/fy/messages.json | 5 ++++- _locales/he/messages.json | 5 ++++- _locales/hr/messages.json | 5 ++++- _locales/hu/messages.json | 5 ++++- _locales/id/messages.json | 5 ++++- _locales/it/messages.json | 5 ++++- _locales/ja/messages.json | 5 ++++- _locales/ko/messages.json | 5 ++++- _locales/nl/messages.json | 5 ++++- _locales/no/messages.json | 5 ++++- _locales/pl/messages.json | 5 ++++- _locales/pt/messages.json | 5 ++++- _locales/pt_BR/messages.json | 5 ++++- _locales/ro/messages.json | 5 ++++- _locales/ru/messages.json | 5 ++++- _locales/sq/messages.json | 5 ++++- _locales/sr/messages.json | 5 ++++- _locales/sv/messages.json | 5 ++++- _locales/th/messages.json | 5 ++++- _locales/tr/messages.json | 5 ++++- _locales/uk/messages.json | 5 ++++- _locales/vi/messages.json | 5 ++++- _locales/zh_CN/messages.json | 5 ++++- _locales/zh_TW/messages.json | 5 ++++- 36 files changed, 144 insertions(+), 36 deletions(-) diff --git a/_locales/ar/messages.json b/_locales/ar/messages.json index 7941dafed..f2c4abbbf 100644 --- a/_locales/ar/messages.json +++ b/_locales/ar/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/bg/messages.json b/_locales/bg/messages.json index a550e2cce..38a4449d7 100644 --- a/_locales/bg/messages.json +++ b/_locales/bg/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/ca/messages.json b/_locales/ca/messages.json index 983ee62bf..d4f864ab6 100644 --- a/_locales/ca/messages.json +++ b/_locales/ca/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "Sense comptes per mostrar. Afegiu un compte ara." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/cs/messages.json b/_locales/cs/messages.json index 9583fdcb5..4ccf279f1 100644 --- a/_locales/cs/messages.json +++ b/_locales/cs/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/da/messages.json b/_locales/da/messages.json index 3a280ca92..746f41368 100644 --- a/_locales/da/messages.json +++ b/_locales/da/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/de/messages.json b/_locales/de/messages.json index 2f755eb53..62623cd1e 100644 --- a/_locales/de/messages.json +++ b/_locales/de/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/el/messages.json b/_locales/el/messages.json index 311e605d1..662e4a2e5 100644 --- a/_locales/el/messages.json +++ b/_locales/el/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "Δεν υπάρχει κανένας λογαριασμός εδώ. Προσθέστε έναν τώρα." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/es/messages.json b/_locales/es/messages.json index aae0972c8..575a25c5c 100644 --- a/_locales/es/messages.json +++ b/_locales/es/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/et/messages.json b/_locales/et/messages.json index 528f229c0..e320ab58c 100644 --- a/_locales/et/messages.json +++ b/_locales/et/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/fa/messages.json b/_locales/fa/messages.json index ec0d2689c..a9b1e01ee 100644 --- a/_locales/fa/messages.json +++ b/_locales/fa/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/fi/messages.json b/_locales/fi/messages.json index 757936f30..508be6ad3 100644 --- a/_locales/fi/messages.json +++ b/_locales/fi/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/fr/messages.json b/_locales/fr/messages.json index 5b4a69a0a..f7a225ff4 100644 --- a/_locales/fr/messages.json +++ b/_locales/fr/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/fy/messages.json b/_locales/fy/messages.json index 74fd8cce8..f7f924fed 100644 --- a/_locales/fy/messages.json +++ b/_locales/fy/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/he/messages.json b/_locales/he/messages.json index d904f4ac9..b07e8641a 100644 --- a/_locales/he/messages.json +++ b/_locales/he/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/hr/messages.json b/_locales/hr/messages.json index 1c889947d..c23ac3583 100644 --- a/_locales/hr/messages.json +++ b/_locales/hr/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/hu/messages.json b/_locales/hu/messages.json index a65eee89f..eb1f6b52e 100644 --- a/_locales/hu/messages.json +++ b/_locales/hu/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/id/messages.json b/_locales/id/messages.json index a577175d6..1d68adb64 100644 --- a/_locales/id/messages.json +++ b/_locales/id/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/it/messages.json b/_locales/it/messages.json index 169fe3ba2..79430327b 100644 --- a/_locales/it/messages.json +++ b/_locales/it/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "Nessun account da visualizzare. Aggiungi il tuo primo account ora." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/ja/messages.json b/_locales/ja/messages.json index 2c4249905..783d5d742 100644 --- a/_locales/ja/messages.json +++ b/_locales/ja/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "表示するアカウントがありません。今すぐ最初のアカウントを追加してください。" + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/ko/messages.json b/_locales/ko/messages.json index 9f896b489..f46055e26 100644 --- a/_locales/ko/messages.json +++ b/_locales/ko/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/nl/messages.json b/_locales/nl/messages.json index 4c0c537ac..256cf0275 100644 --- a/_locales/nl/messages.json +++ b/_locales/nl/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/no/messages.json b/_locales/no/messages.json index 1fe44dd19..fe09f589e 100644 --- a/_locales/no/messages.json +++ b/_locales/no/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/pl/messages.json b/_locales/pl/messages.json index 8f3ab3562..5201671e9 100644 --- a/_locales/pl/messages.json +++ b/_locales/pl/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "Brak kont do wyświetlenia. Dodaj teraz swoje pierwsze konto." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/pt/messages.json b/_locales/pt/messages.json index cc12590a4..167ff5cab 100644 --- a/_locales/pt/messages.json +++ b/_locales/pt/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/pt_BR/messages.json b/_locales/pt_BR/messages.json index 6e2056335..8f0b873b4 100644 --- a/_locales/pt_BR/messages.json +++ b/_locales/pt_BR/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "Não há contas para exibir. Adicione sua primeira conta agora." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/ro/messages.json b/_locales/ro/messages.json index a5707cdc2..211931d7e 100644 --- a/_locales/ro/messages.json +++ b/_locales/ro/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "Niciun cont de afișat. Adaugă primul tău cont acum." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/ru/messages.json b/_locales/ru/messages.json index 3b0fba2dc..2db46b944 100644 --- a/_locales/ru/messages.json +++ b/_locales/ru/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/sq/messages.json b/_locales/sq/messages.json index 77b370437..2b1a2ff6a 100644 --- a/_locales/sq/messages.json +++ b/_locales/sq/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/sr/messages.json b/_locales/sr/messages.json index 8d12c572d..8f740f992 100644 --- a/_locales/sr/messages.json +++ b/_locales/sr/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/sv/messages.json b/_locales/sv/messages.json index 39cf7e2d7..1d6975dd2 100644 --- a/_locales/sv/messages.json +++ b/_locales/sv/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/th/messages.json b/_locales/th/messages.json index 41225d994..bd32ef79f 100644 --- a/_locales/th/messages.json +++ b/_locales/th/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "ยังไม่มีบัญชีผู้ใช้ เพิ่มบัญชีผู้ใช้ของคุณ" + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/tr/messages.json b/_locales/tr/messages.json index eb8778067..72c101c9a 100644 --- a/_locales/tr/messages.json +++ b/_locales/tr/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/uk/messages.json b/_locales/uk/messages.json index f2f926c51..1b4e69770 100644 --- a/_locales/uk/messages.json +++ b/_locales/uk/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/vi/messages.json b/_locales/vi/messages.json index 233eebc1c..350aaff3d 100644 --- a/_locales/vi/messages.json +++ b/_locales/vi/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/zh_CN/messages.json b/_locales/zh_CN/messages.json index fd7fc6d61..1d6c13164 100644 --- a/_locales/zh_CN/messages.json +++ b/_locales/zh_CN/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "没有可显示的账户。现在添加您的第一个账户。" + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file diff --git a/_locales/zh_TW/messages.json b/_locales/zh_TW/messages.json index 266083150..2a89eddd6 100644 --- a/_locales/zh_TW/messages.json +++ b/_locales/zh_TW/messages.json @@ -434,5 +434,8 @@ }, "no_entires": { "message": "No accounts to display. Add your first account now." + }, + "enable_context_menu": { + "message": "Add to context menu" } -} +} \ No newline at end of file From dd4ece18aea8dbced859c031b63d9ffaaa8943e7 Mon Sep 17 00:00:00 2001 From: Zhe Li Date: Wed, 22 Sep 2021 01:35:02 +0800 Subject: [PATCH 33/41] add simple theme --- _locales/en/messages.json | 4 ++ sass/_ui.scss | 19 +++++++ sass/popup.scss | 68 ++++++++++++++++++++++++ src/components/Popup.vue | 4 +- src/components/Popup/PreferencesPage.vue | 1 + 5 files changed, 95 insertions(+), 1 deletion(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 2712c2b7c..e475ae433 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -305,6 +305,10 @@ "message": "Dark", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "High Contrast", "description": "High Contrast theme" diff --git a/sass/_ui.scss b/sass/_ui.scss index d3c2fe220..3f5f8ea6e 100644 --- a/sass/_ui.scss +++ b/sass/_ui.scss @@ -61,6 +61,25 @@ $themes: ( grey-search: rgba(255, 255, 255, 0.35), blue-menu: #2a2d2e, ), + simple: ( + black-1: black, + black-transparent: rgba(0, 0, 0, 0.5), + white-1: white, + white-transparent: rgba(255, 255, 255, 0.5), + grey-1: grey, + grey-2: #ccc, + grey-3: #eee, + grey-background: #fff, + blue-1: #08c, + yellow-1: #fff1ba, + yellow-2: #fff4cc, + red-1: #dd4b39, + red-2: #eea59c, + black-search: #2a2a2e, + white-search: #f9f9fa, + grey-search: #b1b1b3, + blue-menu: #f4fcff, + ), ); $theme-map: null; diff --git a/sass/popup.scss b/sass/popup.scss index fd24cb3cd..fe633c8c8 100644 --- a/sass/popup.scss +++ b/sass/popup.scss @@ -1078,6 +1078,74 @@ svg { } } +// Simple overrides +.theme-simple { + .header { + border-bottom: white 1px solid !important; + + &::after { + content: ""; + display: block; + margin: 0 20px -1px 20px; + border-bottom: #eee 1px solid; + } + } + + #search { + border-color: white !important; + } + + .entry { + border-color: white !important; + } + + &:not(.edit) { + .entry:hover { + background: #f8f8f8; + } + } + + .control-group select { + border-color: white !important; + } + + .menuList { + border-color: white !important; + + p { + border-color: white !important; + } + } + + ::-webkit-scrollbar { + background-color: white !important; + } + + ::-webkit-scrollbar-thumb { + border: 2px solid white !important; + } + + .button { + background: #f2f2f2 !important; + border: #f2f2f2 1px solid !important; + color: black !important; + + &:hover { + background: #f8f8f8 !important; + border: #f8f8f8 1px solid !important; + } + } + + #info { + box-shadow: none !important; + } + + .message-box { + border: #ccc 1px solid; + box-shadow: none !important; + } +} + // Accessibility overrides .theme-accessibility { select { diff --git a/src/components/Popup.vue b/src/components/Popup.vue index 55a2825a7..8e263999c 100644 --- a/src/components/Popup.vue +++ b/src/components/Popup.vue @@ -2,9 +2,11 @@
+ Date: Tue, 21 Sep 2021 17:35:24 +0000 Subject: [PATCH 34/41] Add new strings This commit was automatically made by run 1258650132 --- _locales/ar/messages.json | 4 ++++ _locales/bg/messages.json | 4 ++++ _locales/ca/messages.json | 4 ++++ _locales/cs/messages.json | 4 ++++ _locales/da/messages.json | 4 ++++ _locales/de/messages.json | 4 ++++ _locales/el/messages.json | 4 ++++ _locales/es/messages.json | 4 ++++ _locales/et/messages.json | 4 ++++ _locales/fa/messages.json | 4 ++++ _locales/fi/messages.json | 4 ++++ _locales/fr/messages.json | 4 ++++ _locales/fy/messages.json | 4 ++++ _locales/he/messages.json | 4 ++++ _locales/hr/messages.json | 4 ++++ _locales/hu/messages.json | 4 ++++ _locales/id/messages.json | 4 ++++ _locales/it/messages.json | 4 ++++ _locales/ja/messages.json | 4 ++++ _locales/ko/messages.json | 4 ++++ _locales/nl/messages.json | 4 ++++ _locales/no/messages.json | 4 ++++ _locales/pl/messages.json | 4 ++++ _locales/pt/messages.json | 4 ++++ _locales/pt_BR/messages.json | 4 ++++ _locales/ro/messages.json | 4 ++++ _locales/ru/messages.json | 4 ++++ _locales/sq/messages.json | 4 ++++ _locales/sr/messages.json | 4 ++++ _locales/sv/messages.json | 4 ++++ _locales/th/messages.json | 4 ++++ _locales/tr/messages.json | 4 ++++ _locales/uk/messages.json | 4 ++++ _locales/vi/messages.json | 4 ++++ _locales/zh_CN/messages.json | 4 ++++ _locales/zh_TW/messages.json | 4 ++++ 36 files changed, 144 insertions(+) diff --git a/_locales/ar/messages.json b/_locales/ar/messages.json index f2c4abbbf..42ae4d894 100644 --- a/_locales/ar/messages.json +++ b/_locales/ar/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/bg/messages.json b/_locales/bg/messages.json index 38a4449d7..c2d9aa8f2 100644 --- a/_locales/bg/messages.json +++ b/_locales/bg/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/ca/messages.json b/_locales/ca/messages.json index d4f864ab6..ed6c85f9b 100644 --- a/_locales/ca/messages.json +++ b/_locales/ca/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/cs/messages.json b/_locales/cs/messages.json index 4ccf279f1..5d3feee66 100644 --- a/_locales/cs/messages.json +++ b/_locales/cs/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/da/messages.json b/_locales/da/messages.json index 746f41368..26011d0ba 100644 --- a/_locales/da/messages.json +++ b/_locales/da/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/de/messages.json b/_locales/de/messages.json index 62623cd1e..22c748ba4 100644 --- a/_locales/de/messages.json +++ b/_locales/de/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/el/messages.json b/_locales/el/messages.json index 662e4a2e5..2fad112c8 100644 --- a/_locales/el/messages.json +++ b/_locales/el/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/es/messages.json b/_locales/es/messages.json index 575a25c5c..177094ed7 100644 --- a/_locales/es/messages.json +++ b/_locales/es/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/et/messages.json b/_locales/et/messages.json index e320ab58c..e0470bf62 100644 --- a/_locales/et/messages.json +++ b/_locales/et/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/fa/messages.json b/_locales/fa/messages.json index a9b1e01ee..f489c1c25 100644 --- a/_locales/fa/messages.json +++ b/_locales/fa/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/fi/messages.json b/_locales/fi/messages.json index 508be6ad3..85b743691 100644 --- a/_locales/fi/messages.json +++ b/_locales/fi/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/fr/messages.json b/_locales/fr/messages.json index f7a225ff4..b14dfcd49 100644 --- a/_locales/fr/messages.json +++ b/_locales/fr/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/fy/messages.json b/_locales/fy/messages.json index f7f924fed..c4ce20755 100644 --- a/_locales/fy/messages.json +++ b/_locales/fy/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/he/messages.json b/_locales/he/messages.json index b07e8641a..7197b15af 100644 --- a/_locales/he/messages.json +++ b/_locales/he/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/hr/messages.json b/_locales/hr/messages.json index c23ac3583..343245c19 100644 --- a/_locales/hr/messages.json +++ b/_locales/hr/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/hu/messages.json b/_locales/hu/messages.json index eb1f6b52e..ee5afe00e 100644 --- a/_locales/hu/messages.json +++ b/_locales/hu/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/id/messages.json b/_locales/id/messages.json index 1d68adb64..42e1c9ee5 100644 --- a/_locales/id/messages.json +++ b/_locales/id/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/it/messages.json b/_locales/it/messages.json index 79430327b..2498b8e77 100644 --- a/_locales/it/messages.json +++ b/_locales/it/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/ja/messages.json b/_locales/ja/messages.json index 783d5d742..26cadbc6e 100644 --- a/_locales/ja/messages.json +++ b/_locales/ja/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/ko/messages.json b/_locales/ko/messages.json index f46055e26..478ba6870 100644 --- a/_locales/ko/messages.json +++ b/_locales/ko/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/nl/messages.json b/_locales/nl/messages.json index 256cf0275..d6949f844 100644 --- a/_locales/nl/messages.json +++ b/_locales/nl/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/no/messages.json b/_locales/no/messages.json index fe09f589e..0ea389280 100644 --- a/_locales/no/messages.json +++ b/_locales/no/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/pl/messages.json b/_locales/pl/messages.json index 5201671e9..7fda7db9f 100644 --- a/_locales/pl/messages.json +++ b/_locales/pl/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/pt/messages.json b/_locales/pt/messages.json index 167ff5cab..61b81f6bc 100644 --- a/_locales/pt/messages.json +++ b/_locales/pt/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/pt_BR/messages.json b/_locales/pt_BR/messages.json index 8f0b873b4..86c868e37 100644 --- a/_locales/pt_BR/messages.json +++ b/_locales/pt_BR/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/ro/messages.json b/_locales/ro/messages.json index 211931d7e..fb21b31ab 100644 --- a/_locales/ro/messages.json +++ b/_locales/ro/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/ru/messages.json b/_locales/ru/messages.json index 2db46b944..ab549f785 100644 --- a/_locales/ru/messages.json +++ b/_locales/ru/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/sq/messages.json b/_locales/sq/messages.json index 2b1a2ff6a..6e2616ff5 100644 --- a/_locales/sq/messages.json +++ b/_locales/sq/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/sr/messages.json b/_locales/sr/messages.json index 8f740f992..cc29cbb0c 100644 --- a/_locales/sr/messages.json +++ b/_locales/sr/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/sv/messages.json b/_locales/sv/messages.json index 1d6975dd2..66ebb2bf6 100644 --- a/_locales/sv/messages.json +++ b/_locales/sv/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/th/messages.json b/_locales/th/messages.json index bd32ef79f..f022132b3 100644 --- a/_locales/th/messages.json +++ b/_locales/th/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/tr/messages.json b/_locales/tr/messages.json index 72c101c9a..401f627af 100644 --- a/_locales/tr/messages.json +++ b/_locales/tr/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/uk/messages.json b/_locales/uk/messages.json index 1b4e69770..5b1185033 100644 --- a/_locales/uk/messages.json +++ b/_locales/uk/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/vi/messages.json b/_locales/vi/messages.json index 350aaff3d..8efff1e5b 100644 --- a/_locales/vi/messages.json +++ b/_locales/vi/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/zh_CN/messages.json b/_locales/zh_CN/messages.json index 1d6c13164..696aed77d 100644 --- a/_locales/zh_CN/messages.json +++ b/_locales/zh_CN/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file diff --git a/_locales/zh_TW/messages.json b/_locales/zh_TW/messages.json index 2a89eddd6..12ec9c78a 100644 --- a/_locales/zh_TW/messages.json +++ b/_locales/zh_TW/messages.json @@ -437,5 +437,9 @@ }, "enable_context_menu": { "message": "Add to context menu" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" } } \ No newline at end of file From 17f9f22d472dc644dbdd240869404168380d5abb Mon Sep 17 00:00:00 2001 From: mymindstorm Date: Thu, 30 Sep 2021 12:42:20 -0500 Subject: [PATCH 35/41] Fix typo in string --- _locales/en/messages.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index e475ae433..a8eab26d3 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successfuly, but some QR image cannot be recognized.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "You can select multiple files to import backup in batches.", From 9db3a3096e37046692f0d16feae31f90727ef2a6 Mon Sep 17 00:00:00 2001 From: Brendan Early Date: Thu, 30 Sep 2021 12:49:47 -0500 Subject: [PATCH 36/41] Update translations --- _locales/ar/messages.json | 18 +- _locales/bg/messages.json | 18 +- _locales/bn/messages.json | 445 +++++++++++++++++++++++++++++++++++ _locales/ca/messages.json | 20 +- _locales/cs/messages.json | 18 +- _locales/da/messages.json | 18 +- _locales/de/messages.json | 18 +- _locales/el/messages.json | 20 +- _locales/es/messages.json | 20 +- _locales/et/messages.json | 20 +- _locales/fa/messages.json | 42 ++-- _locales/fi/messages.json | 18 +- _locales/fr/messages.json | 20 +- _locales/fy/messages.json | 20 +- _locales/he/messages.json | 18 +- _locales/hr/messages.json | 18 +- _locales/hu/messages.json | 22 +- _locales/id/messages.json | 18 +- _locales/it/messages.json | 20 +- _locales/ja/messages.json | 22 +- _locales/ko/messages.json | 22 +- _locales/nl/messages.json | 20 +- _locales/no/messages.json | 18 +- _locales/pl/messages.json | 20 +- _locales/pt/messages.json | 20 +- _locales/pt_BR/messages.json | 20 +- _locales/ro/messages.json | 20 +- _locales/ru/messages.json | 18 +- _locales/sq/messages.json | 18 +- _locales/sr/messages.json | 18 +- _locales/sv/messages.json | 20 +- _locales/th/messages.json | 18 +- _locales/tr/messages.json | 18 +- _locales/uk/messages.json | 22 +- _locales/vi/messages.json | 20 +- _locales/zh_CN/messages.json | 20 +- _locales/zh_TW/messages.json | 18 +- 37 files changed, 804 insertions(+), 359 deletions(-) create mode 100644 _locales/bn/messages.json diff --git a/_locales/ar/messages.json b/_locales/ar/messages.json index 42ae4d894..ec206203e 100644 --- a/_locales/ar/messages.json +++ b/_locales/ar/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "تم الاستيراد بنجاح ، ولكن لا يمكن التعرف على بعض صور QR.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "يمكنك تحديد ملفات متعددة لاستيراد نسخة احتياطية على دفعات.", @@ -305,6 +305,10 @@ "message": "غامق", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "تباين عالي", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Learn more" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/bg/messages.json b/_locales/bg/messages.json index c2d9aa8f2..eb838af10 100644 --- a/_locales/bg/messages.json +++ b/_locales/bg/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successfuly, but some QR image cannot be recognized.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "You can select multiple files to import backup in batches.", @@ -305,6 +305,10 @@ "message": "Dark", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "High Contrast", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Learn more" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/bn/messages.json b/_locales/bn/messages.json new file mode 100644 index 000000000..5112612fa --- /dev/null +++ b/_locales/bn/messages.json @@ -0,0 +1,445 @@ +{ + "extName": { + "message": "অথেন্টিকেটর", + "description": "Extension Name." + }, + "extShortName": { + "message": "অথেন্টিকেটর", + "description": "Extension Short Name." + }, + "extDesc": { + "message": "অথেন্টিকেটর আপনার ব্রাউজারে টু-ফ্যাক্টর অথেন্টিকেশন কোড উৎপন্ন করে।", + "description": "Extension Description." + }, + "added": { + "message": "যোগ করা হয়েছে।", + "description": "Added Account." + }, + "errorqr": { + "message": "অস্বীকৃত কিউ-আর কোড।", + "description": "QR Error." + }, + "errorsecret": { + "message": "অবৈধ অ্যাকাউন্ট সিক্রেট", + "description": "Secret Error." + }, + "add_code": { + "message": "অ্যাকাউন্ট যোগ করুন", + "description": "Add account." + }, + "add_qr": { + "message": "কিউ-আর কোড স্ক্যান করুন", + "description": "Scan QR Code." + }, + "add_secret": { + "message": "ম্যানুয়াল এন্ট্রি", + "description": "Manual Entry." + }, + "migration_fail": { + "message": "আমদানি করতে ব্যর্থ। যদি আপনি গুগল অথেন্টিকেটর থেকে ডেটা স্থানান্তরিত করে থাকেন, অনুগ্রহ করে গুগল অথেন্টিকেটর থেকে আপনার ডেটা পুনঃআমদানি করুন এবং আবার চেষ্টা করুন।", + "description": "Import migration data failed." + }, + "migration_partly_fail": { + "message": "কিছু অ্যাকাউন্ট ডেটা সফলভাবে আমদানি করা হয়নি।", + "description": "Some migration data is broken." + }, + "close": { + "message": "বন্ধ করুন", + "description": "Close." + }, + "ok": { + "message": "ঠিক আছে", + "description": "OK." + }, + "yes": { + "message": "হ্যাঁ", + "description": "Yes." + }, + "no": { + "message": "না", + "description": "No." + }, + "account": { + "message": "অ্যাকাউন্ট", + "description": "Account." + }, + "accountName": { + "message": "ব্যবহারকারীর নাম", + "description": "Account Name." + }, + "issuer": { + "message": "প্রদানকারী", + "description": "Issuer." + }, + "secret": { + "message": "সিক্রেট", + "description": "Secret." + }, + "updateSuccess": { + "message": "সফল।", + "description": "Update Success." + }, + "updateFailure": { + "message": "ব্যর্থ।", + "description": "Update Failure." + }, + "about": { + "message": "সম্বন্ধে", + "description": "About." + }, + "settings": { + "message": "সেটিংস", + "description": "Settings." + }, + "security": { + "message": "নিরাপত্তা", + "description": "Security." + }, + "current_phrase": { + "message": "চলতি পাসওয়ার্ড", + "description": "Current Passphrase." + }, + "new_phrase": { + "message": "নতুন পাসওয়ার্ড", + "description": "New Passphrase." + }, + "phrase": { + "message": "পাসওয়ার্ড", + "description": "Passphrase." + }, + "confirm_phrase": { + "message": "পাসওয়ার্ড নিশ্চিত করুন", + "description": "Confirm Passphrase." + }, + "confirm_delete": { + "message": "আপনি কি সত্যিই এই অ্যাকাউন্টটি মুছে ফেলতে চান? এই কাজের ফলে আর ফিরে পাওয়া যাবে না।", + "description": "Remove entry confirmation" + }, + "confirm_delete_all": { + "message": "আমি বুঝতে পেরেছি যে আমার সকল ডেটা অপূরণীয়ভাবে মুছে ফেলা হবে।", + "description": "Message that user is required to acknowledge before clearing all data." + }, + "delete_all": { + "message": "অথেন্টিকেটর রিসেট করুন" + }, + "delete_all_warning": { + "message": "এই কাজের ফলে আপনার সকল ডেটা মুছে ফেলা হবে এবং সম্পূর্ণভাবে অথেন্টিকেটর রিসেট করা হবে। আপনি কোনোভাবেই যেকোনো মুছে ফেলা ডেটা পুনরুদ্ধার করতে পারবেন না! অথেন্টিকেটর রিসেট করার পূর্বে ব্যাকআপ ডেটা সংরক্ষণ করার ব্যাপারে আপনার বিবেচনা করা উচিত।" + }, + "security_warning": { + "message": "এই পাসওয়ার্ড আপনার অ্যাকাউন্টকে এনক্রিপ্ট করতে কাজে লাগবে। কেউ আপনাকে সাহায্য করবে না যদি আপনি পাসওয়ার্ড ভুলে যান।", + "description": "Passphrase Warning." + }, + "update": { + "message": "আপডেট", + "description": "Update." + }, + "phrase_incorrect": { + "message": "যতক্ষণ না পর্যন্ত আপনার অ্যাকাউন্টগুলো ডিক্রিপ্ট (খোলা) হবে ততক্ষণ পর্যন্ত আপনি আর নতুন অ্যাকাউন্ট যোগ করতে পারবেন না। অনুগ্রহ করে চালিয়ে যাওয়ার আগে সঠিক পাসওয়ার্ড প্রবেশ করান।", + "description": "Passphrase Incorrect." + }, + "phrase_incorrect_export": { + "message": "যেগুলো অ্যাকাউন্ট ডিক্রিপ্ট হতে সক্ষম নয়, সেগুলো আর ব্যাকআপে আসবে না।", + "description": "Skip Unable-decripted Data." + }, + "phrase_not_match": { + "message": "পাসওয়ার্ড মিলছে না", + "description": "Passphrase Not Match." + }, + "encrypted": { + "message": "এনক্রিপ্ট করা হয়েছে", + "description": "Encrypted." + }, + "copied": { + "message": "অনুলিপি করা হয়েছে", + "description": "Copied." + }, + "feedback": { + "message": "মতামত", + "description": "Feedback." + }, + "translate": { + "message": "অনুবাদ", + "description": "Translate." + }, + "source": { + "message": "সোর্স কোড", + "description": "Source Code." + }, + "passphrase_info": { + "message": "অ্যাকাউন্ট ডেটা ডিক্রিপ্ট করতে (খুলতে) পাসওয়ার্ড প্রবেশ করান।", + "description": "Passphrase Info" + }, + "sync_clock": { + "message": "গুগলের সাথে ক্লক সুসংগত করুন", + "description": "Sync Clock" + }, + "remember_phrase": { + "message": "পাসওয়ার্ড মনে রাখুন", + "description": "Remember Passphrase" + }, + "clock_too_far_off": { + "message": "সাবধান! আপনার স্থানীয় ঘড়ি অনেক আগে গিয়েছে, অনুগ্রহ করে চালিয়ে যেতে সংশোধন করুন।", + "description": "Local Time is Too Far Off" + }, + "remind_backup": { + "message": "আপনার অ্যাকাউন্টগুলোর জন্য ব্যাকআপ আছে? দেরি হওয়ার আগে আর অপেক্ষা নয়!", + "description": "Remind Backup" + }, + "capture_failed": { + "message": "ক্যাপচার করতে ব্যর্থ, অনুগ্রহ করে পেজ রিলোড করুন আর আবার চেষ্টা করুন।", + "description": "Capture Failed" + }, + "capture_local_file_failed": { + "message": "আপনি একটি স্থানীয় ফাইল থেকে কিউ-আর কোড স্ক্যান করতে চেষ্টা করছেন কি? এর বদলে ইম্পোর্ট কিউ-আর ইমেজ ব্যাকআপ ব্যবহার করুন।", + "description": "Import QR image backup instead of scan local image" + }, + "based_on_time": { + "message": "সময় ভিত্তিক", + "description": "Time Based" + }, + "based_on_counter": { + "message": "কাউন্টার ভিত্তিক", + "description": "Counter Based" + }, + "resize_popup_page": { + "message": "পছন্দসমূহ", + "description": "Popup Page Settings" + }, + "scale": { + "message": "স্কেল", + "description": "Scale" + }, + "export_info": { + "message": "সতর্কতাঃ সকল ব্যাকআপগুলো এনক্রিপ্টেড নয়। অন্য আরেকটি অ্যাপে একটি অ্যাকাউন্ট যোগ করতে চান? যেকোনো একাউন্টের উপর-ডান অংশে যান আর গোপন বাটনে চাপ দিন।", + "description": "Export menu info text" + }, + "download_backup": { + "message": "ব্যাকআপ ফাইল ডাউনলোড করুন", + "description": "Download backup file." + }, + "import_backup": { + "message": "ব্যাকআপ আমদানি করুন", + "description": "Import backup." + }, + "import_backup_file": { + "message": "ব্যাকআপ ফাইল আমদানি করুন", + "description": "Import backup file." + }, + "import_backup_qr": { + "message": "কিউ-আর ইমেজ ব্যাকআপ আমদানি করুন", + "description": "Import qr image backup." + }, + "import_backup_code": { + "message": "টেক্সট ব্যাকআপ আমদানি করুন", + "description": "Import backup code." + }, + "import_backup_qr_partly_failed": { + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." + }, + "import_backup_qr_in_batches": { + "message": "ব্যাকআপ আমদানি ব্যাচে করতে আপনি একাধিক ফাইল নির্বাচন করতে পারবেন।", + "description": "You can select multiple image files to import backup in batches." + }, + "show_all_entries": { + "message": "সকল এন্ট্রি দেখান", + "description": "Show all entries." + }, + "dropbox_risk": { + "message": "সাবধানঃ ব্যাকআপগুলো এনক্রিপ্টেড নয়। নিজের ঝুঁকিতে ব্যবহার করুন।", + "description": "Backup risk warning." + }, + "import_error_password": { + "message": "ব্যাকআপগুলো আমদানি করতে আপনাকে সঠিক পাসওয়ার্ড প্রবেশ করাতে হবে।", + "description": "Error password warning when import backups." + }, + "local_passphrase_warning": { + "message": "আপনার পাসওয়ার্ড স্থানীয়ভাবে সংরক্ষণ করা হয়েছে, অনুগ্রহ করে নিরাপত্তা মেনুতে অবিলম্বে পরিবর্তন করুন।", + "description": "localStorage password warning." + }, + "remove": { + "message": "অপসারণ করুন", + "description": "Remove password." + }, + "download_enc_backup": { + "message": "পাসওয়ার্ড-সংরক্ষিত ব্যাকআপ ডাউনলোড করুন", + "description": "Download Encrypted Backup" + }, + "search": { + "message": "অনুসন্ধান", + "description": "Search" + }, + "popout": { + "message": "পপ-আপ মোড", + "description": "Make window turn into persistent popup" + }, + "lock": { + "message": "লক করুন", + "description": "Lock accounts" + }, + "edit": { + "message": "সম্পাদন করুন", + "description": "Edit" + }, + "manual_dropbox": { + "message": "ম্যানুয়াল ব্যাকআপ", + "description": "Manual backup" + }, + "use_autofill": { + "message": "অটোফিল ব্যবহার করুন", + "description": "Use Autofill" + }, + "use_high_contrast": { + "message": "উচ্চ কন্ট্র্যাস্ট ব্যবহার করুন", + "description": "Use High Contrast" + }, + "theme": { + "message": "থিম", + "description": "Theme" + }, + "theme_light": { + "message": "লাইট", + "description": "Light theme" + }, + "theme_dark": { + "message": "ডার্ক", + "description": "Dark theme" + }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, + "theme_high_contrast": { + "message": "উচ্চ কন্ট্র্যাস্ট", + "description": "High Contrast theme" + }, + "storage_sync_info": { + "message": "তৃতীয় পক্ষের স্টোরেজ সেবাসমূহে আপনার ডেটা স্বয়ংক্রিয়ভাবে ব্যাকআপ করুন।", + "description": "3rd party backup info" + }, + "browser_sync": { + "message": "ব্রাউজার সিঙ্ক", + "description": "Storage location" + }, + "sign_in": { + "message": "সাইন ইন করুন", + "description": "Sign in to 3rd party storage services" + }, + "sign_in_business": { + "message": "সাইন ইন করুন (ব্যবসায়িক)", + "description": "Sign in to 3rd party storage services" + }, + "onedrive_business_perms": { + "message": "ব্যবসায়িক একাউন্টগুলোতে বেশি অনুমতির প্রয়োজন পড়ে কেন?" + }, + "log_out": { + "message": "লগআউট করুন", + "description": "Sign out of 3rd party storage services" + }, + "token_revoked": { + "message": "আপনার $SERVICE$ অ্যাকাউন্টে সংযোগ প্রদানে একটি সমস্যা সংঘটিত হয়েছে, অনুগ্রহ করে আবার সাইন ইন করুন।", + "description": "Error authenticating to backup service. $SERVICE$ will be replaced with a proper noun (E.g.: 'Google Drive' or 'Dropbox')", + "placeholders": { + "service": { + "content": "$1", + "example": "Google Drive" + } + } + }, + "otp_unsupported_warn": { + "message": "আপনার কাছে এক বা একাধিক স্টিম অথবা ব্লিজার্ড অ্যাকাউন্ট আছে। খোলা বা আনএনক্রিপ্টেড ব্যাকআপগুলো প্রমিত ব্যাকআপ ফরমেট ব্যবহার করবে না।", + "description": "Warning if using account that is not supported by standard backup format." + }, + "otp_backup_inform": { + "message": "অন্য কিছু অ্যাপ্লিকেশনগুলো থেকে আপনি ব্যাকআপ আমদানি করতে পারবেন।", + "description": "Info text on import page" + }, + "otp_backup_learn": { + "message": "আরো জানুন", + "description": "learn more link on import page. Placed after otp_backup_inform" + }, + "loading": { + "message": "লোড করা হচ্ছে..." + }, + "autolock": { + "message": "লক করুন" + }, + "minutes": { + "message": "মিনিটের পরে" + }, + "advanced": { + "message": "উন্নত" + }, + "period": { + "message": "সময়সীমা" + }, + "type": { + "message": "ধরন" + }, + "invalid": { + "message": "অবৈধ" + }, + "digits": { + "message": "ডিজিটস" + }, + "algorithm": { + "message": "অ্যালগরিদম" + }, + "smart_filter": { + "message": "স্মার্ট ফিল্টার" + }, + "backup": { + "message": "ব্যাকআপ" + }, + "backup_file_info": { + "message": "একটি ফাইলে আপনার ডেটা ব্যাকআপ করুন।" + }, + "password_policy_default_hint": { + "message": "আপনার পাসওয়ার্ড আপনার প্রতিষ্ঠানের নিরাপত্তা প্রয়োজনীয়তায় মিলছে না। আরো তথ্য জানতে আপনার পরিচালকের সাথে যোগাযোগ করুন।" + }, + "advisor": { + "message": "উপদেষ্টা" + }, + "advisor_insight_password_not_set": { + "message": "আপনার ডেটা সুরক্ষিত করতে একটি পাসওয়ার্ড সেট করুন।" + }, + "advisor_insight_auto_lock_not_set": { + "message": "আপনার ডেটা সুরক্ষিত রাখতে অটো-লক চালু করুন।" + }, + "advisor_insight_browser_sync_not_enabled": { + "message": "ব্রাউজার সিঙ্ক অচল। চালু করলে আপনার অ্যাকাউন্টগুলো ব্রাউজারজুড়ে সিঙ্ক হবে, যেখানে আপনার ব্রাউজারে এই এক্সটেনশন চালু করা আছে।" + }, + "advisor_insight_auto_fill_not_enabled": { + "message": "ওয়েবসাইটে কোড স্বয়ংক্রিয়ভাবে পূরণ করতে অটোফিল চালু করা যাবে" + }, + "advisor_insight_smart_filter_not_enabled": { + "message": "স্মার্ট ফিল্টার চালু করার ফলে অ্যাকাউন্টে কুইক এক্সেস পাওয়া যাবে।" + }, + "show_all_insights": { + "message": "সকল অন্তর্দৃষ্টি দেখান।" + }, + "no_insight_available": { + "message": "কোন অন্তর্দৃষ্টি পাওয়া যায়নি, সবকিছু ভালো দেখা যাচ্ছে!" + }, + "danger": { + "message": "বিপজ্জনক" + }, + "warning": { + "message": "সাবধান" + }, + "info": { + "message": "তথ্য" + }, + "dismiss": { + "message": "খারিজ করুন" + }, + "learn_more": { + "message": "আরো জানুন" + }, + "enable_context_menu": { + "message": "কন্টেক্সট মেনুতে যোগ করুন" + }, + "no_entires": { + "message": "কোন অ্যাকাউন্ট দেখা যাচ্ছে না। আপনার প্রথম অ্যাকাউন্ট যোগ করুন।" + } +} diff --git a/_locales/ca/messages.json b/_locales/ca/messages.json index ed6c85f9b..43237d6f5 100644 --- a/_locales/ca/messages.json +++ b/_locales/ca/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Importació exitosa, però algunes imatges QR no es poden reconèixer.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Podeu seleccionar diversos fitxers per importar la còpia en lots.", @@ -305,6 +305,10 @@ "message": "Fosc", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Alt contrast", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Saber-ne més" }, - "no_entires": { - "message": "Sense comptes per mostrar. Afegiu un compte ara." - }, "enable_context_menu": { - "message": "Add to context menu" + "message": "Afegeix al menú contextual" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "Sense comptes per mostrar. Afegiu un compte ara." } -} \ No newline at end of file +} diff --git a/_locales/cs/messages.json b/_locales/cs/messages.json index 5d3feee66..e0905175e 100644 --- a/_locales/cs/messages.json +++ b/_locales/cs/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successfuly, but some QR image cannot be recognized.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "You can select multiple files to import backup in batches.", @@ -305,6 +305,10 @@ "message": "Tmavý", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Vysoký kontrast", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Learn more" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/da/messages.json b/_locales/da/messages.json index 26011d0ba..98a352438 100644 --- a/_locales/da/messages.json +++ b/_locales/da/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successfuly, but some QR image cannot be recognized.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "You can select multiple files to import backup in batches.", @@ -305,6 +305,10 @@ "message": "Mørk", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Høj Kontrast", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Learn more" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/de/messages.json b/_locales/de/messages.json index 22c748ba4..e6710f7cf 100644 --- a/_locales/de/messages.json +++ b/_locales/de/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import erfolgreich, aber ein QR-Code kann nicht erkannt werden.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Sie können mehrere Dateien auswählen, um die Sicherung in Stapeln zu importieren.", @@ -305,6 +305,10 @@ "message": "Dunkel", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Hoher Kontrast", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Weitere Informationen" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/el/messages.json b/_locales/el/messages.json index 2fad112c8..3e185f83d 100644 --- a/_locales/el/messages.json +++ b/_locales/el/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Η εισαγωγή ολοκληρώθηκε με επιτυχία, αλλά κάποια εικόνα QR δεν αναγνωρίστηκε.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Μπορείτε να επιλέξετε περισσότερα από ένα αρχεία αντιγράφων ασφαλείας.", @@ -305,6 +305,10 @@ "message": "Σκούρο", "description": "Dark theme" }, + "theme_simple": { + "message": "Απλό", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Υψηλή αντίθεση", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Μάθετε περισσότερα" }, - "no_entires": { - "message": "Δεν υπάρχει κανένας λογαριασμός εδώ. Προσθέστε έναν τώρα." - }, "enable_context_menu": { - "message": "Add to context menu" + "message": "Προσθήκη στο μενού περιβάλλοντος" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "Δεν υπάρχει κανένας λογαριασμός εδώ. Προσθέστε έναν τώρα." } -} \ No newline at end of file +} diff --git a/_locales/es/messages.json b/_locales/es/messages.json index 177094ed7..e9408773b 100644 --- a/_locales/es/messages.json +++ b/_locales/es/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Se importó correctamente, sin embargo, algunas imágenes QR no pudieron ser reconocidas.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Puedes seleccionar varios archivos para importar copias de seguridad por lotes.", @@ -305,6 +305,10 @@ "message": "Oscuro", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Alto contraste", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Más información" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { - "message": "Add to context menu" + "message": "http://192.168.0.1/" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No hay cuentas para mostrar. Añade tu primera cuenta ahora." } -} \ No newline at end of file +} diff --git a/_locales/et/messages.json b/_locales/et/messages.json index e0470bf62..d1f3c94f3 100644 --- a/_locales/et/messages.json +++ b/_locales/et/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Importimine õnnestus, kuid mõnda QR'i pilti ei suudetud tuvastada.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Saate importida varukoopiaid partiidena, valides mitu faili.", @@ -305,6 +305,10 @@ "message": "Tume", "description": "Dark theme" }, + "theme_simple": { + "message": "Lihtne", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Kõrge kontrastsus", "description": "High Contrast theme" @@ -326,7 +330,7 @@ "description": "Sign in to 3rd party storage services" }, "onedrive_business_perms": { - "message": "Why do business accounts require more permissions?" + "message": "Miks ettevõtte kontod nõuavad rohkem õiguseid?" }, "log_out": { "message": "Logi välja", @@ -432,14 +436,10 @@ "learn_more": { "message": "Lisateave" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/fa/messages.json b/_locales/fa/messages.json index f489c1c25..a1ea6a02f 100644 --- a/_locales/fa/messages.json +++ b/_locales/fa/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "وارد کردن با موفقیت انجام شد، اما برخی تصاویر QR شناسایی نشدند.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "شما می‌توانید چندین فایل تصویر را انتخاب کنید تا نسخه‌های پشتیبان به صورت دسته‌ای وارد شوند.", @@ -305,6 +305,10 @@ "message": "تیره", "description": "Dark theme" }, + "theme_simple": { + "message": "ساده", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "کنتراست بالا", "description": "High Contrast theme" @@ -391,55 +395,51 @@ "message": "ایجاد فایل پشتیبان از داده‌های شما" }, "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "گذرواژه شما با الزامات امنیتی سازمان شما مطابقت ندارد. برای اطلاعات بیشتر با سرپرست خود تماس بگیرید." }, "advisor": { - "message": "Advisor" + "message": "گذر واژه شما با الزامات امنیتی سازمان شما مطابقت ندارد. برای اطلاعات بیشتر با مشاور خود تماس بگیرید" }, "advisor_insight_password_not_set": { - "message": "Set a password to protect your data." + "message": "برای محافظت از داده های خود رمز عبور تعیین کنید." }, "advisor_insight_auto_lock_not_set": { - "message": "Enable auto-lock to protect your data." + "message": "برای محافظت از داده های خود ، قفل خودکار را فعال کنید." }, "advisor_insight_browser_sync_not_enabled": { "message": "Browser sync is disabled. Enabling it allows accounts to be synced across browsers." }, "advisor_insight_auto_fill_not_enabled": { - "message": "Autofill can be enabled to automatically fill codes into websites." + "message": "برای تکمیل خودکار کدها در وب سایت ها ، می توان تکمیل خودکار را فعال کرد." }, "advisor_insight_smart_filter_not_enabled": { - "message": "Enabling smart filter allows for quick access to accounts." + "message": "فعال کردن فیلتر هوشمند اجازه دسترسی سریع به حساب ها را می دهد." }, "show_all_insights": { - "message": "Show all insights." + "message": "نمایش همه بینش ها" }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "بینشی یافت نشد ، همه چیز خوب به نظر می رسد!" }, "danger": { - "message": "Danger" + "message": "خطر" }, "warning": { "message": "Warning" }, "info": { - "message": "Info" + "message": "اطلاعات" }, "dismiss": { - "message": "Dismiss" + "message": "رد" }, "learn_more": { "message": "Learn more" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { - "message": "Add to context menu" + "message": "افزودن به منوی زمینه" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "هیچ حساب برای نمایش وجود ندارد. اکنون اولین حساب خود را اضافه کنید." } -} \ No newline at end of file +} diff --git a/_locales/fi/messages.json b/_locales/fi/messages.json index 85b743691..4f7c01e4e 100644 --- a/_locales/fi/messages.json +++ b/_locales/fi/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successfuly, but some QR image cannot be recognized.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "You can select multiple files to import backup in batches.", @@ -305,6 +305,10 @@ "message": "Dark", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "High Contrast", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Learn more" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/fr/messages.json b/_locales/fr/messages.json index b14dfcd49..5d5414a8a 100644 --- a/_locales/fr/messages.json +++ b/_locales/fr/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import réussi, mais certaines images QR ne peuvent pas être reconnues.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Vous pouvez sélectionner plusieurs fichiers pour importer les sauvegardes en lots.", @@ -305,6 +305,10 @@ "message": "Sombre", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Contraste élevé", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "En savoir plus" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { - "message": "Add to context menu" + "message": "Ajouter au menu contextuel" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "Aucun compte à afficher. Ajoutez votre premier compte maintenant." } -} \ No newline at end of file +} diff --git a/_locales/fy/messages.json b/_locales/fy/messages.json index c4ce20755..7c924be69 100644 --- a/_locales/fy/messages.json +++ b/_locales/fy/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Ymport suksesfol, mar guon QR-ôfbyldingen kinne net werkend wurde.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Jo kinne mear bestannen selektearje om reservekopy yn batches te ymportearjen.", @@ -305,6 +305,10 @@ "message": "Donker", "description": "Dark theme" }, + "theme_simple": { + "message": "Ienfâldich", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Heech kontrast", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Mear ynfo" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { - "message": "Add to context menu" + "message": "Oan kontekstmenu tafoegje" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "Gjin accounts om te toanen. Foegje jo earste account no ta." } -} \ No newline at end of file +} diff --git a/_locales/he/messages.json b/_locales/he/messages.json index 7197b15af..60035d066 100644 --- a/_locales/he/messages.json +++ b/_locales/he/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "היבוא הצליח, אך חלק מתמונת קוד ה-QR לא זוהה.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "ניתן לבחור מספר קבצים כדי לייבא גיבויים באצוות.", @@ -305,6 +305,10 @@ "message": "כהה", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "ניגודיות גבוהה", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Learn more" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/hr/messages.json b/_locales/hr/messages.json index 343245c19..f5945eddf 100644 --- a/_locales/hr/messages.json +++ b/_locales/hr/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Uvoz uspješan, no neke QR slike nisu prepoznate.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Možete odabrati više datoteka za uzastopni uvoz sigurnosnih kopija.", @@ -305,6 +305,10 @@ "message": "Tamna", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Visoki kontrast", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Learn more" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/hu/messages.json b/_locales/hu/messages.json index ee5afe00e..2335502bf 100644 --- a/_locales/hu/messages.json +++ b/_locales/hu/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Sikeresen importálva, de néhány QR kód nem ismerhető fel.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Kijelölhet több képfájlt is a biztonsági mentés folyamatos importálásához.", @@ -305,6 +305,10 @@ "message": "Sötét", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Nagy kontrasztú", "description": "High Contrast theme" @@ -430,16 +434,12 @@ "message": "Dismiss" }, "learn_more": { - "message": "Learn more" - }, - "no_entires": { - "message": "No accounts to display. Add your first account now." + "message": "Tudj meg többet" }, "enable_context_menu": { - "message": "Add to context menu" + "message": "Kontextus menühöz adás" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "Nincs megjeleníthető fiók. Add hozzá első fiókodat most." } -} \ No newline at end of file +} diff --git a/_locales/id/messages.json b/_locales/id/messages.json index 42e1c9ee5..9bbc0c04e 100644 --- a/_locales/id/messages.json +++ b/_locales/id/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Impor berhasil, tapi beberapa gambar QR tak dapat dikenali.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Anda bisa memilih beberapa berkas untuk cadangan impor di batch.", @@ -305,6 +305,10 @@ "message": "Gelap", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Kontras Tinggi", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Selengkapnya" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/it/messages.json b/_locales/it/messages.json index 2498b8e77..af77999dc 100644 --- a/_locales/it/messages.json +++ b/_locales/it/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Importazione riuscita, ma alcune immagini QR non possono essere riconosciute.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "È possibile selezionare più file per importare il backup in lotti.", @@ -305,6 +305,10 @@ "message": "Scuro", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Contrasto Elevato", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Scopri di più" }, - "no_entires": { - "message": "Nessun account da visualizzare. Aggiungi il tuo primo account ora." - }, "enable_context_menu": { - "message": "Add to context menu" + "message": "Aggiungi al menu contestuale" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "Nessun account da visualizzare. Aggiungi il tuo primo account ora." } -} \ No newline at end of file +} diff --git a/_locales/ja/messages.json b/_locales/ja/messages.json index 26cadbc6e..e209c0512 100644 --- a/_locales/ja/messages.json +++ b/_locales/ja/messages.json @@ -1,6 +1,6 @@ { "extName": { - "message": "認証", + "message": "Authenticator", "description": "Extension Name." }, "extShortName": { @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "インポートに成功しましたが、QR画像の一部が認識できませんでした。", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "バッチでバックアップをインポートするファイルを複数選択できます。", @@ -305,6 +305,10 @@ "message": "ダーク", "description": "Dark theme" }, + "theme_simple": { + "message": "シンプル", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "高コントラスト", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "続きを読む" }, - "no_entires": { - "message": "表示するアカウントがありません。今すぐ最初のアカウントを追加してください。" - }, "enable_context_menu": { - "message": "Add to context menu" + "message": "コンテキストメニューに追加" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "表示するアカウントがありません。今すぐ最初のアカウントを追加してください。" } -} \ No newline at end of file +} diff --git a/_locales/ko/messages.json b/_locales/ko/messages.json index 478ba6870..e353e0d0c 100644 --- a/_locales/ko/messages.json +++ b/_locales/ko/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "성공적으로 가져왔지만, 일부 QR 이미지를 인식하지 못했습니다.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "배치로 백업을 가져오기 위해 다중 파일을 선택할 수 있습니다.", @@ -305,6 +305,10 @@ "message": "어두운", "description": "Dark theme" }, + "theme_simple": { + "message": "심플", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "고대비", "description": "High Contrast theme" @@ -391,7 +395,7 @@ "message": "데이터를 파일로 백업" }, "password_policy_default_hint": { - "message": "Your password does not meet your organization's security requirements. Contact your administrator for more information." + "message": "비밀번호가 조직의 보안 요구 사항을 충족하지 않습니다. 자세한 내용은 관리자에게 문의하십시오." }, "advisor": { "message": "어드바이저" @@ -432,14 +436,10 @@ "learn_more": { "message": "더 보기" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { - "message": "Add to context menu" + "message": "컨텍스트에 메뉴 추가" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "표시할 계정이 없습니다. 첫 번째 계정을 추가하세요." } -} \ No newline at end of file +} diff --git a/_locales/nl/messages.json b/_locales/nl/messages.json index d6949f844..bf1df74d7 100644 --- a/_locales/nl/messages.json +++ b/_locales/nl/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import succesvol, maar sommige QR-afbeeldingen kunnen niet worden herkend.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "U kunt meerdere bestanden selecteren om back-up in batches te importeren.", @@ -305,6 +305,10 @@ "message": "Donker", "description": "Dark theme" }, + "theme_simple": { + "message": "Eenvoudig", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Hoog contrast", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Meer info" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { - "message": "Add to context menu" + "message": "Aan contextmenu toevoegen" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "Geen accounts om te tonen. Voeg uw eerste account nu toe." } -} \ No newline at end of file +} diff --git a/_locales/no/messages.json b/_locales/no/messages.json index 0ea389280..62178fd97 100644 --- a/_locales/no/messages.json +++ b/_locales/no/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successfuly, but some QR image cannot be recognized.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "You can select multiple files to import backup in batches.", @@ -305,6 +305,10 @@ "message": "Dark", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "High Contrast", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Learn more" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/pl/messages.json b/_locales/pl/messages.json index 7fda7db9f..557eccfad 100644 --- a/_locales/pl/messages.json +++ b/_locales/pl/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Importowanie zakończone pomyślnie, ale pewien obraz QR nie może być rozpoznany.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Możesz wybrać wiele plików, aby importować kopie zapasowe w partiach.", @@ -305,6 +305,10 @@ "message": "Ciemny", "description": "Dark theme" }, + "theme_simple": { + "message": "Prosty", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Wysoki kontrast", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Dowiedz się więcej" }, - "no_entires": { - "message": "Brak kont do wyświetlenia. Dodaj teraz swoje pierwsze konto." - }, "enable_context_menu": { - "message": "Add to context menu" + "message": "Dodaj do menu kontekstowego" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "Brak kont do wyświetlenia. Dodaj teraz swoje pierwsze konto." } -} \ No newline at end of file +} diff --git a/_locales/pt/messages.json b/_locales/pt/messages.json index 61b81f6bc..1a57a3f06 100644 --- a/_locales/pt/messages.json +++ b/_locales/pt/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Importação bem sucedida mas algum código QR não foi reconhecido.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Pode selecionar vários ficheiros para importar cópias de segurança em lotes.", @@ -305,6 +305,10 @@ "message": "Escuro", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Alto Contraste", "description": "High Contrast theme" @@ -333,7 +337,7 @@ "description": "Sign out of 3rd party storage services" }, "token_revoked": { - "message": "Erro ao autenticar no serviço de backup. $ SERVICE $ será substituído por um nome próprio (por exemplo: 'Google Drive' ou 'Dropbox')\n\nUm valor de amostra para a variável $ service $: Google Drive", + "message": "Houve um problema na conexão com sua conta do $SERVICE$, por favor faça o login novamente.", "description": "Error authenticating to backup service. $SERVICE$ will be replaced with a proper noun (E.g.: 'Google Drive' or 'Dropbox')", "placeholders": { "service": { @@ -432,14 +436,10 @@ "learn_more": { "message": "Learn more" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/pt_BR/messages.json b/_locales/pt_BR/messages.json index 86c868e37..3e3b45c6b 100644 --- a/_locales/pt_BR/messages.json +++ b/_locales/pt_BR/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Importação bem sucedida, porém algumas imagens QR não foram reconhecidas.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Você pode selecionar vários arquivos para importar backups em lotes.", @@ -305,6 +305,10 @@ "message": "Escuro", "description": "Dark theme" }, + "theme_simple": { + "message": "Simples", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Alto contraste", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Saiba mais" }, - "no_entires": { - "message": "Não há contas para exibir. Adicione sua primeira conta agora." - }, "enable_context_menu": { - "message": "Add to context menu" + "message": "Adicionar ao menu de contexto" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "Não há contas para exibir. Adicione sua primeira conta agora." } -} \ No newline at end of file +} diff --git a/_locales/ro/messages.json b/_locales/ro/messages.json index fb21b31ab..77d44ba13 100644 --- a/_locales/ro/messages.json +++ b/_locales/ro/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import reușit, dar unele imagini QR nu au putut fi recunoscute.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Puteți selecta mai multe fișiere pentru a importa calupuri de copii de rezervă.", @@ -305,6 +305,10 @@ "message": "Întunecată", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Contrast sporit", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Learn more" }, - "no_entires": { - "message": "Niciun cont de afișat. Adaugă primul tău cont acum." - }, "enable_context_menu": { - "message": "Add to context menu" + "message": "Adaugă la meniul contextual" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "Niciun cont de afișat. Adaugă primul tău cont acum." } -} \ No newline at end of file +} diff --git a/_locales/ru/messages.json b/_locales/ru/messages.json index ab549f785..e9c9c8bbe 100644 --- a/_locales/ru/messages.json +++ b/_locales/ru/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Импорт прошёл успешно, но некоторые QR коды не были быть распознаны.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Вы можете выбрать несколько файлов изображения для импорта резервных копий в пакетном режиме.", @@ -305,6 +305,10 @@ "message": "Тёмная", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Высокая контрастность", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Узнать больше" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/sq/messages.json b/_locales/sq/messages.json index 6e2616ff5..a538bf9cd 100644 --- a/_locales/sq/messages.json +++ b/_locales/sq/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Importimi i suksesshëm, bur disa imazhe QR nuk mund të njihen.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Ju mund të selektoni shumë skedarë për të importuar në sasi kopjet rezervë.", @@ -305,6 +305,10 @@ "message": "E errët", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Kontrast i lartë", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Learn more" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/sr/messages.json b/_locales/sr/messages.json index cc29cbb0c..82140bd20 100644 --- a/_locales/sr/messages.json +++ b/_locales/sr/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Увоз успешан, али неке QR слике не могу да буду препознате.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Можете да одаберете више датотека за серијски увоз.", @@ -305,6 +305,10 @@ "message": "Тамна", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Велики контраст", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Learn more" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/sv/messages.json b/_locales/sv/messages.json index 66ebb2bf6..7f86fe22f 100644 --- a/_locales/sv/messages.json +++ b/_locales/sv/messages.json @@ -20,7 +20,7 @@ "description": "QR Error." }, "errorsecret": { - "message": "Fel på hemlig nyckel. Endast Base32(A-Z, 2-7 och =) och Hex(0-9 och A-F) stöds. Men din hemliga nyckel är: ", + "message": "Invalid account secret", "description": "Secret Error." }, "add_code": { @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successfuly, but some QR image cannot be recognized.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "You can select multiple files to import backup in batches.", @@ -305,6 +305,10 @@ "message": "Dark", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "High Contrast", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Learn more" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/th/messages.json b/_locales/th/messages.json index f022132b3..42f600c76 100644 --- a/_locales/th/messages.json +++ b/_locales/th/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "นำเข้าเสร็จสิ้นเเล้ว เเต่ QR บ้างรูปไม่สามารอ่านค่าได้", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "คุณสามารถเลือกไฟล์หลายไฟล์เพื่อนำเข้าข้อมูลสำรองเป็นชุด ๆ", @@ -305,6 +305,10 @@ "message": "มืด", "description": "Dark theme" }, + "theme_simple": { + "message": "เรียบง่าย (Automatic Translation)", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "ค่าคอนทราสต์สูง", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "เพิ่มเติม" }, - "no_entires": { - "message": "ยังไม่มีบัญชีผู้ใช้ เพิ่มบัญชีผู้ใช้ของคุณ" - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "ยังไม่มีบัญชีผู้ใช้ เพิ่มบัญชีผู้ใช้ของคุณ" } -} \ No newline at end of file +} diff --git a/_locales/tr/messages.json b/_locales/tr/messages.json index 401f627af..bf119818a 100644 --- a/_locales/tr/messages.json +++ b/_locales/tr/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "İçe aktarma başarılı ancak bazı karekod görüntüleri tanınamıyor.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Yedeği toplu olarak içe aktarmak için birden fazla dosya seçebilirsiniz.", @@ -305,6 +305,10 @@ "message": "Karanlık", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Yüksek Kontrast", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Daha fazla bilgi edinin" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/uk/messages.json b/_locales/uk/messages.json index 5b1185033..3aff1d4c0 100644 --- a/_locales/uk/messages.json +++ b/_locales/uk/messages.json @@ -8,11 +8,11 @@ "description": "Extension Short Name." }, "extDesc": { - "message": "https://github.com/atom/atom.git.", + "message": "Автентифікатор генерує коди двофакторної аутентифікації у вашому браузері.", "description": "Extension Description." }, "added": { - "message": " chrome://resources/roboto/roboto-bold.woff2", + "message": " був доданий.", "description": "Added Account." }, "errorqr": { @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Імпорт успішний, але деяке QR-зображення не може бути розпізнано.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Ви можете вибрати декілька файлів для імпорту резервних копій групами.", @@ -305,6 +305,10 @@ "message": "Темна", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Висока контрастність", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Дізнатись більше" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/vi/messages.json b/_locales/vi/messages.json index 8efff1e5b..3ae5ac081 100644 --- a/_locales/vi/messages.json +++ b/_locales/vi/messages.json @@ -138,7 +138,7 @@ "description": "Passphrase Incorrect." }, "phrase_incorrect_export": { - "message": "phrase_incorrect_export", + "message": "Accounts that were not able to be decrypted will not be included in this backup.", "description": "Skip Unable-decripted Data." }, "phrase_not_match": { @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Nhập thành công, nhưng không thể nhận dạng một số hình ảnh QR.", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "Bạn có thể chọn nhiều tệp để nhập sao lưu hàng loạt.", @@ -305,6 +305,10 @@ "message": "Tối", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "Tương phản cao", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "Learn more" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} diff --git a/_locales/zh_CN/messages.json b/_locales/zh_CN/messages.json index 696aed77d..08d0c75c8 100644 --- a/_locales/zh_CN/messages.json +++ b/_locales/zh_CN/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "导入成功,但部分二维码无法识别。", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "您可以同时选择多个文件进行批量导入", @@ -305,6 +305,10 @@ "message": "深色", "description": "Dark theme" }, + "theme_simple": { + "message": "简约", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "高对比度", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "了解更多" }, - "no_entires": { - "message": "没有可显示的账户。现在添加您的第一个账户。" - }, "enable_context_menu": { - "message": "Add to context menu" + "message": "添加到右键菜单" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "没有可显示的账户。现在添加您的第一个账户。" } -} \ No newline at end of file +} diff --git a/_locales/zh_TW/messages.json b/_locales/zh_TW/messages.json index 12ec9c78a..8c37aef5d 100644 --- a/_locales/zh_TW/messages.json +++ b/_locales/zh_TW/messages.json @@ -234,8 +234,8 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "匯入成功,但部份QR碼無法辨識", - "description": "Import successfuly, but some QR image cannot be recognized." + "message": "Import successful, but some QR codes could not be recognized.", + "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { "message": "您可以選擇多個檔案進行批量匯入", @@ -305,6 +305,10 @@ "message": "暗色", "description": "Dark theme" }, + "theme_simple": { + "message": "Simple", + "description": "Simple theme" + }, "theme_high_contrast": { "message": "高對比", "description": "High Contrast theme" @@ -432,14 +436,10 @@ "learn_more": { "message": "了解更多" }, - "no_entires": { - "message": "No accounts to display. Add your first account now." - }, "enable_context_menu": { "message": "Add to context menu" }, - "theme_simple": { - "message": "Simple", - "description": "Simple theme" + "no_entires": { + "message": "No accounts to display. Add your first account now." } -} \ No newline at end of file +} From e04af9fa4808377cd708e57f55a117b74b118e3b Mon Sep 17 00:00:00 2001 From: Brendan Early Date: Thu, 30 Sep 2021 13:01:18 -0500 Subject: [PATCH 37/41] force language to be en-us in tests #752 --- scripts/test-runner.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/test-runner.ts b/scripts/test-runner.ts index 57e865b4c..8de97d48e 100644 --- a/scripts/test-runner.ts +++ b/scripts/test-runner.ts @@ -40,6 +40,7 @@ async function runTests() { `--load-extension=${path.resolve(__dirname, "../test/chrome")}`, // for CI "--no-sandbox", + "--lang=en-US,en" ]; if (!process.env.CI) { From 34a8b3828b71114bdabda71bb4dfed47cee32444 Mon Sep 17 00:00:00 2001 From: mymindstorm Date: Fri, 22 Oct 2021 10:45:08 -0500 Subject: [PATCH 38/41] Fix onboarding screen flashing on screen while extension initializes (#753) --- src/components/Popup/MainBody.vue | 4 ++-- src/definitions/module-interface.d.ts | 1 + src/popup.ts | 3 +++ src/store/Accounts.ts | 5 +++++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/components/Popup/MainBody.vue b/src/components/Popup/MainBody.vue index 0feef2217..4e8c4e92d 100644 --- a/src/components/Popup/MainBody.vue +++ b/src/components/Popup/MainBody.vue @@ -39,7 +39,7 @@ v-bind:entry="entry" v-bind:tabindex="getTabindex(entry)" /> -
+

{{ i18n.no_entires }} @@ -68,7 +68,7 @@ const computed: { shouldFilter: () => boolean; entries: () => OTPEntry[]; } = { - ...mapState("accounts", ["filter", "showSearch"]), + ...mapState("accounts", ["filter", "showSearch", "initComplete"]), ...mapGetters("accounts", ["shouldFilter", "entries"]), }; diff --git a/src/definitions/module-interface.d.ts b/src/definitions/module-interface.d.ts index 5eaf87c08..21d84639d 100644 --- a/src/definitions/module-interface.d.ts +++ b/src/definitions/module-interface.d.ts @@ -73,6 +73,7 @@ interface AccountsState { exportEncData: { [k: string]: OTPEntryInterface }; key: { enc: string; hash: string } | null; wrongPassword: boolean; + initComplete: boolean; } interface NotificationState { diff --git a/src/popup.ts b/src/popup.ts index 465361ad0..11cf51f12 100644 --- a/src/popup.ts +++ b/src/popup.ts @@ -69,6 +69,9 @@ async function init() { instance.$store.commit("style/showInfo", true); instance.$store.commit("currentView/changeView", "EnterPasswordPage"); } + } else { + // Set init complete if no encryption is present, otherwise this will be set in updateEntries. + instance.$store.commit("accounts/initComplete"); } // Auto focus on first entry diff --git a/src/store/Accounts.ts b/src/store/Accounts.ts index 2ee045b99..f74d1d198 100644 --- a/src/store/Accounts.ts +++ b/src/store/Accounts.ts @@ -28,6 +28,7 @@ export class Accounts implements Module { exportEncData: await EntryStorage.getExport(entries, true), key: await BrowserStorage.getKey(), wrongPassword: false, + initComplete: false, }, getters: { shouldFilter( @@ -156,6 +157,9 @@ export class Accounts implements Module { wrongPassword(state: AccountsState) { state.wrongPassword = true; }, + initComplete(state: AccountsState) { + state.initComplete = true; + }, }, actions: { deleteCode: async ( @@ -435,6 +439,7 @@ export class Accounts implements Module { await EntryStorage.getExport(state.state.entries, true) ); state.commit("updateKeyExport", await BrowserStorage.getKey()); + state.commit("initComplete"); return; }, clearFilter: (state: ActionContext) => { From 8f7ce682dafedee9b2f05d16e19a5b89233c1242 Mon Sep 17 00:00:00 2001 From: Brendan Early Date: Fri, 22 Oct 2021 11:03:59 -0500 Subject: [PATCH 39/41] Update translations --- _locales/ar/messages.json | 2 +- _locales/bn/messages.json | 4 ++-- _locales/ca/messages.json | 6 +++--- _locales/cs/messages.json | 2 +- _locales/de/messages.json | 16 ++++++++-------- _locales/el/messages.json | 2 +- _locales/es/messages.json | 2 +- _locales/et/messages.json | 2 +- _locales/fa/messages.json | 4 ++-- _locales/fr/messages.json | 2 +- _locales/fy/messages.json | 2 +- _locales/ja/messages.json | 2 +- _locales/nl/messages.json | 2 +- _locales/pl/messages.json | 2 +- _locales/pt_BR/messages.json | 2 +- _locales/th/messages.json | 4 ++-- _locales/tr/messages.json | 8 ++++---- 17 files changed, 32 insertions(+), 32 deletions(-) diff --git a/_locales/ar/messages.json b/_locales/ar/messages.json index ec206203e..d94c235bc 100644 --- a/_locales/ar/messages.json +++ b/_locales/ar/messages.json @@ -170,7 +170,7 @@ "description": "Passphrase Info" }, "sync_clock": { - "message": "مزامنة سجل التصفح مع جوجل", + "message": "Sync Clock with Google", "description": "Sync Clock" }, "remember_phrase": { diff --git a/_locales/bn/messages.json b/_locales/bn/messages.json index 5112612fa..f970afb81 100644 --- a/_locales/bn/messages.json +++ b/_locales/bn/messages.json @@ -234,7 +234,7 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successful, but some QR codes could not be recognized.", + "message": "সফলভাবে আমদানি করা হয়েছে, কিন্তু কিছু কিউ-আর ইমেজ চেনা যাচ্ছে না।.", "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { @@ -306,7 +306,7 @@ "description": "Dark theme" }, "theme_simple": { - "message": "Simple", + "message": "সিম্পল", "description": "Simple theme" }, "theme_high_contrast": { diff --git a/_locales/ca/messages.json b/_locales/ca/messages.json index 43237d6f5..966161631 100644 --- a/_locales/ca/messages.json +++ b/_locales/ca/messages.json @@ -234,7 +234,7 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successful, but some QR codes could not be recognized.", + "message": "Importat correctament, però alguns codis QR no s'han reconegut.", "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { @@ -306,7 +306,7 @@ "description": "Dark theme" }, "theme_simple": { - "message": "Simple", + "message": "Senzill", "description": "Simple theme" }, "theme_high_contrast": { @@ -395,7 +395,7 @@ "message": "Fes una còpia de les dades a un fitxer." }, "password_policy_default_hint": { - "message": "La contrasenya no acompleix els requeriments de seguretat de la vostra organització. Contacteu amb el vostre administrador per a més informació." + "message": "La contrasenya no compleix els requeriments de seguretat de la teva companyia. Contacta amb el teu administrador per a més informació." }, "advisor": { "message": "Assessor" diff --git a/_locales/cs/messages.json b/_locales/cs/messages.json index e0905175e..984715dbd 100644 --- a/_locales/cs/messages.json +++ b/_locales/cs/messages.json @@ -20,7 +20,7 @@ "description": "QR Error." }, "errorsecret": { - "message": "Chyba tajného klíče. Podporovány jsou pouze Base32(A-Z, 2-7 a =) a HEX(0-9 a A-F). Nicméně, Váš tajný klíč je: ", + "message": "Neplatné číslo účtu", "description": "Secret Error." }, "add_code": { diff --git a/_locales/de/messages.json b/_locales/de/messages.json index e6710f7cf..22ccb9182 100644 --- a/_locales/de/messages.json +++ b/_locales/de/messages.json @@ -20,7 +20,7 @@ "description": "QR Error." }, "errorsecret": { - "message": "Ungültiges Passwort", + "message": "Ungültiges Kontogeheimnis", "description": "Secret Error." }, "add_code": { @@ -72,7 +72,7 @@ "description": "Issuer." }, "secret": { - "message": "Passwort", + "message": "Schlüssel", "description": "Secret." }, "updateSuccess": { @@ -234,7 +234,7 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successful, but some QR codes could not be recognized.", + "message": "Import erfolgreich, aber mancher QR-Code konnte nicht erkannt werden.", "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { @@ -306,7 +306,7 @@ "description": "Dark theme" }, "theme_simple": { - "message": "Simple", + "message": "Einfach", "description": "Simple theme" }, "theme_high_contrast": { @@ -416,10 +416,10 @@ "message": "Das Aktivieren des intelligenten Filters ermöglicht schnellen Zugriff auf Konten." }, "show_all_insights": { - "message": "Show all insights." + "message": "Alle Warnungen anzeigen." }, "no_insight_available": { - "message": "No insights found, everything looks good!" + "message": "Keine Warnungen, alle Einstellungen entsprechen den Empfehlungen!" }, "danger": { "message": "Risiko" @@ -437,9 +437,9 @@ "message": "Weitere Informationen" }, "enable_context_menu": { - "message": "Add to context menu" + "message": "Zum Kontextmenü hinzufügen" }, "no_entires": { - "message": "No accounts to display. Add your first account now." + "message": "Keine Konten zum Anzeigen. Erstes Konto jetzt hinzufügen." } } diff --git a/_locales/el/messages.json b/_locales/el/messages.json index 3e185f83d..844c90dd9 100644 --- a/_locales/el/messages.json +++ b/_locales/el/messages.json @@ -234,7 +234,7 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successful, but some QR codes could not be recognized.", + "message": "Η εισαγωγή ολοκληρώθηκε με επιτυχία, αλλά ορισμένοι κώδικες QR δεν αναγνωρίστηκαν.", "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { diff --git a/_locales/es/messages.json b/_locales/es/messages.json index e9408773b..b0ab8bdde 100644 --- a/_locales/es/messages.json +++ b/_locales/es/messages.json @@ -234,7 +234,7 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successful, but some QR codes could not be recognized.", + "message": "Se importó correctamente, sin embargo, algunas imágenes QR no pudieron ser reconocidas.", "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { diff --git a/_locales/et/messages.json b/_locales/et/messages.json index d1f3c94f3..4dfd6290a 100644 --- a/_locales/et/messages.json +++ b/_locales/et/messages.json @@ -234,7 +234,7 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successful, but some QR codes could not be recognized.", + "message": "Importimine õnnestus, kuid mõnesid QR'i koode ei suudetud tuvastada.", "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { diff --git a/_locales/fa/messages.json b/_locales/fa/messages.json index a1ea6a02f..e52bb447a 100644 --- a/_locales/fa/messages.json +++ b/_locales/fa/messages.json @@ -234,7 +234,7 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successful, but some QR codes could not be recognized.", + "message": "درون ریزی با موفقیت انجام شد، اما تعدادی از تصاویر QR شناسایی نشد.", "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { @@ -398,7 +398,7 @@ "message": "گذرواژه شما با الزامات امنیتی سازمان شما مطابقت ندارد. برای اطلاعات بیشتر با سرپرست خود تماس بگیرید." }, "advisor": { - "message": "گذر واژه شما با الزامات امنیتی سازمان شما مطابقت ندارد. برای اطلاعات بیشتر با مشاور خود تماس بگیرید" + "message": "Advisor" }, "advisor_insight_password_not_set": { "message": "برای محافظت از داده های خود رمز عبور تعیین کنید." diff --git a/_locales/fr/messages.json b/_locales/fr/messages.json index 5d5414a8a..0a8035e8b 100644 --- a/_locales/fr/messages.json +++ b/_locales/fr/messages.json @@ -234,7 +234,7 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successful, but some QR codes could not be recognized.", + "message": "Importation réussie, mais certains codes QR n'ont pas pu être reconnus.", "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { diff --git a/_locales/fy/messages.json b/_locales/fy/messages.json index 7c924be69..5ddb11b1d 100644 --- a/_locales/fy/messages.json +++ b/_locales/fy/messages.json @@ -234,7 +234,7 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successful, but some QR codes could not be recognized.", + "message": "Ymport suksesfol, mar guon QR-koaden kinne net werkend wurde.", "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { diff --git a/_locales/ja/messages.json b/_locales/ja/messages.json index e209c0512..e6241fa14 100644 --- a/_locales/ja/messages.json +++ b/_locales/ja/messages.json @@ -234,7 +234,7 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successful, but some QR codes could not be recognized.", + "message": "インポートに成功しましたが、QR画像の一部が認識できませんでした。", "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { diff --git a/_locales/nl/messages.json b/_locales/nl/messages.json index bf1df74d7..80946f10c 100644 --- a/_locales/nl/messages.json +++ b/_locales/nl/messages.json @@ -234,7 +234,7 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successful, but some QR codes could not be recognized.", + "message": "Import succesvol, maar sommige QR-codes kunnen niet worden herkend.", "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { diff --git a/_locales/pl/messages.json b/_locales/pl/messages.json index 557eccfad..965c0dcaf 100644 --- a/_locales/pl/messages.json +++ b/_locales/pl/messages.json @@ -234,7 +234,7 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successful, but some QR codes could not be recognized.", + "message": "Importowanie powiodło się, ale niektóre kody QR nie zostały rozpoznane.", "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { diff --git a/_locales/pt_BR/messages.json b/_locales/pt_BR/messages.json index 3e3b45c6b..82cce0040 100644 --- a/_locales/pt_BR/messages.json +++ b/_locales/pt_BR/messages.json @@ -234,7 +234,7 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successful, but some QR codes could not be recognized.", + "message": "Importado com sucesso, mas alguns códigos QR não puderam ser reconhecidos.", "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { diff --git a/_locales/th/messages.json b/_locales/th/messages.json index 42f600c76..bead422d2 100644 --- a/_locales/th/messages.json +++ b/_locales/th/messages.json @@ -20,7 +20,7 @@ "description": "QR Error." }, "errorsecret": { - "message": "ข้อมูลบัญชีไม่ถูกต้อง", + "message": "ค่าลับของข้อมูลบัญชีไม่ถูกต้อง", "description": "Secret Error." }, "add_code": { @@ -234,7 +234,7 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successful, but some QR codes could not be recognized.", + "message": "นำเข้าเสร็จสิ้นเเล้ว เเต่ QR บ้างรูปไม่สามารอ่านค่าได้", "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { diff --git a/_locales/tr/messages.json b/_locales/tr/messages.json index bf119818a..a92243878 100644 --- a/_locales/tr/messages.json +++ b/_locales/tr/messages.json @@ -234,7 +234,7 @@ "description": "Import backup code." }, "import_backup_qr_partly_failed": { - "message": "Import successful, but some QR codes could not be recognized.", + "message": "İçe aktarma başarılı ancak bazı karekodlar tanınamıyor.", "description": "Import successful, but some QR image cannot be recognized." }, "import_backup_qr_in_batches": { @@ -306,7 +306,7 @@ "description": "Dark theme" }, "theme_simple": { - "message": "Simple", + "message": "Temel", "description": "Simple theme" }, "theme_high_contrast": { @@ -437,9 +437,9 @@ "message": "Daha fazla bilgi edinin" }, "enable_context_menu": { - "message": "Add to context menu" + "message": "İçerik menüsüne ekle" }, "no_entires": { - "message": "No accounts to display. Add your first account now." + "message": "Görüntülenecek hesap yok. İlk hesabınızı şimdi ekleyin." } } From b9ecf72251e86d0da682d7897e9b68bdd61e3679 Mon Sep 17 00:00:00 2001 From: Brendan Early Date: Fri, 22 Oct 2021 11:09:21 -0500 Subject: [PATCH 40/41] Update issue templates --- .github/ISSUE_TEMPLATE.md | 2 +- .github/ISSUE_TEMPLATE/config.yml | 7 +++++++ .github/ISSUE_TEMPLATE/feature_request.md | 15 --------------- 3 files changed, 8 insertions(+), 16 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/config.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index d3e64853a..fb23f2562 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,4 +1,4 @@ - + diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..5e5da54af --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,7 @@ +contact_links: + - name: Feature Request + url: https://github.com/Authenticator-Extension/Authenticator/discussions/new + about: Please request features here. + - name: Translation Issues + url: https://crowdin.com/project/authenticator-firefox + about: Please correct translation issues on Crowdin. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 6fcb7d1d8..000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: enhancement -assignees: '' - ---- - - - -**Describe the feature you want:** - - -**Why do you want this feature in Authenticator?** From b632e99b6cee348db69728dfecf66731964b0d1c Mon Sep 17 00:00:00 2001 From: Brendan Early Date: Fri, 22 Oct 2021 11:27:15 -0500 Subject: [PATCH 41/41] Revert "Remove Edge" This reverts commit 7c9a09cfced944607437ac1a7dc5dee0059bb0a7. --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 22c69c0a9..3eeaaffe2 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,10 @@ > Authenticator generates 2-Step Verification codes in your browser. -## Available for Chrome and Firefox +## Available for Chrome, Firefox, and Microsoft Edge + +[](https://chrome.google.com/webstore/detail/authenticator/bhghoamapcdpbohphigoooaddinpkbai) [](https://addons.mozilla.org/en-US/firefox/addon/auth-helper?src=external-github) [](https://microsoftedge.microsoft.com/addons/detail/ocglkepbibnalbgmbachknglpdipeoio) -[](https://chrome.google.com/webstore/detail/authenticator/bhghoamapcdpbohphigoooaddinpkbai) [](https://addons.mozilla.org/en-US/firefox/addon/auth-helper?src=external-github) ## Build Setup ``` bash