git: c366b8f7f08b - main - security/bitwarden-cli: update to 2024.7.1

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Sun, 28 Jul 2024 12:28:17 UTC
The branch main has been updated by tagattie:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c366b8f7f08b1d788cb411910993456e4176a5cd

commit c366b8f7f08b1d788cb411910993456e4176a5cd
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2024-07-28 12:27:02 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2024-07-28 12:28:10 +0000

    security/bitwarden-cli: update to 2024.7.1
    
    Changelog: https://github.com/bitwarden/clients/releases/tag/cli-v2024.7.1
    
    Reported by:    GitHub (watch releases)
---
 security/bitwarden-cli/Makefile                    |    2 +-
 security/bitwarden-cli/distinfo                    |   10 +-
 .../files/packagejsons/apps/browser/package.json   |    4 +-
 .../files/packagejsons/apps/cli/package.json       |    8 +-
 .../desktop/desktop_native/{ => napi}/package.json |    4 +-
 .../files/packagejsons/apps/desktop/package.json   |    4 +-
 .../files/packagejsons/apps/web/package.json       |    2 +-
 .../files/packagejsons/libs/auth/package.json      |    5 +
 .../libs/tools/generator/components/package.json   |    2 +-
 .../libs/tools/generator/core/package.json         |    2 +-
 .../extensions/{ => history}/package.json          |    6 +-
 .../tools/generator/extensions/legacy/package.json |   26 +
 .../generator/extensions/navigation/package.json   |   24 +
 .../libs/tools/send/send-ui/package.json           |    3 +-
 .../files/packagejsons/package-lock.json           | 1560 +++++++++-----------
 .../bitwarden-cli/files/packagejsons/package.json  |   46 +-
 16 files changed, 835 insertions(+), 873 deletions(-)

diff --git a/security/bitwarden-cli/Makefile b/security/bitwarden-cli/Makefile
index bc330a75f5b4..ffb1c668740e 100644
--- a/security/bitwarden-cli/Makefile
+++ b/security/bitwarden-cli/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	bitwarden-cli
 DISTVERSIONPREFIX=	cli-v
-DISTVERSION=	2024.6.1
+DISTVERSION=	2024.7.1
 CATEGORIES=	security
 MASTER_SITES=	https://nodejs.org/dist/v${PKG_NODE_VER}/:node
 DISTFILES=	node-v${PKG_NODE_VER}${EXTRACT_SUFX}:node \
diff --git a/security/bitwarden-cli/distinfo b/security/bitwarden-cli/distinfo
index 137c91230bb1..01227664d6b3 100644
--- a/security/bitwarden-cli/distinfo
+++ b/security/bitwarden-cli/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1720682290
+TIMESTAMP = 1722168472
 SHA256 (node-v20.11.1.tar.gz) = 4af1ba6ea848cc05908b8a62b02fb27684dd52b2a7988ee82b0cfa72deb90b94
 SIZE (node-v20.11.1.tar.gz) = 87513887
-SHA256 (bitwarden-cli-2024.6.1-node-modules.tar.gz) = 277475ac6f05090e8d6fdb68368d479bd8c93821c8f1c6b5cf8760a471e856c2
-SIZE (bitwarden-cli-2024.6.1-node-modules.tar.gz) = 235214771
-SHA256 (bitwarden-clients-cli-v2024.6.1_GH0.tar.gz) = 1dff0f6af422864aa9a4e8c226282cb3f4346a4c8e661effe2571e1553603e56
-SIZE (bitwarden-clients-cli-v2024.6.1_GH0.tar.gz) = 21679355
+SHA256 (bitwarden-cli-2024.7.1-node-modules.tar.gz) = 3d3612fcf74b178abb19e36e4258182630b3f191bc98f5664a2b66e5845b4ae1
+SIZE (bitwarden-cli-2024.7.1-node-modules.tar.gz) = 219592783
+SHA256 (bitwarden-clients-cli-v2024.7.1_GH0.tar.gz) = 29e922f820171d3205c03e4b78e7891a8d27ef1a952704095a246b3814c6f61a
+SIZE (bitwarden-clients-cli-v2024.7.1_GH0.tar.gz) = 22042622
diff --git a/security/bitwarden-cli/files/packagejsons/apps/browser/package.json b/security/bitwarden-cli/files/packagejsons/apps/browser/package.json
index 9cef485e48e8..bbcf0badbc53 100644
--- a/security/bitwarden-cli/files/packagejsons/apps/browser/package.json
+++ b/security/bitwarden-cli/files/packagejsons/apps/browser/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@bitwarden/browser",
-  "version": "2024.6.1",
+  "version": "2024.7.1",
   "scripts": {
     "build": "cross-env MANIFEST_VERSION=3 webpack",
     "build:mv2": "webpack",
     "build:watch": "cross-env MANIFEST_VERSION=3 webpack --watch",
     "build:watch:mv2": "webpack --watch",
-    "build:prod": "cross-env NODE_ENV=production webpack",
+    "build:prod": "cross-env NODE_ENV=production NODE_OPTIONS=\"--max-old-space-size=4096\" webpack",
     "build:prod:beta": "cross-env BETA_BUILD=1 NODE_ENV=production webpack",
     "build:prod:watch": "cross-env NODE_ENV=production webpack --watch",
     "dist": "npm run build:prod && gulp dist",
diff --git a/security/bitwarden-cli/files/packagejsons/apps/cli/package.json b/security/bitwarden-cli/files/packagejsons/apps/cli/package.json
index 37772e9d7d4e..2ae40a15ae44 100644
--- a/security/bitwarden-cli/files/packagejsons/apps/cli/package.json
+++ b/security/bitwarden-cli/files/packagejsons/apps/cli/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@bitwarden/cli",
   "description": "A secure and free password manager for all of your devices.",
-  "version": "2024.6.1",
+  "version": "2024.7.1",
   "keywords": [
     "bitwarden",
     "password",
@@ -15,7 +15,7 @@
     "type": "git",
     "url": "https://github.com/bitwarden/clients"
   },
-  "license": "GPL-3.0-only",
+  "license": "SEE LICENSE IN LICENSE.txt",
   "scripts": {
     "clean": "rimraf dist",
     "build:oss": "webpack",
@@ -58,7 +58,7 @@
   "dependencies": {
     "@koa/multer": "3.0.2",
     "@koa/router": "12.0.1",
-    "argon2": "0.31.0",
+    "argon2": "0.40.1",
     "big-integer": "1.6.51",
     "browser-hrtime": "1.1.8",
     "chalk": "4.1.2",
@@ -80,7 +80,7 @@
     "papaparse": "5.4.1",
     "proper-lockfile": "4.1.2",
     "rxjs": "7.8.1",
-    "tldts": "6.1.25",
+    "tldts": "6.1.29",
     "zxcvbn": "4.4.2"
   }
 }
diff --git a/security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/package.json b/security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/napi/package.json
similarity index 90%
rename from security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/package.json
rename to security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/napi/package.json
index 44958043707f..70e472b3952f 100644
--- a/security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/package.json
+++ b/security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/napi/package.json
@@ -1,5 +1,5 @@
 {
-  "name": "@bitwarden/desktop-native",
+  "name": "@bitwarden/desktop-napi",
   "version": "0.1.0",
   "description": "",
   "scripts": {
@@ -14,7 +14,7 @@
     "@napi-rs/cli": "2.16.2"
   },
   "napi": {
-    "name": "desktop_native",
+    "name": "desktop_napi",
     "triples": {
       "defaults": true,
       "additional": [
diff --git a/security/bitwarden-cli/files/packagejsons/apps/desktop/package.json b/security/bitwarden-cli/files/packagejsons/apps/desktop/package.json
index c78b72cf2683..f1639dc51a11 100644
--- a/security/bitwarden-cli/files/packagejsons/apps/desktop/package.json
+++ b/security/bitwarden-cli/files/packagejsons/apps/desktop/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@bitwarden/desktop",
   "description": "A secure and free password manager for all of your devices.",
-  "version": "2024.6.3",
+  "version": "2024.7.1",
   "keywords": [
     "bitwarden",
     "password",
@@ -18,7 +18,7 @@
   "scripts": {
     "postinstall": "electron-rebuild",
     "start": "cross-env ELECTRON_IS_DEV=0 ELECTRON_NO_UPDATER=1 electron ./build",
-    "build-native": "cd desktop_native && npm run build",
+    "build-native": "cd desktop_native/napi && npm run build",
     "build": "concurrently -n Main,Rend,Prel -c yellow,cyan \"npm run build:main\" \"npm run build:renderer\" \"npm run build:preload\"",
     "build:dev": "concurrently -n Main,Rend -c yellow,cyan \"npm run build:main:dev\" \"npm run build:renderer:dev\"",
     "build:preload": "cross-env NODE_ENV=production webpack --config webpack.preload.js",
diff --git a/security/bitwarden-cli/files/packagejsons/apps/web/package.json b/security/bitwarden-cli/files/packagejsons/apps/web/package.json
index 82c447c9b4a3..b75d9eac4c23 100644
--- a/security/bitwarden-cli/files/packagejsons/apps/web/package.json
+++ b/security/bitwarden-cli/files/packagejsons/apps/web/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@bitwarden/web-vault",
-  "version": "2024.6.2",
+  "version": "2024.7.1",
   "scripts": {
     "build:oss": "webpack",
     "build:bit": "webpack -c ../../bitwarden_license/bit-web/webpack.config.js",
diff --git a/security/bitwarden-cli/files/packagejsons/libs/auth/package.json b/security/bitwarden-cli/files/packagejsons/libs/auth/package.json
index 52c1be63f817..3a915d727b1c 100644
--- a/security/bitwarden-cli/files/packagejsons/libs/auth/package.json
+++ b/security/bitwarden-cli/files/packagejsons/libs/auth/package.json
@@ -16,5 +16,10 @@
     "clean": "rimraf dist",
     "build": "npm run clean && tsc",
     "build:watch": "npm run clean && tsc -watch"
+  },
+  "dependencies": {
+    "@bitwarden/angular": "file:../angular",
+    "@bitwarden/common": "file:../common",
+    "@bitwarden/components": "file:../components"
   }
 }
diff --git a/security/bitwarden-cli/files/packagejsons/libs/tools/generator/components/package.json b/security/bitwarden-cli/files/packagejsons/libs/tools/generator/components/package.json
index d37eefac2caa..e900b317a90e 100644
--- a/security/bitwarden-cli/files/packagejsons/libs/tools/generator/components/package.json
+++ b/security/bitwarden-cli/files/packagejsons/libs/tools/generator/components/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@bitwarden/generator-components",
   "version": "0.0.0",
-  "description": "Angular components for the Bitwarden generators",
+  "description": "Angular components for the Bitwarden credential generators",
   "keywords": [
     "bitwarden"
   ],
diff --git a/security/bitwarden-cli/files/packagejsons/libs/tools/generator/core/package.json b/security/bitwarden-cli/files/packagejsons/libs/tools/generator/core/package.json
index 5484cf0968b3..020adab18905 100644
--- a/security/bitwarden-cli/files/packagejsons/libs/tools/generator/core/package.json
+++ b/security/bitwarden-cli/files/packagejsons/libs/tools/generator/core/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@bitwarden/generator-core",
   "version": "0.0.0",
-  "description": "TODO",
+  "description": "Common Bitwarden credential generation logic",
   "keywords": [
     "bitwarden"
   ],
diff --git a/security/bitwarden-cli/files/packagejsons/libs/tools/generator/extensions/package.json b/security/bitwarden-cli/files/packagejsons/libs/tools/generator/extensions/history/package.json
similarity index 73%
rename from security/bitwarden-cli/files/packagejsons/libs/tools/generator/extensions/package.json
rename to security/bitwarden-cli/files/packagejsons/libs/tools/generator/extensions/history/package.json
index 5a48f2e6008c..00342fe435ac 100644
--- a/security/bitwarden-cli/files/packagejsons/libs/tools/generator/extensions/package.json
+++ b/security/bitwarden-cli/files/packagejsons/libs/tools/generator/extensions/history/package.json
@@ -1,7 +1,7 @@
 {
-  "name": "@bitwarden/generator-extensions",
+  "name": "@bitwarden/generator-history",
   "version": "0.0.0",
-  "description": "TODO",
+  "description": "Bitwarden credential generator history service",
   "keywords": [
     "bitwarden"
   ],
@@ -19,6 +19,6 @@
   },
   "dependencies": {
     "@bitwarden/common": "file:../../../common",
-    "@bitwarden/generator-core": "file:../core"
+    "@bitwarden/generator-core": "file:../../core"
   }
 }
diff --git a/security/bitwarden-cli/files/packagejsons/libs/tools/generator/extensions/legacy/package.json b/security/bitwarden-cli/files/packagejsons/libs/tools/generator/extensions/legacy/package.json
new file mode 100644
index 000000000000..0a257c67a492
--- /dev/null
+++ b/security/bitwarden-cli/files/packagejsons/libs/tools/generator/extensions/legacy/package.json
@@ -0,0 +1,26 @@
+{
+  "name": "@bitwarden/generator-legacy",
+  "version": "0.0.0",
+  "description": "Deprecated Bitwarden credential generation services",
+  "keywords": [
+    "bitwarden"
+  ],
+  "author": "Bitwarden Inc.",
+  "homepage": "https://bitwarden.com",
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/bitwarden/clients"
+  },
+  "license": "GPL-3.0",
+  "scripts": {
+    "clean": "rimraf dist",
+    "build": "npm run clean && tsc",
+    "build:watch": "npm run clean && tsc -watch"
+  },
+  "dependencies": {
+    "@bitwarden/common": "file:../../../common",
+    "@bitwarden/generator-core": "file:../../core",
+    "@bitwarden/generator-history": "file:../history",
+    "@bitwarden/generator-navigation": "file:../navigation"
+  }
+}
diff --git a/security/bitwarden-cli/files/packagejsons/libs/tools/generator/extensions/navigation/package.json b/security/bitwarden-cli/files/packagejsons/libs/tools/generator/extensions/navigation/package.json
new file mode 100644
index 000000000000..c929f46ed0f4
--- /dev/null
+++ b/security/bitwarden-cli/files/packagejsons/libs/tools/generator/extensions/navigation/package.json
@@ -0,0 +1,24 @@
+{
+  "name": "@bitwarden/generator-navigation",
+  "version": "0.0.0",
+  "description": "Bitwarden credential generator selection settings service",
+  "keywords": [
+    "bitwarden"
+  ],
+  "author": "Bitwarden Inc.",
+  "homepage": "https://bitwarden.com",
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/bitwarden/clients"
+  },
+  "license": "GPL-3.0",
+  "scripts": {
+    "clean": "rimraf dist",
+    "build": "npm run clean && tsc",
+    "build:watch": "npm run clean && tsc -watch"
+  },
+  "dependencies": {
+    "@bitwarden/common": "file:../../../common",
+    "@bitwarden/generator-core": "file:../../core"
+  }
+}
diff --git a/security/bitwarden-cli/files/packagejsons/libs/tools/send/send-ui/package.json b/security/bitwarden-cli/files/packagejsons/libs/tools/send/send-ui/package.json
index 81bbbde43582..4ffa4db0bdba 100644
--- a/security/bitwarden-cli/files/packagejsons/libs/tools/send/send-ui/package.json
+++ b/security/bitwarden-cli/files/packagejsons/libs/tools/send/send-ui/package.json
@@ -18,6 +18,7 @@
     "build:watch": "npm run clean && tsc -watch"
   },
   "dependencies": {
-    "@bitwarden/common": "file:../../../common"
+    "@bitwarden/common": "file:../../../common",
+    "@bitwarden/components": "file:../../../components"
   }
 }
diff --git a/security/bitwarden-cli/files/packagejsons/package-lock.json b/security/bitwarden-cli/files/packagejsons/package-lock.json
index 28ceeeb83e3f..a1864f39c013 100644
--- a/security/bitwarden-cli/files/packagejsons/package-lock.json
+++ b/security/bitwarden-cli/files/packagejsons/package-lock.json
@@ -11,7 +11,7 @@
       "license": "GPL-3.0",
       "workspaces": [
         "apps/*",
-        "apps/desktop/desktop_native",
+        "apps/desktop/desktop_native/napi",
         "libs/*"
       ],
       "dependencies": {
@@ -26,10 +26,10 @@
         "@angular/router": "16.2.12",
         "@koa/multer": "3.0.2",
         "@koa/router": "12.0.1",
-        "@microsoft/signalr": "8.0.0",
-        "@microsoft/signalr-protocol-msgpack": "8.0.0",
+        "@microsoft/signalr": "8.0.7",
+        "@microsoft/signalr-protocol-msgpack": "8.0.7",
         "@ng-select/ng-select": "11.2.0",
-        "argon2": "0.31.0",
+        "argon2": "0.40.1",
         "argon2-browser": "1.18.0",
         "big-integer": "1.6.51",
         "bootstrap": "4.6.0",
@@ -39,7 +39,6 @@
         "chalk": "4.1.2",
         "commander": "11.1.0",
         "core-js": "3.36.1",
-        "duo_web_sdk": "github:duosecurity/duo_web_sdk",
         "form-data": "4.0.0",
         "https-proxy-agent": "7.0.2",
         "inquirer": "8.2.6",
@@ -67,25 +66,25 @@
         "qrious": "4.0.2",
         "rxjs": "7.8.1",
         "tabbable": "6.2.0",
-        "tldts": "6.1.25",
-        "utf-8-validate": "6.0.3",
+        "tldts": "6.1.29",
+        "utf-8-validate": "6.0.4",
         "zone.js": "0.13.3",
         "zxcvbn": "4.4.2"
       },
       "devDependencies": {
-        "@angular-devkit/build-angular": "16.2.11",
+        "@angular-devkit/build-angular": "16.2.14",
         "@angular-eslint/eslint-plugin": "16.3.1",
         "@angular-eslint/eslint-plugin-template": "16.3.1",
         "@angular-eslint/template-parser": "16.3.1",
-        "@angular/cli": "16.2.11",
+        "@angular/cli": "16.2.14",
         "@angular/compiler-cli": "16.2.12",
         "@angular/elements": "16.2.12",
         "@babel/core": "^7.24.6",
         "@babel/preset-env": "^7.24.6",
-        "@compodoc/compodoc": "1.1.23",
+        "@compodoc/compodoc": "1.1.25",
         "@electron/notarize": "2.3.0",
         "@electron/rebuild": "3.6.0",
-        "@ngtools/webpack": "16.2.11",
+        "@ngtools/webpack": "16.2.14",
         "@storybook/addon-a11y": "7.6.19",
         "@storybook/addon-actions": "7.6.19",
         "@storybook/addon-designs": "7.0.9",
@@ -95,9 +94,8 @@
         "@storybook/angular": "7.6.19",
         "@storybook/jest": "0.2.3",
         "@storybook/testing-library": "0.2.2",
-        "@types/argon2-browser": "1.18.1",
+        "@types/argon2-browser": "1.18.4",
         "@types/chrome": "0.0.262",
-        "@types/duo_web_sdk": "2.7.1",
         "@types/firefox-webext-browser": "111.0.5",
         "@types/inquirer": "8.2.10",
         "@types/jest": "29.5.12",
@@ -110,7 +108,7 @@
         "@types/koa-json": "2.0.23",
         "@types/lowdb": "1.0.15",
         "@types/lunr": "2.3.7",
-        "@types/node": "20.14.1",
+        "@types/node": "20.14.8",
         "@types/node-fetch": "2.6.4",
         "@types/node-forge": "1.3.11",
         "@types/node-ipc": "9.2.3",
@@ -119,10 +117,10 @@
         "@types/react": "16.14.60",
         "@types/retry": "0.12.5",
         "@types/zxcvbn": "4.4.4",
-        "@typescript-eslint/eslint-plugin": "7.8.0",
-        "@typescript-eslint/parser": "7.8.0",
+        "@typescript-eslint/eslint-plugin": "7.13.1",
+        "@typescript-eslint/parser": "7.13.1",
         "@webcomponents/custom-elements": "1.6.0",
-        "@yao-pkg/pkg": "^5.11.5",
+        "@yao-pkg/pkg": "^5.12.0",
         "autoprefixer": "10.4.19",
         "babel-loader": "^9.1.3",
         "base64-loader": "1.0.0",
@@ -132,7 +130,7 @@
         "copy-webpack-plugin": "12.0.2",
         "cross-env": "7.0.3",
         "css-loader": "6.10.0",
-        "electron": "30.1.0",
+        "electron": "31.2.0",
         "electron-builder": "24.13.3",
         "electron-log": "5.0.1",
         "electron-reload": "2.0.0-alpha.1",
@@ -145,7 +143,7 @@
         "eslint-plugin-rxjs": "5.0.3",
         "eslint-plugin-rxjs-angular": "2.0.1",
         "eslint-plugin-storybook": "0.8.0",
-        "eslint-plugin-tailwindcss": "3.15.1",
+        "eslint-plugin-tailwindcss": "3.17.4",
         "gulp": "4.0.2",
         "gulp-filter": "9.0.1",
         "gulp-if": "3.0.0",
@@ -158,8 +156,8 @@
         "husky": "9.0.11",
         "jest-junit": "16.0.0",
         "jest-mock-extended": "3.0.7",
-        "jest-preset-angular": "14.0.4",
-        "lint-staged": "15.2.2",
+        "jest-preset-angular": "14.1.1",
+        "lint-staged": "15.2.7",
         "mini-css-extract-plugin": "2.8.1",
         "node-ipc": "9.2.1",
         "postcss": "8.4.38",
@@ -171,13 +169,13 @@
         "react-dom": "18.3.1",
         "regedit": "^3.0.3",
         "remark-gfm": "3.0.1",
-        "rimraf": "5.0.7",
+        "rimraf": "5.0.8",
         "sass": "1.74.1",
         "sass-loader": "14.2.1",
         "storybook": "7.6.19",
         "style-loader": "3.3.4",
         "tailwindcss": "3.4.3",
-        "ts-jest": "29.1.2",
+        "ts-jest": "29.1.5",
         "ts-loader": "9.5.1",
         "tsconfig-paths-webpack-plugin": "4.1.0",
         "type-fest": "2.19.0",
@@ -197,16 +195,16 @@
     },
     "apps/browser": {
       "name": "@bitwarden/browser",
-      "version": "2024.6.1"
+      "version": "2024.7.1"
     },
     "apps/cli": {
       "name": "@bitwarden/cli",
-      "version": "2024.6.0",
-      "license": "GPL-3.0-only",
+      "version": "2024.7.1",
+      "license": "SEE LICENSE IN LICENSE.txt",
       "dependencies": {
         "@koa/multer": "3.0.2",
         "@koa/router": "12.0.1",
-        "argon2": "0.31.0",
+        "argon2": "0.40.1",
         "big-integer": "1.6.51",
         "browser-hrtime": "1.1.8",
         "chalk": "4.1.2",
@@ -228,7 +226,7 @@
         "papaparse": "5.4.1",
         "proper-lockfile": "4.1.2",
         "rxjs": "7.8.1",
-        "tldts": "6.1.25",
+        "tldts": "6.1.29",
         "zxcvbn": "4.4.2"
       },
       "bin": {
@@ -237,12 +235,12 @@
     },
     "apps/desktop": {
       "name": "@bitwarden/desktop",
-      "version": "2024.6.3",
+      "version": "2024.7.1",
       "hasInstallScript": true,
       "license": "GPL-3.0"
     },
-    "apps/desktop/desktop_native": {
-      "name": "@bitwarden/desktop-native",
+    "apps/desktop/desktop_native/napi": {
+      "name": "@bitwarden/desktop-napi",
       "version": "0.1.0",
       "license": "GPL-3.0",
       "devDependencies": {
@@ -251,7 +249,7 @@
     },
     "apps/web": {
       "name": "@bitwarden/web-vault",
-      "version": "2024.6.2"
+      "version": "2024.7.1"
     },
     "libs/admin-console": {
       "name": "@bitwarden/admin-console",
@@ -266,7 +264,12 @@
     "libs/auth": {
       "name": "@bitwarden/auth",
       "version": "0.0.0",
-      "license": "GPL-3.0"
+      "license": "GPL-3.0",
+      "dependencies": {
+        "@bitwarden/angular": "file:../angular",
+        "@bitwarden/common": "file:../common",
+        "@bitwarden/components": "file:../components"
+      }
     },
     "libs/billing": {
       "name": "@bitwarden/billing",
@@ -379,15 +382,16 @@
       }
     },
     "node_modules/@angular-devkit/build-angular": {
-      "version": "16.2.11",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.2.11.tgz",
-      "integrity": "sha512-yNzUiAeg1WHMsFG9IBg4S/7dsMcEAMYQ1I360ib80c0T/IwRb8pHhOokrl5Mu8zfNqZ/dxH4ItKY1uIMDmuMGQ==",
+      "version": "16.2.14",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.2.14.tgz",
+      "integrity": "sha512-bXQ6i7QPhwmYHuh+DSNkBhjTIHQF0C6fqZEg2ApJA3NmnzE98oQnmJ9AnGnAkdf1Mjn3xi2gxoZWPDDxGEINMw==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "@ampproject/remapping": "2.2.1",
-        "@angular-devkit/architect": "0.1602.11",
-        "@angular-devkit/build-webpack": "0.1602.11",
-        "@angular-devkit/core": "16.2.11",
+        "@angular-devkit/architect": "0.1602.14",
+        "@angular-devkit/build-webpack": "0.1602.14",
+        "@angular-devkit/core": "16.2.14",
         "@babel/core": "7.22.9",
         "@babel/generator": "7.22.9",
         "@babel/helper-annotate-as-pure": "7.22.5",
@@ -399,7 +403,7 @@
         "@babel/runtime": "7.22.6",
         "@babel/template": "7.22.5",
         "@discoveryjs/json-ext": "0.5.7",
-        "@ngtools/webpack": "16.2.11",
+        "@ngtools/webpack": "16.2.14",
         "@vitejs/plugin-basic-ssl": "1.0.1",
         "ansi-colors": "4.1.3",
         "autoprefixer": "10.4.14",
@@ -442,9 +446,9 @@
         "text-table": "0.2.0",
         "tree-kill": "1.2.2",
         "tslib": "2.6.1",
-        "vite": "4.5.1",
+        "vite": "4.5.3",
         "webpack": "5.88.2",
-        "webpack-dev-middleware": "6.1.1",
+        "webpack-dev-middleware": "6.1.2",
         "webpack-dev-server": "4.15.1",
         "webpack-merge": "5.9.0",
         "webpack-subresource-integrity": "5.1.0"
@@ -501,12 +505,13 @@
       }
     },
     "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": {
-      "version": "0.1602.11",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.11.tgz",
-      "integrity": "sha512-qC1tPL/82gxqCS1z9pTpLn5NQH6uqbV6UNjbkFEQpTwEyWEK6VLChAJsybHHfbpssPS2HWf31VoUzX7RqDjoQQ==",
+      "version": "0.1602.14",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.14.tgz",
+      "integrity": "sha512-eSdONEV5dbtLNiOMBy9Ue9DdJ1ct6dH9RdZfYiedq6VZn0lejePAjY36MYVXgq2jTE+v/uIiaNy7caea5pt55A==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "@angular-devkit/core": "16.2.11",
+        "@angular-devkit/core": "16.2.14",
         "rxjs": "7.8.1"
       },
       "engines": {
@@ -516,12 +521,13 @@
       }
     },
     "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/build-webpack": {
-      "version": "0.1602.11",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1602.11.tgz",
-      "integrity": "sha512-2Au6xRMxNugFkXP0LS1TwNE5gAfGW4g6yxC9P5j5p3kdGDnAVaZRTOKB9dg73i3uXtJHUMciYOThV0b78XRxwA==",
+      "version": "0.1602.14",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1602.14.tgz",
+      "integrity": "sha512-f+ZTCjOoA1SCQEaX3L/63ubqr/vlHkwDXAtKjBsQgyz6srnETcjy96Us5k/LoK7/hPc85zFneqLinfqOMVWHJQ==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "@angular-devkit/architect": "0.1602.11",
+        "@angular-devkit/architect": "0.1602.14",
         "rxjs": "7.8.1"
       },
       "engines": {
@@ -535,10 +541,11 @@
       }
     },
     "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/core": {
-      "version": "16.2.11",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.11.tgz",
-      "integrity": "sha512-u3cEQHqhSMWyAFIaPdRukCJwEUJt7Fy3C02gTlTeCB4F/OnftVFIm2e5vmCqMo9rgbfdvjWj9V+7wWiCpMrzAQ==",
+      "version": "16.2.14",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.14.tgz",
+      "integrity": "sha512-Ui14/d2+p7lnmXlK/AX2ieQEGInBV75lonNtPQgwrYgskF8ufCuN0DyVZQUy9fJDkC+xQxbJyYrby/BS0R0e7w==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "ajv": "8.12.0",
         "ajv-formats": "2.1.1",
@@ -566,6 +573,7 @@
       "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz",
       "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "@ampproject/remapping": "^2.2.0",
         "@babel/code-frame": "^7.22.5",
@@ -596,6 +604,7 @@
       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
       "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
       "dev": true,
+      "license": "ISC",
       "bin": {
         "semver": "bin/semver.js"
       }
@@ -605,6 +614,7 @@
       "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.9.tgz",
       "integrity": "sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "@babel/compat-data": "^7.22.9",
         "@babel/helper-compilation-targets": "^7.22.9",
@@ -699,6 +709,7 @@
       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
       "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
       "dev": true,
+      "license": "ISC",
       "bin": {
         "semver": "bin/semver.js"
       }
@@ -708,6 +719,7 @@
       "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6.tgz",
       "integrity": "sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.0.0",
         "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
@@ -723,7 +735,8 @@
       "version": "0.12.0",
       "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
       "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
-      "dev": true
+      "dev": true,
+      "license": "MIT"
     },
     "node_modules/@angular-devkit/build-angular/node_modules/autoprefixer": {
       "version": "10.4.14",
@@ -740,6 +753,7 @@
           "url": "https://tidelift.com/funding/github/npm/autoprefixer"
         }
       ],
+      "license": "MIT",
       "dependencies": {
         "browserslist": "^4.21.5",
         "caniuse-lite": "^1.0.30001464",
@@ -763,6 +777,7 @@
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "balanced-match": "^1.0.0",
         "concat-map": "0.0.1"
@@ -773,6 +788,7 @@
       "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz",
       "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "fast-glob": "^3.2.11",
         "glob-parent": "^6.0.1",
@@ -792,30 +808,12 @@
         "webpack": "^5.1.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/copy-webpack-plugin/node_modules/schema-utils": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
-      "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.9",
-        "ajv": "^8.9.0",
-        "ajv-formats": "^2.1.1",
-        "ajv-keywords": "^5.1.0"
-      },
-      "engines": {
-        "node": ">= 12.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
     "node_modules/@angular-devkit/build-angular/node_modules/css-loader": {
       "version": "6.8.1",
       "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz",
       "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "icss-utils": "^5.1.0",
         "postcss": "^8.4.21",
@@ -842,6 +840,7 @@
       "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
       "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
       "dev": true,
+      "license": "BSD-2-Clause",
       "dependencies": {
         "esrecurse": "^4.3.0",
         "estraverse": "^4.1.1"
@@ -855,6 +854,7 @@
       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
       "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
       "dev": true,
+      "license": "BSD-2-Clause",
       "engines": {
         "node": ">=4.0"
       }
@@ -863,7 +863,9 @@
       "version": "7.2.3",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
       "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+      "deprecated": "Glob versions prior to v9 are no longer supported",
       "dev": true,
+      "license": "ISC",
       "dependencies": {
         "fs.realpath": "^1.0.0",
         "inflight": "^1.0.4",
@@ -884,6 +886,7 @@
       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
       "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
       "dev": true,
+      "license": "ISC",
       "dependencies": {
         "is-glob": "^4.0.3"
       },
@@ -896,6 +899,7 @@
       "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz",
       "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "dir-glob": "^3.0.1",
         "fast-glob": "^3.3.0",
@@ -915,6 +919,7 @@
       "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
       "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "agent-base": "6",
         "debug": "4"
@@ -928,6 +933,7 @@
       "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz",
       "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "ansi-escapes": "^4.2.1",
         "chalk": "^4.1.1",
@@ -950,10 +956,11 @@
       }
     },
     "node_modules/@angular-devkit/build-angular/node_modules/ipaddr.js": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz",
-      "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==",
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz",
+      "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==",
       "dev": true,
+      "license": "MIT",
       "engines": {
         "node": ">= 10"
       }
@@ -962,13 +969,15 @@
       "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
+      "dev": true,
+      "license": "MIT"
     },
     "node_modules/@angular-devkit/build-angular/node_modules/mini-css-extract-plugin": {
       "version": "2.7.6",
       "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz",
       "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "schema-utils": "^4.0.0"
       },
@@ -983,30 +992,12 @@
         "webpack": "^5.0.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/mini-css-extract-plugin/node_modules/schema-utils": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
-      "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.9",
-        "ajv": "^8.9.0",
-        "ajv-formats": "^2.1.1",
-        "ajv-keywords": "^5.1.0"
-      },
-      "engines": {
-        "node": ">= 12.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
     "node_modules/@angular-devkit/build-angular/node_modules/minimatch": {
       "version": "3.1.2",
       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
       "dev": true,
+      "license": "ISC",
       "dependencies": {
         "brace-expansion": "^1.1.7"
       },
@@ -1019,6 +1010,7 @@
       "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
       "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "@types/retry": "0.12.0",
         "retry": "^0.13.1"
@@ -1046,6 +1038,7 @@
           "url": "https://github.com/sponsors/ai"
         }
       ],
+      "license": "MIT",
       "dependencies": {
         "nanoid": "^3.3.6",
         "picocolors": "^1.0.0",
@@ -1060,6 +1053,7 @@
       "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz",
       "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "cosmiconfig": "^8.2.0",
         "jiti": "^1.18.2",
@@ -1082,6 +1076,7 @@
       "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
       "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
       "dev": true,
+      "license": "MIT",
       "engines": {
         "node": ">= 4"
       }
@@ -1090,7 +1085,9 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
       "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+      "deprecated": "Rimraf versions prior to v4 are no longer supported",
       "dev": true,
+      "license": "ISC",
       "dependencies": {
         "glob": "^7.1.3"
       },
@@ -1106,6 +1103,7 @@
       "resolved": "https://registry.npmjs.org/sass/-/sass-1.64.1.tgz",
       "integrity": "sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "chokidar": ">=3.0.0 <4.0.0",
         "immutable": "^4.0.0",
@@ -1123,6 +1121,7 @@
       "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.2.tgz",
       "integrity": "sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "neo-async": "^2.6.2"
       },
@@ -1155,54 +1154,12 @@
         }
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/schema-utils": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
-      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/schema-utils/node_modules/ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-      "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"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/schema-utils/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,
-      "peerDependencies": {
-        "ajv": "^6.9.1"
-      }
-    },
     "node_modules/@angular-devkit/build-angular/node_modules/slash": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
       "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
       "dev": true,
+      "license": "MIT",
       "engines": {
         "node": ">=12"
       },
@@ -1215,6 +1172,7 @@
       "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz",
       "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "@types/eslint-scope": "^3.7.3",
         "@types/estree": "^1.0.0",
@@ -1257,11 +1215,41 @@
         }
       }
     },
+    "node_modules/@angular-devkit/build-angular/node_modules/webpack-dev-middleware": {
+      "version": "6.1.2",
*** 2634 LINES SKIPPED ***