mediawiki/extensions/MediaSearch: REL1_41 (log #1489597)

sourcepatches

This run took 77 seconds.

From 263ecd9057c36cd0d1b55ff3efe1b0b55254d76a Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 5 Sep 2024 06:56:55 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* @babel/traverse: 7.18.9 → 7.25.6
  * https://github.com/advisories/GHSA-67hx-6x53-jw92
* braces: 3.0.2 → 3.0.3
  * https://github.com/advisories/GHSA-grv7-fg5c-xmjg
* micromatch: 4.0.5 → 4.0.8
  * https://github.com/advisories/GHSA-952p-6rrq-rcjv
* postcss: 8.4.21 → 8.4.45
  * https://github.com/advisories/GHSA-7fh5-64p2-3v2j
* ws: 7.5.9 → 7.5.10
  * https://github.com/advisories/GHSA-3h5v-q93c-6h6q

Additional changes:
* Dropped default excluded folder(s) from .phpcs.xml (T274684).
* composer.json: Updated phpcs command in composer test (T280592).
* composer.json: Added phpcs command to scripts (T280592).

Change-Id: I6b72b03aadd054d1ee87a9bd51ef2ccfcf5ea64e
---
 .phpcs.xml        |   1 -
 composer.json     |   5 +-
 package-lock.json | 375 +++++++++++++++++++++++++---------------------
 3 files changed, 207 insertions(+), 174 deletions(-)

diff --git a/.phpcs.xml b/.phpcs.xml
index 02af787..eddb6dc 100644
--- a/.phpcs.xml
+++ b/.phpcs.xml
@@ -4,5 +4,4 @@
 	<file>.</file>
 	<arg name="extensions" value="php" />
 	<arg name="encoding" value="UTF-8" />
-	<exclude-pattern>vendor</exclude-pattern>
 </ruleset>
diff --git a/composer.json b/composer.json
index 92660b7..2807546 100644
--- a/composer.json
+++ b/composer.json
@@ -13,9 +13,10 @@
 		],
 		"test": [
 			"parallel-lint . --exclude vendor --exclude node_modules",
-			"phpcs -p -s",
+			"@phpcs",
 			"minus-x check ."
 		],
-		"phan": "phan -d . --long-progress-bar"
+		"phan": "phan -d . --long-progress-bar",
+		"phpcs": "phpcs -sp --cache"
 	}
 }
diff --git a/package-lock.json b/package-lock.json
index c37667c..9fcd4bd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -43,12 +43,13 @@
 			}
 		},
 		"node_modules/@babel/code-frame": {
-			"version": "7.18.6",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
-			"integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+			"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 			"dev": true,
 			"dependencies": {
-				"@babel/highlight": "^7.18.6"
+				"@babel/highlight": "^7.24.7",
+				"picocolors": "^1.0.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -94,13 +95,14 @@
 			}
 		},
 		"node_modules/@babel/generator": {
-			"version": "7.18.9",
-			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz",
-			"integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==",
+			"version": "7.25.6",
+			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz",
+			"integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/types": "^7.18.9",
-				"@jridgewell/gen-mapping": "^0.3.2",
+				"@babel/types": "^7.25.6",
+				"@jridgewell/gen-mapping": "^0.3.5",
+				"@jridgewell/trace-mapping": "^0.3.25",
 				"jsesc": "^2.5.1"
 			},
 			"engines": {
@@ -108,14 +110,14 @@
 			}
 		},
 		"node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
-			"version": "0.3.2",
-			"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
-			"integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+			"version": "0.3.5",
+			"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+			"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
 			"dev": true,
 			"dependencies": {
-				"@jridgewell/set-array": "^1.0.1",
+				"@jridgewell/set-array": "^1.2.1",
 				"@jridgewell/sourcemap-codec": "^1.4.10",
-				"@jridgewell/trace-mapping": "^0.3.9"
+				"@jridgewell/trace-mapping": "^0.3.24"
 			},
 			"engines": {
 				"node": ">=6.0.0"
@@ -398,10 +400,19 @@
 				"node": ">=6.9.0"
 			}
 		},
+		"node_modules/@babel/helper-string-parser": {
+			"version": "7.24.8",
+			"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
+			"integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
+			"dev": true,
+			"engines": {
+				"node": ">=6.9.0"
+			}
+		},
 		"node_modules/@babel/helper-validator-identifier": {
-			"version": "7.18.6",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
-			"integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+			"integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
 			"dev": true,
 			"engines": {
 				"node": ">=6.9.0"
@@ -446,24 +457,28 @@
 			}
 		},
 		"node_modules/@babel/highlight": {
-			"version": "7.18.6",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
-			"integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+			"integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.18.6",
-				"chalk": "^2.0.0",
-				"js-tokens": "^4.0.0"
+				"@babel/helper-validator-identifier": "^7.24.7",
+				"chalk": "^2.4.2",
+				"js-tokens": "^4.0.0",
+				"picocolors": "^1.0.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/parser": {
-			"version": "7.18.9",
-			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz",
-			"integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==",
+			"version": "7.25.6",
+			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz",
+			"integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==",
 			"dev": true,
+			"dependencies": {
+				"@babel/types": "^7.25.6"
+			},
 			"bin": {
 				"parser": "bin/babel-parser.js"
 			},
@@ -1615,34 +1630,31 @@
 			"dev": true
 		},
 		"node_modules/@babel/template": {
-			"version": "7.18.6",
-			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz",
-			"integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==",
+			"version": "7.25.0",
+			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz",
+			"integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==",
 			"dev": true,
 			"dependencies": {
-				"@babel/code-frame": "^7.18.6",
-				"@babel/parser": "^7.18.6",
-				"@babel/types": "^7.18.6"
+				"@babel/code-frame": "^7.24.7",
+				"@babel/parser": "^7.25.0",
+				"@babel/types": "^7.25.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/traverse": {
-			"version": "7.18.9",
-			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz",
-			"integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==",
+			"version": "7.25.6",
+			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz",
+			"integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==",
 			"dev": true,
 			"dependencies": {
-				"@babel/code-frame": "^7.18.6",
-				"@babel/generator": "^7.18.9",
-				"@babel/helper-environment-visitor": "^7.18.9",
-				"@babel/helper-function-name": "^7.18.9",
-				"@babel/helper-hoist-variables": "^7.18.6",
-				"@babel/helper-split-export-declaration": "^7.18.6",
-				"@babel/parser": "^7.18.9",
-				"@babel/types": "^7.18.9",
-				"debug": "^4.1.0",
+				"@babel/code-frame": "^7.24.7",
+				"@babel/generator": "^7.25.6",
+				"@babel/parser": "^7.25.6",
+				"@babel/template": "^7.25.0",
+				"@babel/types": "^7.25.6",
+				"debug": "^4.3.1",
 				"globals": "^11.1.0"
 			},
 			"engines": {
@@ -1650,12 +1662,13 @@
 			}
 		},
 		"node_modules/@babel/types": {
-			"version": "7.18.9",
-			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz",
-			"integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==",
+			"version": "7.25.6",
+			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz",
+			"integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.18.6",
+				"@babel/helper-string-parser": "^7.24.8",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"to-fast-properties": "^2.0.0"
 			},
 			"engines": {
@@ -2507,9 +2520,9 @@
 			}
 		},
 		"node_modules/@jridgewell/set-array": {
-			"version": "1.1.2",
-			"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
-			"integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+			"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
 			"dev": true,
 			"engines": {
 				"node": ">=6.0.0"
@@ -2522,13 +2535,13 @@
 			"dev": true
 		},
 		"node_modules/@jridgewell/trace-mapping": {
-			"version": "0.3.14",
-			"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz",
-			"integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==",
+			"version": "0.3.25",
+			"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+			"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
 			"dev": true,
 			"dependencies": {
-				"@jridgewell/resolve-uri": "^3.0.3",
-				"@jridgewell/sourcemap-codec": "^1.4.10"
+				"@jridgewell/resolve-uri": "^3.1.0",
+				"@jridgewell/sourcemap-codec": "^1.4.14"
 			}
 		},
 		"node_modules/@mdn/browser-compat-data": {
@@ -3868,12 +3881,12 @@
 			}
 		},
 		"node_modules/braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"dependencies": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			},
 			"engines": {
 				"node": ">=8"
@@ -5781,9 +5794,9 @@
 			}
 		},
 		"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==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"dependencies": {
 				"to-regex-range": "^5.0.1"
@@ -9376,12 +9389,12 @@
 			}
 		},
 		"node_modules/micromatch": {
-			"version": "4.0.5",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
-			"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+			"version": "4.0.8",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+			"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
 			"dev": true,
 			"dependencies": {
-				"braces": "^3.0.2",
+				"braces": "^3.0.3",
 				"picomatch": "^2.3.1"
 			},
 			"engines": {
@@ -9506,10 +9519,16 @@
 			}
 		},
 		"node_modules/nanoid": {
-			"version": "3.3.4",
-			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
-			"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+			"version": "3.3.7",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+			"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
 			"dev": true,
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/ai"
+				}
+			],
 			"bin": {
 				"nanoid": "bin/nanoid.cjs"
 			},
@@ -9902,9 +9921,9 @@
 			}
 		},
 		"node_modules/picocolors": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
-			"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
+			"integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
 			"dev": true
 		},
 		"node_modules/picomatch": {
@@ -9950,9 +9969,9 @@
 			}
 		},
 		"node_modules/postcss": {
-			"version": "8.4.21",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
-			"integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
+			"version": "8.4.45",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz",
+			"integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==",
 			"dev": true,
 			"funding": [
 				{
@@ -9962,12 +9981,16 @@
 				{
 					"type": "tidelift",
 					"url": "https://tidelift.com/funding/github/npm/postcss"
+				},
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/ai"
 				}
 			],
 			"dependencies": {
-				"nanoid": "^3.3.4",
-				"picocolors": "^1.0.0",
-				"source-map-js": "^1.0.2"
+				"nanoid": "^3.3.7",
+				"picocolors": "^1.0.1",
+				"source-map-js": "^1.2.0"
 			},
 			"engines": {
 				"node": "^10 || ^12 || >=14"
@@ -10703,9 +10726,9 @@
 			}
 		},
 		"node_modules/source-map-js": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
-			"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+			"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.10.0"
@@ -11873,9 +11896,9 @@
 			}
 		},
 		"node_modules/ws": {
-			"version": "7.5.9",
-			"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
-			"integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+			"version": "7.5.10",
+			"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
+			"integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
 			"dev": true,
 			"engines": {
 				"node": ">=8.3.0"
@@ -12004,12 +12027,13 @@
 			}
 		},
 		"@babel/code-frame": {
-			"version": "7.18.6",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
-			"integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+			"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 			"dev": true,
 			"requires": {
-				"@babel/highlight": "^7.18.6"
+				"@babel/highlight": "^7.24.7",
+				"picocolors": "^1.0.0"
 			}
 		},
 		"@babel/compat-data": {
@@ -12042,25 +12066,26 @@
 			}
 		},
 		"@babel/generator": {
-			"version": "7.18.9",
-			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz",
-			"integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==",
+			"version": "7.25.6",
+			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz",
+			"integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==",
 			"dev": true,
 			"requires": {
-				"@babel/types": "^7.18.9",
-				"@jridgewell/gen-mapping": "^0.3.2",
+				"@babel/types": "^7.25.6",
+				"@jridgewell/gen-mapping": "^0.3.5",
+				"@jridgewell/trace-mapping": "^0.3.25",
 				"jsesc": "^2.5.1"
 			},
 			"dependencies": {
 				"@jridgewell/gen-mapping": {
-					"version": "0.3.2",
-					"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
-					"integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+					"version": "0.3.5",
+					"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+					"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
 					"dev": true,
 					"requires": {
-						"@jridgewell/set-array": "^1.0.1",
+						"@jridgewell/set-array": "^1.2.1",
 						"@jridgewell/sourcemap-codec": "^1.4.10",
-						"@jridgewell/trace-mapping": "^0.3.9"
+						"@jridgewell/trace-mapping": "^0.3.24"
 					}
 				}
 			}
@@ -12270,10 +12295,16 @@
 				"@babel/types": "^7.18.6"
 			}
 		},
+		"@babel/helper-string-parser": {
+			"version": "7.24.8",
+			"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
+			"integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
+			"dev": true
+		},
 		"@babel/helper-validator-identifier": {
-			"version": "7.18.6",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
-			"integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+			"integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
 			"dev": true
 		},
 		"@babel/helper-validator-option": {
@@ -12306,21 +12337,25 @@
 			}
 		},
 		"@babel/highlight": {
-			"version": "7.18.6",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
-			"integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+			"integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.18.6",
-				"chalk": "^2.0.0",
-				"js-tokens": "^4.0.0"
+				"@babel/helper-validator-identifier": "^7.24.7",
+				"chalk": "^2.4.2",
+				"js-tokens": "^4.0.0",
+				"picocolors": "^1.0.0"
 			}
 		},
 		"@babel/parser": {
-			"version": "7.18.9",
-			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz",
-			"integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==",
-			"dev": true
+			"version": "7.25.6",
+			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz",
+			"integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==",
+			"dev": true,
+			"requires": {
+				"@babel/types": "^7.25.6"
+			}
 		},
 		"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
 			"version": "7.18.6",
@@ -13093,41 +13128,39 @@
 			}
 		},
 		"@babel/template": {
-			"version": "7.18.6",
-			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz",
-			"integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==",
+			"version": "7.25.0",
+			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz",
+			"integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==",
 			"dev": true,
 			"requires": {
-				"@babel/code-frame": "^7.18.6",
-				"@babel/parser": "^7.18.6",
-				"@babel/types": "^7.18.6"
+				"@babel/code-frame": "^7.24.7",
+				"@babel/parser": "^7.25.0",
+				"@babel/types": "^7.25.0"
 			}
 		},
 		"@babel/traverse": {
-			"version": "7.18.9",
-			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz",
-			"integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==",
+			"version": "7.25.6",
+			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz",
+			"integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==",
 			"dev": true,
 			"requires": {
-				"@babel/code-frame": "^7.18.6",
-				"@babel/generator": "^7.18.9",
-				"@babel/helper-environment-visitor": "^7.18.9",
-				"@babel/helper-function-name": "^7.18.9",
-				"@babel/helper-hoist-variables": "^7.18.6",
-				"@babel/helper-split-export-declaration": "^7.18.6",
-				"@babel/parser": "^7.18.9",
-				"@babel/types": "^7.18.9",
-				"debug": "^4.1.0",
+				"@babel/code-frame": "^7.24.7",
+				"@babel/generator": "^7.25.6",
+				"@babel/parser": "^7.25.6",
+				"@babel/template": "^7.25.0",
+				"@babel/types": "^7.25.6",
+				"debug": "^4.3.1",
 				"globals": "^11.1.0"
 			}
 		},
 		"@babel/types": {
-			"version": "7.18.9",
-			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz",
-			"integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==",
+			"version": "7.25.6",
+			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz",
+			"integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.18.6",
+				"@babel/helper-string-parser": "^7.24.8",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"to-fast-properties": "^2.0.0"
 			}
 		},
@@ -13754,9 +13787,9 @@
 			"dev": true
 		},
 		"@jridgewell/set-array": {
-			"version": "1.1.2",
-			"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
-			"integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+			"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
 			"dev": true
 		},
 		"@jridgewell/sourcemap-codec": {
@@ -13766,13 +13799,13 @@
 			"dev": true
 		},
 		"@jridgewell/trace-mapping": {
-			"version": "0.3.14",
-			"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz",
-			"integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==",
+			"version": "0.3.25",
+			"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+			"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
 			"dev": true,
 			"requires": {
-				"@jridgewell/resolve-uri": "^3.0.3",
-				"@jridgewell/sourcemap-codec": "^1.4.10"
+				"@jridgewell/resolve-uri": "^3.1.0",
+				"@jridgewell/sourcemap-codec": "^1.4.14"
 			}
 		},
 		"@mdn/browser-compat-data": {
@@ -14872,12 +14905,12 @@
 			}
 		},
 		"braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"requires": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			}
 		},
 		"browser-process-hrtime": {
@@ -16273,9 +16306,9 @@
 			}
 		},
 		"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==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"requires": {
 				"to-regex-range": "^5.0.1"
@@ -18964,12 +18997,12 @@
 			"dev": true
 		},
 		"micromatch": {
-			"version": "4.0.5",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
-			"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+			"version": "4.0.8",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+			"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
 			"dev": true,
 			"requires": {
-				"braces": "^3.0.2",
+				"braces": "^3.0.3",
 				"picomatch": "^2.3.1"
 			}
 		},
@@ -19063,9 +19096,9 @@
 			}
 		},
 		"nanoid": {
-			"version": "3.3.4",
-			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
-			"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+			"version": "3.3.7",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+			"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
 			"dev": true
 		},
 		"natural-compare": {
@@ -19362,9 +19395,9 @@
 			"dev": true
 		},
 		"picocolors": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
-			"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
+			"integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
 			"dev": true
 		},
 		"picomatch": {
@@ -19395,14 +19428,14 @@
 			"dev": true
 		},
 		"postcss": {
-			"version": "8.4.21",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
-			"integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
+			"version": "8.4.45",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz",
+			"integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==",
 			"dev": true,
 			"requires": {
-				"nanoid": "^3.3.4",
-				"picocolors": "^1.0.0",
-				"source-map-js": "^1.0.2"
+				"nanoid": "^3.3.7",
+				"picocolors": "^1.0.1",
+				"source-map-js": "^1.2.0"
 			}
 		},
 		"postcss-html": {
@@ -19952,9 +19985,9 @@
 			"dev": true
 		},
 		"source-map-js": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
-			"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+			"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
 			"dev": true
 		},
 		"source-map-resolve": {
@@ -20874,9 +20907,9 @@
 			}
 		},
 		"ws": {
-			"version": "7.5.9",
-			"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
-			"integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+			"version": "7.5.10",
+			"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
+			"integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
 			"dev": true,
 			"requires": {}
 		},
-- 
2.39.2

$ date
--- stdout ---
Thu Sep  5 06:55:43 UTC 2024

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-MediaSearch.git repo --depth=1 -b REL1_41
--- stderr ---
Cloning into 'repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stdout ---

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/REL1_41
--- stdout ---
6e127ea80edcd8bbca70c292bfc014486752d477 refs/heads/REL1_41

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@babel/traverse": {
      "name": "@babel/traverse",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1096886,
          "name": "@babel/traverse",
          "dependency": "@babel/traverse",
          "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
          "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
          "severity": "critical",
          "cwe": [
            "CWE-184",
            "CWE-697"
          ],
          "cvss": {
            "score": 9.4,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
          },
          "range": "<7.23.2"
        }
      ],
      "effects": [],
      "range": "<7.23.2",
      "nodes": [
        "node_modules/@babel/traverse"
      ],
      "fixAvailable": true
    },
    "babel-core": {
      "name": "babel-core",
      "severity": "critical",
      "isDirect": true,
      "via": [
        "babel-helpers",
        "babel-register",
        "babel-template",
        "babel-traverse",
        "json5"
      ],
      "effects": [
        "babel-register"
      ],
      "range": "5.8.20 - 7.0.0-beta.3",
      "nodes": [
        "node_modules/babel-core"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "babel-helpers": {
      "name": "babel-helpers",
      "severity": "critical",
      "isDirect": false,
      "via": [
        "babel-template"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/babel-helpers"
      ],
      "fixAvailable": true
    },
    "babel-register": {
      "name": "babel-register",
      "severity": "high",
      "isDirect": false,
      "via": [
        "babel-core"
      ],
      "effects": [
        "babel-core"
      ],
      "range": "*",
      "nodes": [
        "node_modules/babel-register"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "babel-template": {
      "name": "babel-template",
      "severity": "critical",
      "isDirect": false,
      "via": [
        "babel-traverse"
      ],
      "effects": [
        "babel-helpers"
      ],
      "range": "*",
      "nodes": [
        "node_modules/babel-template"
      ],
      "fixAvailable": true
    },
    "babel-traverse": {
      "name": "babel-traverse",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1096879,
          "name": "babel-traverse",
          "dependency": "babel-traverse",
          "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
          "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
          "severity": "critical",
          "cwe": [
            "CWE-184",
            "CWE-697"
          ],
          "cvss": {
            "score": 9.4,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
          },
          "range": "<7.23.2"
        }
      ],
      "effects": [
        "babel-core",
        "babel-template"
      ],
      "range": "*",
      "nodes": [
        "node_modules/babel-traverse"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "braces": {
      "name": "braces",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098094,
          "name": "braces",
          "dependency": "braces",
          "title": "Uncontrolled resource consumption in braces",
          "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1050"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.3"
        }
      ],
      "effects": [],
      "range": "<3.0.3",
      "nodes": [
        "node_modules/braces"
      ],
      "fixAvailable": true
    },
    "json5": {
      "name": "json5",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1096543,
          "name": "json5",
          "dependency": "json5",
          "title": "Prototype Pollution in JSON5 via Parse Method",
          "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 7.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
          },
          "range": "<1.0.2"
        }
      ],
      "effects": [
        "babel-core"
      ],
      "range": "<1.0.2",
      "nodes": [
        "node_modules/babel-core/node_modules/json5"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "micromatch": {
      "name": "micromatch",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1098681,
          "name": "micromatch",
          "dependency": "micromatch",
          "title": "Regular Expression Denial of Service (ReDoS) in micromatch",
          "url": "https://github.com/advisories/GHSA-952p-6rrq-rcjv",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<4.0.8"
        }
      ],
      "effects": [],
      "range": "<4.0.8",
      "nodes": [
        "node_modules/micromatch"
      ],
      "fixAvailable": true
    },
    "postcss": {
      "name": "postcss",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1094544,
          "name": "postcss",
          "dependency": "postcss",
          "title": "PostCSS line return parsing error",
          "url": "https://github.com/advisories/GHSA-7fh5-64p2-3v2j",
          "severity": "moderate",
          "cwe": [
            "CWE-74",
            "CWE-144"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<8.4.31"
        }
      ],
      "effects": [],
      "range": "<8.4.31",
      "nodes": [
        "node_modules/postcss"
      ],
      "fixAvailable": true
    },
    "ws": {
      "name": "ws",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098393,
          "name": "ws",
          "dependency": "ws",
          "title": "ws affected by a DoS when handling a request with many HTTP headers",
          "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
          "severity": "high",
          "cwe": [
            "CWE-476"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=7.0.0 <7.5.10"
        }
      ],
      "effects": [],
      "range": "7.0.0 - 7.5.9",
      "nodes": [
        "node_modules/ws"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 2,
      "high": 4,
      "critical": 5,
      "total": 11
    },
    "dependencies": {
      "prod": 1,
      "dev": 985,
      "optional": 1,
      "peer": 1,
      "peerOptional": 0,
      "total": 985
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 36 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.3.1)
  - Locking composer/semver (3.3.2)
  - Locking composer/spdx-licenses (1.5.8)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking doctrine/deprecations (1.1.3)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v41.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.12.1)
  - Locking mediawiki/minus-x (1.1.1)
  - Locking mediawiki/phan-taint-check-plugin (4.0.0)
  - Locking microsoft/tolerant-php-parser (v0.1.1)
  - Locking netresearch/jsonmapper (v4.4.1)
  - Locking phan/phan (5.4.1)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.3.2)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.4.1)
  - Locking phpdocumentor/type-resolver (1.8.2)
  - Locking phpstan/phpdoc-parser (1.30.0)
  - Locking psr/container (2.0.2)
  - Locking psr/log (2.0.0)
  - Locking sabre/event (5.1.7)
  - Locking squizlabs/php_codesniffer (3.7.2)
  - Locking symfony/console (v5.4.43)
  - Locking symfony/deprecation-contracts (v3.5.0)
  - Locking symfony/polyfill-ctype (v1.30.0)
  - Locking symfony/polyfill-intl-grapheme (v1.30.0)
  - Locking symfony/polyfill-intl-normalizer (v1.30.0)
  - Locking symfony/polyfill-mbstring (v1.30.0)
  - Locking symfony/polyfill-php73 (v1.30.0)
  - Locking symfony/polyfill-php80 (v1.30.0)
  - Locking symfony/service-contracts (v3.5.0)
  - Locking symfony/string (v6.4.11)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 36 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing composer/pcre (3.3.1): Extracting archive
  - Installing symfony/polyfill-php80 (v1.30.0): Extracting archive
  - Installing squizlabs/php_codesniffer (3.7.2): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.30.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.8): Extracting archive
  - Installing composer/semver (3.3.2): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v41.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.30.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.30.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.30.0): Extracting archive
  - Installing symfony/string (v6.4.11): Extracting archive
  - Installing symfony/deprecation-contracts (v3.5.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.5.0): Extracting archive
  - Installing symfony/polyfill-php73 (v1.30.0): Extracting archive
  - Installing symfony/console (v5.4.43): Extracting archive
  - Installing sabre/event (5.1.7): Extracting archive
  - Installing netresearch/jsonmapper (v4.4.1): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.1): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (1.30.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.3): Extracting archive
  - Installing phpdocumentor/type-resolver (1.8.2): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.4.1): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (2.0.0): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (5.4.1): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (4.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.12.1): Extracting archive
  - Installing mediawiki/minus-x (1.1.1): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.3.2): Extracting archive
  0/36 [>---------------------------]   0%
 19/36 [==============>-------------]  52%
 33/36 [=========================>--]  91%
 36/36 [============================] 100%
3 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
15 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@babel/traverse": {
      "name": "@babel/traverse",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1096886,
          "name": "@babel/traverse",
          "dependency": "@babel/traverse",
          "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
          "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
          "severity": "critical",
          "cwe": [
            "CWE-184",
            "CWE-697"
          ],
          "cvss": {
            "score": 9.4,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
          },
          "range": "<7.23.2"
        }
      ],
      "effects": [],
      "range": "<7.23.2",
      "nodes": [
        "node_modules/@babel/traverse"
      ],
      "fixAvailable": true
    },
    "babel-core": {
      "name": "babel-core",
      "severity": "critical",
      "isDirect": true,
      "via": [
        "babel-helpers",
        "babel-register",
        "babel-template",
        "babel-traverse",
        "json5"
      ],
      "effects": [
        "babel-register"
      ],
      "range": "5.8.20 - 7.0.0-beta.3",
      "nodes": [
        "node_modules/babel-core"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "babel-helpers": {
      "name": "babel-helpers",
      "severity": "critical",
      "isDirect": false,
      "via": [
        "babel-template"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/babel-helpers"
      ],
      "fixAvailable": true
    },
    "babel-register": {
      "name": "babel-register",
      "severity": "high",
      "isDirect": false,
      "via": [
        "babel-core"
      ],
      "effects": [
        "babel-core"
      ],
      "range": "*",
      "nodes": [
        "node_modules/babel-register"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "babel-template": {
      "name": "babel-template",
      "severity": "critical",
      "isDirect": false,
      "via": [
        "babel-traverse"
      ],
      "effects": [
        "babel-helpers"
      ],
      "range": "*",
      "nodes": [
        "node_modules/babel-template"
      ],
      "fixAvailable": true
    },
    "babel-traverse": {
      "name": "babel-traverse",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1096879,
          "name": "babel-traverse",
          "dependency": "babel-traverse",
          "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
          "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
          "severity": "critical",
          "cwe": [
            "CWE-184",
            "CWE-697"
          ],
          "cvss": {
            "score": 9.4,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
          },
          "range": "<7.23.2"
        }
      ],
      "effects": [
        "babel-core",
        "babel-template"
      ],
      "range": "*",
      "nodes": [
        "node_modules/babel-traverse"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "braces": {
      "name": "braces",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098094,
          "name": "braces",
          "dependency": "braces",
          "title": "Uncontrolled resource consumption in braces",
          "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1050"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.3"
        }
      ],
      "effects": [],
      "range": "<3.0.3",
      "nodes": [
        "node_modules/braces"
      ],
      "fixAvailable": true
    },
    "json5": {
      "name": "json5",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1096543,
          "name": "json5",
          "dependency": "json5",
          "title": "Prototype Pollution in JSON5 via Parse Method",
          "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 7.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
          },
          "range": "<1.0.2"
        }
      ],
      "effects": [
        "babel-core"
      ],
      "range": "<1.0.2",
      "nodes": [
        "node_modules/babel-core/node_modules/json5"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "micromatch": {
      "name": "micromatch",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1098681,
          "name": "micromatch",
          "dependency": "micromatch",
          "title": "Regular Expression Denial of Service (ReDoS) in micromatch",
          "url": "https://github.com/advisories/GHSA-952p-6rrq-rcjv",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<4.0.8"
        }
      ],
      "effects": [],
      "range": "<4.0.8",
      "nodes": [
        "node_modules/micromatch"
      ],
      "fixAvailable": true
    },
    "postcss": {
      "name": "postcss",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1094544,
          "name": "postcss",
          "dependency": "postcss",
          "title": "PostCSS line return parsing error",
          "url": "https://github.com/advisories/GHSA-7fh5-64p2-3v2j",
          "severity": "moderate",
          "cwe": [
            "CWE-74",
            "CWE-144"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<8.4.31"
        }
      ],
      "effects": [],
      "range": "<8.4.31",
      "nodes": [
        "node_modules/postcss"
      ],
      "fixAvailable": true
    },
    "ws": {
      "name": "ws",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098393,
          "name": "ws",
          "dependency": "ws",
          "title": "ws affected by a DoS when handling a request with many HTTP headers",
          "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
          "severity": "high",
          "cwe": [
            "CWE-476"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=7.0.0 <7.5.10"
        }
      ],
      "effects": [],
      "range": "7.0.0 - 7.5.9",
      "nodes": [
        "node_modules/ws"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 2,
      "high": 4,
      "critical": 5,
      "total": 11
    },
    "dependencies": {
      "prod": 1,
      "dev": 985,
      "optional": 1,
      "peer": 1,
      "peerOptional": 0,
      "total": 985
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@es-joy/jsdoccomment@0.23.6',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'eslint-plugin-jsdoc@39.2.2',
npm WARN EBADENGINE   required: { node: '^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
  "added": 986,
  "removed": 0,
  "changed": 0,
  "audited": 987,
  "funding": 94,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "@babel/traverse": {
        "name": "@babel/traverse",
        "severity": "critical",
        "isDirect": false,
        "via": [
          {
            "source": 1096886,
            "name": "@babel/traverse",
            "dependency": "@babel/traverse",
            "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
            "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
            "severity": "critical",
            "cwe": [
              "CWE-184",
              "CWE-697"
            ],
            "cvss": {
              "score": 9.4,
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
            },
            "range": "<7.23.2"
          }
        ],
        "effects": [],
        "range": "<7.23.2",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "babel-core": {
        "name": "babel-core",
        "severity": "critical",
        "isDirect": true,
        "via": [
          "babel-helpers",
          "babel-register",
          "babel-template",
          "babel-traverse",
          "json5"
        ],
        "effects": [
          "babel-register"
        ],
        "range": "5.8.20 - 7.0.0-beta.3",
        "nodes": [
          "node_modules/babel-core"
        ],
        "fixAvailable": {
          "name": "babel-core",
          "version": "4.7.16",
          "isSemVerMajor": true
        }
      },
      "babel-helpers": {
        "name": "babel-helpers",
        "severity": "critical",
        "isDirect": false,
        "via": [
          "babel-template"
        ],
        "effects": [],
        "range": "*",
        "nodes": [
          "node_modules/babel-helpers"
        ],
        "fixAvailable": true
      },
      "babel-register": {
        "name": "babel-register",
        "severity": "high",
        "isDirect": false,
        "via": [
          "babel-core"
        ],
        "effects": [
          "babel-core"
        ],
        "range": "*",
        "nodes": [
          "node_modules/babel-register"
        ],
        "fixAvailable": {
          "name": "babel-core",
          "version": "4.7.16",
          "isSemVerMajor": true
        }
      },
      "babel-template": {
        "name": "babel-template",
        "severity": "critical",
        "isDirect": false,
        "via": [
          "babel-traverse"
        ],
        "effects": [
          "babel-helpers"
        ],
        "range": "*",
        "nodes": [
          "node_modules/babel-template"
        ],
        "fixAvailable": true
      },
      "babel-traverse": {
        "name": "babel-traverse",
        "severity": "critical",
        "isDirect": false,
        "via": [
          {
            "source": 1096879,
            "name": "babel-traverse",
            "dependency": "babel-traverse",
            "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
            "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
            "severity": "critical",
            "cwe": [
              "CWE-184",
              "CWE-697"
            ],
            "cvss": {
              "score": 9.4,
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
            },
            "range": "<7.23.2"
          }
        ],
        "effects": [
          "babel-core",
          "babel-template"
        ],
        "range": "*",
        "nodes": [
          "node_modules/babel-traverse"
        ],
        "fixAvailable": {
          "name": "babel-core",
          "version": "4.7.16",
          "isSemVerMajor": true
        }
      },
      "braces": {
        "name": "braces",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1098094,
            "name": "braces",
            "dependency": "braces",
            "title": "Uncontrolled resource consumption in braces",
            "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
            "severity": "high",
            "cwe": [
              "CWE-400",
              "CWE-1050"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<3.0.3"
          }
        ],
        "effects": [],
        "range": "<3.0.3",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "json5": {
        "name": "json5",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1096543,
            "name": "json5",
            "dependency": "json5",
            "title": "Prototype Pollution in JSON5 via Parse Method",
            "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
            "severity": "high",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 7.1,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
            },
            "range": "<1.0.2"
          }
        ],
        "effects": [
          "babel-core"
        ],
        "range": "<1.0.2",
        "nodes": [
          "node_modules/babel-core/node_modules/json5"
        ],
        "fixAvailable": {
          "name": "babel-core",
          "version": "4.7.16",
          "isSemVerMajor": true
        }
      },
      "micromatch": {
        "name": "micromatch",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1098681,
            "name": "micromatch",
            "dependency": "micromatch",
            "title": "Regular Expression Denial of Service (ReDoS) in micromatch",
            "url": "https://github.com/advisories/GHSA-952p-6rrq-rcjv",
            "severity": "moderate",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 5.3,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
            },
            "range": "<4.0.8"
          }
        ],
        "effects": [],
        "range": "<4.0.8",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "postcss": {
        "name": "postcss",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1094544,
            "name": "postcss",
            "dependency": "postcss",
            "title": "PostCSS line return parsing error",
            "url": "https://github.com/advisories/GHSA-7fh5-64p2-3v2j",
            "severity": "moderate",
            "cwe": [
              "CWE-74",
              "CWE-144"
            ],
            "cvss": {
              "score": 5.3,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
            },
            "range": "<8.4.31"
          }
        ],
        "effects": [],
        "range": "<8.4.31",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "ws": {
        "name": "ws",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1098393,
            "name": "ws",
            "dependency": "ws",
            "title": "ws affected by a DoS when handling a request with many HTTP headers",
            "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
            "severity": "high",
            "cwe": [
              "CWE-476"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": ">=7.0.0 <7.5.10"
          }
        ],
        "effects": [],
        "range": "7.0.0 - 7.5.9",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 2,
        "high": 4,
        "critical": 5,
        "total": 11
      },
      "dependencies": {
        "prod": 1,
        "dev": 986,
        "optional": 1,
        "peer": 1,
        "peerOptional": 0,
        "total": 986
      }
    }
  }
}

--- end ---
{"added": 986, "removed": 0, "changed": 0, "audited": 987, "funding": 94, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@babel/traverse": {"name": "@babel/traverse", "severity": "critical", "isDirect": false, "via": [{"source": 1096886, "name": "@babel/traverse", "dependency": "@babel/traverse", "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code", "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92", "severity": "critical", "cwe": ["CWE-184", "CWE-697"], "cvss": {"score": 9.4, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"}, "range": "<7.23.2"}], "effects": [], "range": "<7.23.2", "nodes": [""], "fixAvailable": true}, "babel-core": {"name": "babel-core", "severity": "critical", "isDirect": true, "via": ["babel-helpers", "babel-register", "babel-template", "babel-traverse", "json5"], "effects": ["babel-register"], "range": "5.8.20 - 7.0.0-beta.3", "nodes": ["node_modules/babel-core"], "fixAvailable": {"name": "babel-core", "version": "4.7.16", "isSemVerMajor": true}}, "babel-helpers": {"name": "babel-helpers", "severity": "critical", "isDirect": false, "via": ["babel-template"], "effects": [], "range": "*", "nodes": ["node_modules/babel-helpers"], "fixAvailable": true}, "babel-register": {"name": "babel-register", "severity": "high", "isDirect": false, "via": ["babel-core"], "effects": ["babel-core"], "range": "*", "nodes": ["node_modules/babel-register"], "fixAvailable": {"name": "babel-core", "version": "4.7.16", "isSemVerMajor": true}}, "babel-template": {"name": "babel-template", "severity": "critical", "isDirect": false, "via": ["babel-traverse"], "effects": ["babel-helpers"], "range": "*", "nodes": ["node_modules/babel-template"], "fixAvailable": true}, "babel-traverse": {"name": "babel-traverse", "severity": "critical", "isDirect": false, "via": [{"source": 1096879, "name": "babel-traverse", "dependency": "babel-traverse", "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code", "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92", "severity": "critical", "cwe": ["CWE-184", "CWE-697"], "cvss": {"score": 9.4, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"}, "range": "<7.23.2"}], "effects": ["babel-core", "babel-template"], "range": "*", "nodes": ["node_modules/babel-traverse"], "fixAvailable": {"name": "babel-core", "version": "4.7.16", "isSemVerMajor": true}}, "braces": {"name": "braces", "severity": "high", "isDirect": false, "via": [{"source": 1098094, "name": "braces", "dependency": "braces", "title": "Uncontrolled resource consumption in braces", "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg", "severity": "high", "cwe": ["CWE-400", "CWE-1050"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.0.3"}], "effects": [], "range": "<3.0.3", "nodes": [""], "fixAvailable": true}, "json5": {"name": "json5", "severity": "high", "isDirect": false, "via": [{"source": 1096543, "name": "json5", "dependency": "json5", "title": "Prototype Pollution in JSON5 via Parse Method", "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h", "severity": "high", "cwe": ["CWE-1321"], "cvss": {"score": 7.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"}, "range": "<1.0.2"}], "effects": ["babel-core"], "range": "<1.0.2", "nodes": ["node_modules/babel-core/node_modules/json5"], "fixAvailable": {"name": "babel-core", "version": "4.7.16", "isSemVerMajor": true}}, "micromatch": {"name": "micromatch", "severity": "moderate", "isDirect": false, "via": [{"source": 1098681, "name": "micromatch", "dependency": "micromatch", "title": "Regular Expression Denial of Service (ReDoS) in micromatch", "url": "https://github.com/advisories/GHSA-952p-6rrq-rcjv", "severity": "moderate", "cwe": ["CWE-1333"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"}, "range": "<4.0.8"}], "effects": [], "range": "<4.0.8", "nodes": [""], "fixAvailable": true}, "postcss": {"name": "postcss", "severity": "moderate", "isDirect": false, "via": [{"source": 1094544, "name": "postcss", "dependency": "postcss", "title": "PostCSS line return parsing error", "url": "https://github.com/advisories/GHSA-7fh5-64p2-3v2j", "severity": "moderate", "cwe": ["CWE-74", "CWE-144"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"}, "range": "<8.4.31"}], "effects": [], "range": "<8.4.31", "nodes": [""], "fixAvailable": true}, "ws": {"name": "ws", "severity": "high", "isDirect": false, "via": [{"source": 1098393, "name": "ws", "dependency": "ws", "title": "ws affected by a DoS when handling a request with many HTTP headers", "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q", "severity": "high", "cwe": ["CWE-476"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": ">=7.0.0 <7.5.10"}], "effects": [], "range": "7.0.0 - 7.5.9", "nodes": [""], "fixAvailable": true}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 2, "high": 4, "critical": 5, "total": 11}, "dependencies": {"prod": 1, "dev": 986, "optional": 1, "peer": 1, "peerOptional": 0, "total": 986}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@es-joy/jsdoccomment@0.23.6',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'eslint-plugin-jsdoc@39.2.2',
npm WARN EBADENGINE   required: { node: '^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated sourcemap-codec@1.4.8: Please use @jridgewell/sourcemap-codec instead
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---

added 985 packages, and audited 986 packages in 10s

94 packages are looking for funding
  run `npm fund` for details

# npm audit report

babel-traverse  *
Severity: critical
Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code - https://github.com/advisories/GHSA-67hx-6x53-jw92
fix available via `npm audit fix --force`
Will install babel-core@4.7.16, which is a breaking change
node_modules/babel-traverse
  babel-core  5.8.20 - 7.0.0-beta.3
  Depends on vulnerable versions of babel-helpers
  Depends on vulnerable versions of babel-register
  Depends on vulnerable versions of babel-template
  Depends on vulnerable versions of babel-traverse
  Depends on vulnerable versions of json5
  node_modules/babel-core
    babel-register  *
    Depends on vulnerable versions of babel-core
    node_modules/babel-register
  babel-template  *
  Depends on vulnerable versions of babel-traverse
  node_modules/babel-template
    babel-helpers  *
    Depends on vulnerable versions of babel-template
    node_modules/babel-helpers

json5  <1.0.2
Severity: high
Prototype Pollution in JSON5 via Parse Method - https://github.com/advisories/GHSA-9c47-m6qq-7p4h
fix available via `npm audit fix --force`
Will install babel-core@4.7.16, which is a breaking change
node_modules/babel-core/node_modules/json5

6 vulnerabilities (2 high, 4 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@es-joy/jsdoccomment@0.23.6',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'eslint-plugin-jsdoc@39.2.2',
npm WARN EBADENGINE   required: { node: '^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated sourcemap-codec@1.4.8: Please use @jridgewell/sourcemap-codec instead
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---

added 985 packages, and audited 986 packages in 9s

94 packages are looking for funding
  run `npm fund` for details

6 vulnerabilities (2 high, 4 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stderr ---
PASS tests/jest/store/mutations.test.js
PASS tests/jest/store/actions.test.js
  ● Console

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:334:7
          at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
          at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
          at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
          at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
          at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512:7) undefined

      at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
      at process (node_modules/jquery/dist/jquery.js:3561:29)
      at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:334:7
          at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
          at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
          at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
          at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
          at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512:7) undefined

      at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
      at process (node_modules/jquery/dist/jquery.js:3561:29)
      at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:334:7
          at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
          at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
          at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
          at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
          at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512:7) undefined

      at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
      at process (node_modules/jquery/dist/jquery.js:3561:29)
      at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:334:7
          at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
          at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
          at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
          at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
          at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512:7) undefined

      at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
      at process (node_modules/jquery/dist/jquery.js:3561:29)
      at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:334:7
          at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
          at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
          at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
          at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
          at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512:7) undefined

      at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
      at process (node_modules/jquery/dist/jquery.js:3561:29)
      at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:334:7
          at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
          at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
          at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
          at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
          at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512:7) undefined

      at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
      at process (node_modules/jquery/dist/jquery.js:3561:29)
      at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:334:7
          at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
          at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
          at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
          at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
          at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512:7) undefined

      at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
      at process (node_modules/jquery/dist/jquery.js:3561:29)
      at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:334:7
          at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
          at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
          at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
          at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
          at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512:7) undefined

      at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
      at process (node_modules/jquery/dist/jquery.js:3561:29)
      at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:334:7
          at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
          at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
          at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
          at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
          at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512:7) undefined

      at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
      at process (node_modules/jquery/dist/jquery.js:3561:29)
      at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:334:7
          at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
          at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
          at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
          at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
          at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512:7) undefined

      at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
      at process (node_modules/jquery/dist/jquery.js:3561:29)
      at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:334:7
          at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
          at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
          at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
          at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
          at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512:7) undefined

      at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
      at process (node_modules/jquery/dist/jquery.js:3561:29)
      at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:334:7
          at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
          at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
          at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
          at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
          at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512:7) undefined

      at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
      at process (node_modules/jquery/dist/jquery.js:3561:29)
      at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:334:7
          at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
          at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
          at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
          at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
          at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512:7) undefined

      at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
      at process (node_modules/jquery/dist/jquery.js:3561:29)
      at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:334:7
          at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
          at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
          at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
          at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
          at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512:7) undefined

      at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
      at process (node_modules/jquery/dist/jquery.js:3561:29)
      at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:334:7
          at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
          at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
          at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
          at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
          at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512:7) undefined

      at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
      at process (node_modules/jquery/dist/jquery.js:3561:29)
      at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:516:19)

PASS tests/jest/components/QuickView.test.js
  ● Console

    console.warn
      [Vue warn]: Property "rootClasses" was accessed during render but is not defined on instance. 
        at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
        {
          size: 3017217,
          width: 2484,
          height: 1870,
          thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
          thumbwidth: 239,
          thumbheight: 180,
          responsiveUrls: {
            '2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
            '1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
          },
          url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
          descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
          descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
          extmetadata: {
            DateTime: [Object],
            ObjectName: [Object],
            CommonsMetadataExtension: [Object],
            Categories: [Object],
            Assessments: [Object],
            ImageDescription: [Object],
            DateTimeOriginal: [Object],
            Credit: [Object],
            Artist: [Object],
            Permission: [Object],
            LicenseShortName: [Object],
            UsageTerms: [Object],
            AttributionRequired: [Object],
            Attribution: [Object],
            LicenseUrl: [Object],
            Copyrighted: [Object],
            Restrictions: [Object],
            License: [Object]
          },
          mime: 'image/jpeg'
        }
      ]  ... > 
        at <VTUROOT>

      596 | 				return null;
      597 | 			}
    > 598 | 		},
          | 		  ^
      599 |
      600 | 		mimeType: function () {
      601 | 			return this.imageinfo[ 0 ].mime;

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at Object.rootClasses [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3134:17)
      at Proxy.render (resources/components/QuickView.vue:598:64)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:890:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5508:57)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5622:56)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5636:9)

    console.warn
      [Vue warn]: Property "isImage" was accessed during render but is not defined on instance. 
        at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
        {
          size: 3017217,
          width: 2484,
          height: 1870,
          thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
          thumbwidth: 239,
          thumbheight: 180,
          responsiveUrls: {
            '2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
            '1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
          },
          url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
          descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
          descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
          extmetadata: {
            DateTime: [Object],
            ObjectName: [Object],
            CommonsMetadataExtension: [Object],
            Categories: [Object],
            Assessments: [Object],
            ImageDescription: [Object],
            DateTimeOriginal: [Object],
            Credit: [Object],
            Artist: [Object],
            Permission: [Object],
            LicenseShortName: [Object],
            UsageTerms: [Object],
            AttributionRequired: [Object],
            Attribution: [Object],
            LicenseUrl: [Object],
            Copyrighted: [Object],
            Restrictions: [Object],
            License: [Object]
          },
          mime: 'image/jpeg'
        }
      ]  ... > 
        at <VTUROOT>

      604 | 		playerOptions: function () {
      605 | 			if ( this.isVideo || this.isAudio ) {
    > 606 | 				return {
          | 				        ^
      607 | 					autoplay: false,
      608 | 					controls: true,
      609 | 					fluid: true,

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at Object.isImage [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3134:17)
      at Proxy.render (resources/components/QuickView.vue:606:64)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:890:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5508:57)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5622:56)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5636:9)

    console.warn
      [Vue warn]: Property "isVideo" was accessed during render but is not defined on instance. 
        at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
        {
          size: 3017217,
          width: 2484,
          height: 1870,
          thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
          thumbwidth: 239,
          thumbheight: 180,
          responsiveUrls: {
            '2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
            '1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
          },
          url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
          descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
          descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
          extmetadata: {
            DateTime: [Object],
            ObjectName: [Object],
            CommonsMetadataExtension: [Object],
            Categories: [Object],
            Assessments: [Object],
            ImageDescription: [Object],
            DateTimeOriginal: [Object],
            Credit: [Object],
            Artist: [Object],
            Permission: [Object],
            LicenseShortName: [Object],
            UsageTerms: [Object],
            AttributionRequired: [Object],
            Attribution: [Object],
            LicenseUrl: [Object],
            Copyrighted: [Object],
            Restrictions: [Object],
            License: [Object]
          },
          mime: 'image/jpeg'
        }
      ]  ... > 
        at <VTUROOT>

      620 | 		/**
      621 | 		 * Emit a close event. If the user triggered this from the keyboard instead
    > 622 | 		 * of by clicking, add an additional parameter so that the parent knows to
          | 		                                                                          ^
      623 | 		 * restore focus to the originating search result.
      624 | 		 *
      625 | 		 * @param {Event} event

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at Object.isVideo [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3134:17)
      at Proxy.render (resources/components/QuickView.vue:622:88)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:890:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5508:57)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5622:56)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5636:9)

    console.warn
      [Vue warn]: Property "isAudio" was accessed during render but is not defined on instance. 
        at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
        {
          size: 3017217,
          width: 2484,
          height: 1870,
          thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
          thumbwidth: 239,
          thumbheight: 180,
          responsiveUrls: {
            '2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
            '1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
          },
          url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
          descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
          descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
          extmetadata: {
            DateTime: [Object],
            ObjectName: [Object],
            CommonsMetadataExtension: [Object],
            Categories: [Object],
            Assessments: [Object],
            ImageDescription: [Object],
            DateTimeOriginal: [Object],
            Credit: [Object],
            Artist: [Object],
            Permission: [Object],
            LicenseShortName: [Object],
            UsageTerms: [Object],
            AttributionRequired: [Object],
            Attribution: [Object],
            LicenseUrl: [Object],
            Copyrighted: [Object],
            Restrictions: [Object],
            License: [Object]
          },
          mime: 'image/jpeg'
        }
      ]  ... > 
        at <VTUROOT>

      620 | 		/**
      621 | 		 * Emit a close event. If the user triggered this from the keyboard instead
    > 622 | 		 * of by clicking, add an additional parameter so that the parent knows to
          | 		                                                                          ^
      623 | 		 * restore focus to the originating search result.
      624 | 		 *
      625 | 		 * @param {Event} event

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at Object.isAudio [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3134:17)
      at Proxy.render (resources/components/QuickView.vue:622:104)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:890:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5508:57)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5622:56)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5636:9)

    console.warn
      [Vue warn]: Property "displayName" was accessed during render but is not defined on instance. 
        at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
        {
          size: 3017217,
          width: 2484,
          height: 1870,
          thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
          thumbwidth: 239,
          thumbheight: 180,
          responsiveUrls: {
            '2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
            '1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
          },
          url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
          descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
          descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
          extmetadata: {
            DateTime: [Object],
            ObjectName: [Object],
            CommonsMetadataExtension: [Object],
            Categories: [Object],
            Assessments: [Object],
            ImageDescription: [Object],
            DateTimeOriginal: [Object],
            Credit: [Object],
            Artist: [Object],
            Permission: [Object],
            LicenseShortName: [Object],
            UsageTerms: [Object],
            AttributionRequired: [Object],
            Attribution: [Object],
            LicenseUrl: [Object],
            Copyrighted: [Object],
            Restrictions: [Object],
            License: [Object]
          },
          mime: 'image/jpeg'
        }
      ]  ... > 
        at <VTUROOT>

      658 | 		},
      659 |
    > 660 | 		/**
          | 		   ^
      661 | 		 * Set the height of the div wrapping the thumbnail image to the display
      662 | 		 * height of that image to avoid a layout jump when the image loads.
      663 | 		 */

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at Object.displayName [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3134:17)
      at Proxy.render (resources/components/QuickView.vue:660:503)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:890:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5508:57)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5622:56)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5636:9)

    console.warn
      [Vue warn]: Property "description" was accessed during render but is not defined on instance. 
        at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
        {
          size: 3017217,
          width: 2484,
          height: 1870,
          thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
          thumbwidth: 239,
          thumbheight: 180,
          responsiveUrls: {
            '2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
            '1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
          },
          url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
          descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
          descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
          extmetadata: {
            DateTime: [Object],
            ObjectName: [Object],
            CommonsMetadataExtension: [Object],
            Categories: [Object],
            Assessments: [Object],
            ImageDescription: [Object],
            DateTimeOriginal: [Object],
            Credit: [Object],
            Artist: [Object],
            Permission: [Object],
            LicenseShortName: [Object],
            UsageTerms: [Object],
            AttributionRequired: [Object],
            Attribution: [Object],
            LicenseUrl: [Object],
            Copyrighted: [Object],
            Restrictions: [Object],
            License: [Object]
          },
          mime: 'image/jpeg'
        }
      ]  ... > 
        at <VTUROOT>

      662 | 		 * height of that image to avoid a layout jump when the image loads.
      663 | 		 */
    > 664 | 		getThumbnailWrapperStyle: function () {
          | 		                                       ^
      665 | 			var imgWidth, imgHeight, elWidth, height;
      666 |
      667 | 			if ( !this.imageinfo ) {

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at Object.description [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3134:17)
      at Proxy.render (resources/components/QuickView.vue:664:139)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:890:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5508:57)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5622:56)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5636:9)

    console.warn
      [Vue warn]: Property "artist" was accessed during render but is not defined on instance. 
        at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
        {
          size: 3017217,
          width: 2484,
          height: 1870,
          thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
          thumbwidth: 239,
          thumbheight: 180,
          responsiveUrls: {
            '2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
            '1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
          },
          url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
          descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
          descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
          extmetadata: {
            DateTime: [Object],
            ObjectName: [Object],
            CommonsMetadataExtension: [Object],
            Categories: [Object],
            Assessments: [Object],
            ImageDescription: [Object],
            DateTimeOriginal: [Object],
            Credit: [Object],
            Artist: [Object],
            Permission: [Object],
            LicenseShortName: [Object],
            UsageTerms: [Object],
            AttributionRequired: [Object],
            Attribution: [Object],
            LicenseUrl: [Object],
            Copyrighted: [Object],
            Restrictions: [Object],
            License: [Object]
          },
          mime: 'image/jpeg'
        }
      ]  ... > 
        at <VTUROOT>

      664 | 		getThumbnailWrapperStyle: function () {
      665 | 			var imgWidth, imgHeight, elWidth, height;
    > 666 |
          | ^
      667 | 			if ( !this.imageinfo ) {
      668 | 				return;
      669 | 			}

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at Object.artist [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3134:17)
      at Proxy.render (resources/components/QuickView.vue:666:94)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:890:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5508:57)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5622:56)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5636:9)

    console.warn
      [Vue warn]: Property "licenseText" was accessed during render but is not defined on instance. 
        at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
        {
          size: 3017217,
          width: 2484,
          height: 1870,
          thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
          thumbwidth: 239,
          thumbheight: 180,
          responsiveUrls: {
            '2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
            '1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
          },
          url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
          descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
          descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
          extmetadata: {
            DateTime: [Object],
            ObjectName: [Object],
            CommonsMetadataExtension: [Object],
            Categories: [Object],
            Assessments: [Object],
            ImageDescription: [Object],
            DateTimeOriginal: [Object],
            Credit: [Object],
            Artist: [Object],
            Permission: [Object],
            LicenseShortName: [Object],
            UsageTerms: [Object],
            AttributionRequired: [Object],
            Attribution: [Object],
            LicenseUrl: [Object],
            Copyrighted: [Object],
            Restrictions: [Object],
            License: [Object]
          },
          mime: 'image/jpeg'
        }
      ]  ... > 
        at <VTUROOT>

      668 | 				return;
      669 | 			}
    > 670 |
          | ^
      671 | 			imgWidth = this.imageinfo[ 0 ].width;
      672 | 			imgHeight = this.imageinfo[ 0 ].height;
      673 | 			elWidth = this.$refs.header.offsetWidth;

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at Object.licenseText [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3134:17)
      at Proxy.render (resources/components/QuickView.vue:670:234)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:890:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5508:57)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5622:56)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5636:9)

    console.warn
      [Vue warn]: Property "displayName" was accessed during render but is not defined on instance. 
        at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
        {
          size: 3017217,
          width: 2484,
          height: 1870,
          thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
          thumbwidth: 239,
          thumbheight: 180,
          responsiveUrls: {
            '2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
            '1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
          },
          url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
          descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
          descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
          extmetadata: {
            DateTime: [Object],
            ObjectName: [Object],
            CommonsMetadataExtension: [Object],
            Categories: [Object],
            Assessments: [Object],
            ImageDescription: [Object],
            DateTimeOriginal: [Object],
            Credit: [Object],
            Artist: [Object],
            Permission: [Object],
            LicenseShortName: [Object],
            UsageTerms: [Object],
            AttributionRequired: [Object],
            Attribution: [Object],
            LicenseUrl: [Object],
            Copyrighted: [Object],
            Restrictions: [Object],
            License: [Object]
          },
          mime: 'image/jpeg'
        }
      ]  ... > 
        at <VTUROOT>

      682 | 				);
      683 | 			} else {
    > 684 | 				// A portrait-oriented image could be limited by several
          | 				                                                        ^
      685 | 				// constraints: the natural image height (e.g. an original file
      686 | 				// that's only 200px tall), the CSS-enforced max-height of the
      687 | 				// image (60vh), or the max-width of the container.

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at Object.displayName [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3134:17)
      at Proxy.render (resources/components/QuickView.vue:684:197)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:890:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5508:57)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5622:56)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5636:9)

    console.warn
      [Vue warn]: Property "displayNameWithoutExtension" was accessed during render but is not defined on instance. 
        at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
        {
          size: 3017217,
          width: 2484,
          height: 1870,
          thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
          thumbwidth: 239,
          thumbheight: 180,
          responsiveUrls: {
            '2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
            '1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
          },
          url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
          descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
          descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
          extmetadata: {
            DateTime: [Object],
            ObjectName: [Object],
            CommonsMetadataExtension: [Object],
            Categories: [Object],
            Assessments: [Object],
            ImageDescription: [Object],
            DateTimeOriginal: [Object],
            Credit: [Object],
            Artist: [Object],
            Permission: [Object],
            LicenseShortName: [Object],
            UsageTerms: [Object],
            AttributionRequired: [Object],
            Attribution: [Object],
            LicenseUrl: [Object],
            Copyrighted: [Object],
            Restrictions: [Object],
            License: [Object]
          },
          mime: 'image/jpeg'
        }
      ]  ... > 
        at <VTUROOT>

      688 | 				height = Math.min(
      689 | 					imgHeight,
    > 690 | 					window.innerHeight * 0.6,
          | 					                         ^
      691 | 					( imgHeight * elWidth ) / imgWidth
      692 | 				);
      693 | 			}

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at Object.displayNameWithoutExtension [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3134:17)
      at Proxy.render (resources/components/QuickView.vue:690:106)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:890:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5508:57)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5622:56)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5636:9)

    console.warn
      [Vue warn]: Property "creationDate" was accessed during render but is not defined on instance. 
        at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
        {
          size: 3017217,
          width: 2484,
          height: 1870,
          thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
          thumbwidth: 239,
          thumbheight: 180,
          responsiveUrls: {
            '2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
            '1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
          },
          url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
          descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
          descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
          extmetadata: {
            DateTime: [Object],
            ObjectName: [Object],
            CommonsMetadataExtension: [Object],
            Categories: [Object],
            Assessments: [Object],
            ImageDescription: [Object],
            DateTimeOriginal: [Object],
            Credit: [Object],
            Artist: [Object],
            Permission: [Object],
            LicenseShortName: [Object],
            UsageTerms: [Object],
            AttributionRequired: [Object],
            Attribution: [Object],
            LicenseUrl: [Object],
            Copyrighted: [Object],
            Restrictions: [Object],
            License: [Object]
          },
          mime: 'image/jpeg'
        }
      ]  ... > 
        at <VTUROOT>

      695 | 			// For very short images, we need to add some vertical padding so
      696 | 			// that the content below the image doesn't crowd the absolutely-
    > 697 | 			// positioned controls.
          | 			                       ^
      698 | 			if ( height < 100 ) {
      699 | 				height += 30;
      700 | 				// We'll use this to add a class to the image to add 15px of

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at Object.creationDate [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3134:17)
      at Proxy.render (resources/components/QuickView.vue:697:240)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:890:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5508:57)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5622:56)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5636:9)

    console.warn
      [Vue warn]: Property "resolution" was accessed during render but is not defined on instance. 
        at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
        {
          size: 3017217,
          width: 2484,
          height: 1870,
          thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
          thumbwidth: 239,
          thumbheight: 180,
          responsiveUrls: {
            '2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
            '1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
          },
          url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
          descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
          descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
          extmetadata: {
            DateTime: [Object],
            ObjectName: [Object],
            CommonsMetadataExtension: [Object],
            Categories: [Object],
            Assessments: [Object],
            ImageDescription: [Object],
            DateTimeOriginal: [Object],
            Credit: [Object],
            Artist: [Object],
            Permission: [Object],
            LicenseShortName: [Object],
            UsageTerms: [Object],
            AttributionRequired: [Object],
            Attribution: [Object],
            LicenseUrl: [Object],
            Copyrighted: [Object],
            Restrictions: [Object],
            License: [Object]
          },
          mime: 'image/jpeg'
        }
      ]  ... > 
        at <VTUROOT>

      699 | 				height += 30;
      700 | 				// We'll use this to add a class to the image to add 15px of
    > 701 | 				// top and bottom padding.
          | 				                          ^
      702 | 				this.isExtraSmall = true;
      703 | 			}
      704 |

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at Object.resolution [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3134:17)
      at Proxy.render (resources/components/QuickView.vue:701:94)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:890:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5508:57)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5622:56)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5636:9)

    console.warn
      [Vue warn]: Property "mimeType" was accessed during render but is not defined on instance. 
        at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
        {
          size: 3017217,
          width: 2484,
          height: 1870,
          thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
          thumbwidth: 239,
          thumbheight: 180,
          responsiveUrls: {
            '2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
            '1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
          },
          url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
          descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
          descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
          extmetadata: {
            DateTime: [Object],
            ObjectName: [Object],
            CommonsMetadataExtension: [Object],
            Categories: [Object],
            Assessments: [Object],
            ImageDescription: [Object],
            DateTimeOriginal: [Object],
            Credit: [Object],
            Artist: [Object],
            Permission: [Object],
            LicenseShortName: [Object],
            UsageTerms: [Object],
            AttributionRequired: [Object],
            Attribution: [Object],
            LicenseUrl: [Object],
            Copyrighted: [Object],
            Restrictions: [Object],
            License: [Object]
          },
          mime: 'image/jpeg'
        }
      ]  ... > 
        at <VTUROOT>

      701 | 				// top and bottom padding.
      702 | 				this.isExtraSmall = true;
    > 703 | 			}
          | 			 ^
      704 |
      705 | 			this.thumbnailWrapperStyle = {
      706 | 				height: height + 'px',

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at Object.mimeType [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3134:17)
      at Proxy.render (resources/components/QuickView.vue:703:265)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:890:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5508:57)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5622:56)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5636:9)

PASS tests/jest/components/SearchResults.test.js
PASS tests/jest/mixins/autocompleteLookupHandler.test.js (9.864 s)
PASS tests/jest/components/base/autocompleteSearchInput.test.js (9.757 s)
  ● Console

    console.warn
      [Vue warn]: Invalid prop: type check failed for prop "modelValue". Expected String | Number, got Object  
        at <CdxTextInput id="tab__input" ref="input" modelValue= { value: 'active' }  ... > 
        at <SdAutocompleteSearchInput name="tab" label="actions" lookupResults= [ { value: 'active' } ]  ... > 
        at <VTUROOT>

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4035:13)
      at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4006:9)
      at updateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3819:9)
      at updateComponentPreRender (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5643:9)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5561:21)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)
      at Object.instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5622:56)

PASS tests/jest/mixins/restoreHistoryHandler.test.js
PASS tests/jest/components/NamespaceFilterDialog.test.js
PASS tests/jest/components/app.test.js (13.076 s)
PASS tests/jest/mixins/observer.test.js
PASS tests/jest/components/base/select.test.js
PASS tests/jest/store/store.test.js
PASS tests/jest/components/SearchFilters.test.js
PASS tests/jest/components/results/pageResult.test.js
PASS tests/jest/components/results/ImageResult.test.js
PASS tests/jest/components/results/videoResult.test.js
PASS tests/jest/components/results/otherResult.test.js
PASS tests/jest/components/base/dialog.test.js
PASS tests/jest/components/base/selectMenu.test.js
PASS tests/jest/store/getters.test.js
PASS tests/jest/components/results/audioResult.test.js
PASS tests/jest/components/base/copyTextLayout.test.js
PASS tests/jest/components/UserNotice.test.js
PASS tests/jest/components/base/player.test.js
PASS tests/jest/components/base/image.test.js
PASS tests/jest/components/DidYouMean.test.js
PASS tests/jest/components/NoResults.test.js
PASS tests/jest/components/EmptyState.test.js
  ● Console

    console.warn
      [Vue warn]: Invalid VNode type: Symbol(Comment) (symbol) 
        at <EmptyState ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4987:21)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5515:21)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5622:56)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5636:9)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5418:9)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5376:17)

    console.warn
      [Vue warn]: Invalid VNode type: Symbol(Comment) (symbol) 
        at <EmptyState ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4987:21)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5163:13)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5073:17)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5055:13)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4975:21)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5515:21)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)

    console.warn
      [Vue warn]: Invalid VNode type: Symbol(Comment) (symbol) 
        at <EmptyState ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4987:21)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5163:13)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5073:17)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5055:13)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4975:21)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5515:21)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)

    console.warn
      [Vue warn]: Invalid VNode type: Symbol(Comment) (symbol) 
        at <EmptyState ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:40:17)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4987:21)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5163:13)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5073:17)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5055:13)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4975:21)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5515:21)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:189:25)

PASS tests/jest/components/EndOfResults.test.js
PASS tests/jest/components/Spinner.test.js

Test Suites: 30 passed, 30 total
Tests:       6 todo, 467 passed, 473 total
Snapshots:   0 total
Time:        19.607 s
Ran all test suites.
--- stdout ---

> media-search@0.1.0 test
> grunt test && npm run test:unit

Running "eslint:all" (eslint) task

Running "stylelint:all" (stylelint) task
>> Linted 51 files without errors

Running "banana:0" (banana) task
>> 1 message directory checked.

Running "banana:1" (banana) task
>> 1 message directory checked.

Running "banana:2" (banana) task
>> 1 message directory checked.

Running "banana:3" (banana) task
>> 1 message directory checked.

Running "banana:4" (banana) task
>> 1 message directory checked.

Done.

> media-search@0.1.0 test:unit
> jest

----------------------------------|---------|----------|---------|---------|----------------------------------------------------
File                              | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                  
----------------------------------|---------|----------|---------|---------|----------------------------------------------------
All files                         |   88.86 |    76.65 |   91.88 |   88.86 |                                                    
 resources                        |   55.55 |    33.33 |      60 |   55.55 |                                                    
  constants.js                    |     100 |      100 |     100 |     100 |                                                    
  ensureArray.js                  |       0 |        0 |       0 |       0 | 14-24                                              
  getLocationAgnosticMwApi.js     |   81.81 |       50 |     100 |   81.81 | 13,34                                              
 resources/components             |   88.93 |     78.7 |      93 |   88.93 |                                                    
  App.vue                         |   75.29 |       50 |      80 |   75.29 | 219-222,296,302,369-378,401-415,433-437            
  DidYouMean.vue                  |     100 |      100 |     100 |     100 |                                                    
  EmptyState.vue                  |     100 |      100 |     100 |     100 |                                                    
  EndOfResults.vue                |     100 |      100 |     100 |     100 |                                                    
  NamespaceFilterDialog.vue       |     100 |      100 |     100 |     100 |                                                    
  NoResults.vue                   |     100 |      100 |     100 |     100 |                                                    
  QuickView.vue                   |   92.68 |    87.35 |   94.87 |   92.68 | 554-582,655-656,668,723                            
  SearchError.vue                 |     100 |      100 |     100 |     100 |                                                    
  SearchFilters.vue               |   97.36 |    77.77 |   96.66 |   97.36 | 217,238                                            
  SearchResults.vue               |   84.25 |    74.07 |   93.33 |   84.25 | 439-460,516-532                                    
  Spinner.vue                     |     100 |      100 |     100 |     100 |                                                    
  UserNotice.vue                  |     100 |      100 |     100 |     100 |                                                    
 resources/components/base        |   88.26 |    78.31 |    90.8 |   88.26 |                                                    
  AutocompleteSearchInput.vue     |   80.39 |       64 |   84.61 |   80.39 | 224-232,302,388-404,419-420                        
  CopyTextLayout.vue              |     100 |      100 |     100 |     100 |                                                    
  Dialog.vue                      |     100 |      100 |     100 |     100 |                                                    
  Image.vue                       |     100 |      100 |     100 |     100 |                                                    
  Observer.vue                    |   66.66 |      100 |       0 |   66.66 | 38                                                 
  Player.vue                      |     100 |      100 |    87.5 |     100 |                                                    
  Select.vue                      |      80 |       64 |    90.9 |      80 | 167,320-341,362                                    
  SelectMenu.vue                  |   95.83 |      100 |     100 |   95.83 | 205                                                
 resources/components/base/mixins |   95.23 |    78.94 |    87.5 |   95.23 |                                                    
  observer.js                     |   95.23 |    78.94 |    87.5 |   95.23 | 59                                                 
 resources/components/results     |   90.16 |    56.25 |     100 |   90.16 |                                                    
  AudioResult.vue                 |     100 |      100 |     100 |     100 |                                                    
  ImageResult.vue                 |   92.85 |        0 |     100 |   92.85 | 112                                                
  OtherResult.vue                 |   88.88 |       70 |     100 |   88.88 | 82,96                                              
  PageResult.vue                  |   82.35 |       40 |     100 |   82.35 | 122,173,177                                        
  VideoResult.vue                 |     100 |      100 |     100 |     100 |                                                    
 resources/mixins                 |   93.28 |    75.34 |   94.73 |   93.28 |                                                    
  autocompleteLookupHandler.js    |     100 |    78.94 |      95 |     100 | 70,119-139,205                                     
  restoreHistoryHandler.js        |   94.44 |     87.5 |     100 |   94.44 | 61-62                                              
  searchResult.js                 |   84.84 |    66.66 |    87.5 |   84.84 | 60,82,107,125,158                                  
  searchResultTimeBased.js        |   81.81 |    58.33 |     100 |   81.81 | 17,34                                              
 resources/models                 |     100 |      100 |     100 |     100 |                                                    
  SearchFilter.js                 |     100 |      100 |     100 |     100 |                                                    
 resources/plugins                |       0 |      100 |       0 |       0 |                                                    
  eventLogger.js                  |       0 |      100 |       0 |       0 | 6-22                                               
 resources/store                  |   91.95 |    76.72 |    93.5 |   91.95 |                                                    
  actions.js                      |   91.22 |    83.16 |   84.84 |   91.22 | 71,101,129,151,169-170,229,237,308,388-396,441-442 
  getters.js                      |     100 |      100 |     100 |     100 |                                                    
  index.js                        |       0 |      100 |     100 |       0 | 3-12                                               
  mutations.js                    |     100 |      100 |     100 |     100 |                                                    
  state.js                        |     100 |    52.38 |     100 |     100 | 29-75                                              
----------------------------------|---------|----------|---------|---------|----------------------------------------------------

--- end ---
{"1096886": {"source": 1096886, "name": "@babel/traverse", "dependency": "@babel/traverse", "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code", "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92", "severity": "critical", "cwe": ["CWE-184", "CWE-697"], "cvss": {"score": 9.4, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"}, "range": "<7.23.2"}}
Upgrading n:@babel/traverse from 7.18.9 -> 7.25.6
{}
{}
{"1098094": {"source": 1098094, "name": "braces", "dependency": "braces", "title": "Uncontrolled resource consumption in braces", "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg", "severity": "high", "cwe": ["CWE-400", "CWE-1050"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.0.3"}}
Upgrading n:braces from 3.0.2 -> 3.0.3
{"1098681": {"source": 1098681, "name": "micromatch", "dependency": "micromatch", "title": "Regular Expression Denial of Service (ReDoS) in micromatch", "url": "https://github.com/advisories/GHSA-952p-6rrq-rcjv", "severity": "moderate", "cwe": ["CWE-1333"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"}, "range": "<4.0.8"}}
Upgrading n:micromatch from 4.0.5 -> 4.0.8
{"1094544": {"source": 1094544, "name": "postcss", "dependency": "postcss", "title": "PostCSS line return parsing error", "url": "https://github.com/advisories/GHSA-7fh5-64p2-3v2j", "severity": "moderate", "cwe": ["CWE-74", "CWE-144"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"}, "range": "<8.4.31"}}
Upgrading n:postcss from 8.4.21 -> 8.4.45
{"1098393": {"source": 1098393, "name": "ws", "dependency": "ws", "title": "ws affected by a DoS when handling a request with many HTTP headers", "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q", "severity": "high", "cwe": ["CWE-476"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": ">=7.0.0 <7.5.10"}}
Upgrading n:ws from 7.5.9 -> 7.5.10
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
build: Updating npm dependencies

* @babel/traverse: 7.18.9 → 7.25.6
  * https://github.com/advisories/GHSA-67hx-6x53-jw92
* braces: 3.0.2 → 3.0.3
  * https://github.com/advisories/GHSA-grv7-fg5c-xmjg
* micromatch: 4.0.5 → 4.0.8
  * https://github.com/advisories/GHSA-952p-6rrq-rcjv
* postcss: 8.4.21 → 8.4.45
  * https://github.com/advisories/GHSA-7fh5-64p2-3v2j
* ws: 7.5.9 → 7.5.10
  * https://github.com/advisories/GHSA-3h5v-q93c-6h6q

Additional changes:
* Dropped default excluded folder(s) from .phpcs.xml (T274684).
* composer.json: Updated phpcs command in composer test (T280592).
* composer.json: Added phpcs command to scripts (T280592).

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpj94qf22r
--- stdout ---
[REL1_41 263ecd9] build: Updating npm dependencies
 3 files changed, 207 insertions(+), 174 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 263ecd9057c36cd0d1b55ff3efe1b0b55254d76a Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 5 Sep 2024 06:56:55 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* @babel/traverse: 7.18.9 → 7.25.6
  * https://github.com/advisories/GHSA-67hx-6x53-jw92
* braces: 3.0.2 → 3.0.3
  * https://github.com/advisories/GHSA-grv7-fg5c-xmjg
* micromatch: 4.0.5 → 4.0.8
  * https://github.com/advisories/GHSA-952p-6rrq-rcjv
* postcss: 8.4.21 → 8.4.45
  * https://github.com/advisories/GHSA-7fh5-64p2-3v2j
* ws: 7.5.9 → 7.5.10
  * https://github.com/advisories/GHSA-3h5v-q93c-6h6q

Additional changes:
* Dropped default excluded folder(s) from .phpcs.xml (T274684).
* composer.json: Updated phpcs command in composer test (T280592).
* composer.json: Added phpcs command to scripts (T280592).

Change-Id: I6b72b03aadd054d1ee87a9bd51ef2ccfcf5ea64e
---
 .phpcs.xml        |   1 -
 composer.json     |   5 +-
 package-lock.json | 375 +++++++++++++++++++++++++---------------------
 3 files changed, 207 insertions(+), 174 deletions(-)

diff --git a/.phpcs.xml b/.phpcs.xml
index 02af787..eddb6dc 100644
--- a/.phpcs.xml
+++ b/.phpcs.xml
@@ -4,5 +4,4 @@
 	<file>.</file>
 	<arg name="extensions" value="php" />
 	<arg name="encoding" value="UTF-8" />
-	<exclude-pattern>vendor</exclude-pattern>
 </ruleset>
diff --git a/composer.json b/composer.json
index 92660b7..2807546 100644
--- a/composer.json
+++ b/composer.json
@@ -13,9 +13,10 @@
 		],
 		"test": [
 			"parallel-lint . --exclude vendor --exclude node_modules",
-			"phpcs -p -s",
+			"@phpcs",
 			"minus-x check ."
 		],
-		"phan": "phan -d . --long-progress-bar"
+		"phan": "phan -d . --long-progress-bar",
+		"phpcs": "phpcs -sp --cache"
 	}
 }
diff --git a/package-lock.json b/package-lock.json
index c37667c..9fcd4bd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -43,12 +43,13 @@
 			}
 		},
 		"node_modules/@babel/code-frame": {
-			"version": "7.18.6",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
-			"integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+			"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 			"dev": true,
 			"dependencies": {
-				"@babel/highlight": "^7.18.6"
+				"@babel/highlight": "^7.24.7",
+				"picocolors": "^1.0.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -94,13 +95,14 @@
 			}
 		},
 		"node_modules/@babel/generator": {
-			"version": "7.18.9",
-			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz",
-			"integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==",
+			"version": "7.25.6",
+			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz",
+			"integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/types": "^7.18.9",
-				"@jridgewell/gen-mapping": "^0.3.2",
+				"@babel/types": "^7.25.6",
+				"@jridgewell/gen-mapping": "^0.3.5",
+				"@jridgewell/trace-mapping": "^0.3.25",
 				"jsesc": "^2.5.1"
 			},
 			"engines": {
@@ -108,14 +110,14 @@
 			}
 		},
 		"node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
-			"version": "0.3.2",
-			"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
-			"integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+			"version": "0.3.5",
+			"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+			"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
 			"dev": true,
 			"dependencies": {
-				"@jridgewell/set-array": "^1.0.1",
+				"@jridgewell/set-array": "^1.2.1",
 				"@jridgewell/sourcemap-codec": "^1.4.10",
-				"@jridgewell/trace-mapping": "^0.3.9"
+				"@jridgewell/trace-mapping": "^0.3.24"
 			},
 			"engines": {
 				"node": ">=6.0.0"
@@ -398,10 +400,19 @@
 				"node": ">=6.9.0"
 			}
 		},
+		"node_modules/@babel/helper-string-parser": {
+			"version": "7.24.8",
+			"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
+			"integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
+			"dev": true,
+			"engines": {
+				"node": ">=6.9.0"
+			}
+		},
 		"node_modules/@babel/helper-validator-identifier": {
-			"version": "7.18.6",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
-			"integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+			"integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
 			"dev": true,
 			"engines": {
 				"node": ">=6.9.0"
@@ -446,24 +457,28 @@
 			}
 		},
 		"node_modules/@babel/highlight": {
-			"version": "7.18.6",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
-			"integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+			"integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.18.6",
-				"chalk": "^2.0.0",
-				"js-tokens": "^4.0.0"
+				"@babel/helper-validator-identifier": "^7.24.7",
+				"chalk": "^2.4.2",
+				"js-tokens": "^4.0.0",
+				"picocolors": "^1.0.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/parser": {
-			"version": "7.18.9",
-			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz",
-			"integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==",
+			"version": "7.25.6",
+			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz",
+			"integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==",
 			"dev": true,
+			"dependencies": {
+				"@babel/types": "^7.25.6"
+			},
 			"bin": {
 				"parser": "bin/babel-parser.js"
 			},
@@ -1615,34 +1630,31 @@
 			"dev": true
 		},
 		"node_modules/@babel/template": {
-			"version": "7.18.6",
-			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz",
-			"integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==",
+			"version": "7.25.0",
+			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz",
+			"integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==",
 			"dev": true,
 			"dependencies": {
-				"@babel/code-frame": "^7.18.6",
-				"@babel/parser": "^7.18.6",
-				"@babel/types": "^7.18.6"
+				"@babel/code-frame": "^7.24.7",
+				"@babel/parser": "^7.25.0",
+				"@babel/types": "^7.25.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/traverse": {
-			"version": "7.18.9",
-			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz",
-			"integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==",
+			"version": "7.25.6",
+			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz",
+			"integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==",
 			"dev": true,
 			"dependencies": {
-				"@babel/code-frame": "^7.18.6",
-				"@babel/generator": "^7.18.9",
-				"@babel/helper-environment-visitor": "^7.18.9",
-				"@babel/helper-function-name": "^7.18.9",
-				"@babel/helper-hoist-variables": "^7.18.6",
-				"@babel/helper-split-export-declaration": "^7.18.6",
-				"@babel/parser": "^7.18.9",
-				"@babel/types": "^7.18.9",
-				"debug": "^4.1.0",
+				"@babel/code-frame": "^7.24.7",
+				"@babel/generator": "^7.25.6",
+				"@babel/parser": "^7.25.6",
+				"@babel/template": "^7.25.0",
+				"@babel/types": "^7.25.6",
+				"debug": "^4.3.1",
 				"globals": "^11.1.0"
 			},
 			"engines": {
@@ -1650,12 +1662,13 @@
 			}
 		},
 		"node_modules/@babel/types": {
-			"version": "7.18.9",
-			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz",
-			"integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==",
+			"version": "7.25.6",
+			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz",
+			"integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.18.6",
+				"@babel/helper-string-parser": "^7.24.8",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"to-fast-properties": "^2.0.0"
 			},
 			"engines": {
@@ -2507,9 +2520,9 @@
 			}
 		},
 		"node_modules/@jridgewell/set-array": {
-			"version": "1.1.2",
-			"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
-			"integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+			"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
 			"dev": true,
 			"engines": {
 				"node": ">=6.0.0"
@@ -2522,13 +2535,13 @@
 			"dev": true
 		},
 		"node_modules/@jridgewell/trace-mapping": {
-			"version": "0.3.14",
-			"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz",
-			"integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==",
+			"version": "0.3.25",
+			"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+			"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
 			"dev": true,
 			"dependencies": {
-				"@jridgewell/resolve-uri": "^3.0.3",
-				"@jridgewell/sourcemap-codec": "^1.4.10"
+				"@jridgewell/resolve-uri": "^3.1.0",
+				"@jridgewell/sourcemap-codec": "^1.4.14"
 			}
 		},
 		"node_modules/@mdn/browser-compat-data": {
@@ -3868,12 +3881,12 @@
 			}
 		},
 		"node_modules/braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"dependencies": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			},
 			"engines": {
 				"node": ">=8"
@@ -5781,9 +5794,9 @@
 			}
 		},
 		"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==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"dependencies": {
 				"to-regex-range": "^5.0.1"
@@ -9376,12 +9389,12 @@
 			}
 		},
 		"node_modules/micromatch": {
-			"version": "4.0.5",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
-			"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+			"version": "4.0.8",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+			"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
 			"dev": true,
 			"dependencies": {
-				"braces": "^3.0.2",
+				"braces": "^3.0.3",
 				"picomatch": "^2.3.1"
 			},
 			"engines": {
@@ -9506,10 +9519,16 @@
 			}
 		},
 		"node_modules/nanoid": {
-			"version": "3.3.4",
-			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
-			"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+			"version": "3.3.7",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+			"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
 			"dev": true,
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/ai"
+				}
+			],
 			"bin": {
 				"nanoid": "bin/nanoid.cjs"
 			},
@@ -9902,9 +9921,9 @@
 			}
 		},
 		"node_modules/picocolors": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
-			"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
+			"integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
 			"dev": true
 		},
 		"node_modules/picomatch": {
@@ -9950,9 +9969,9 @@
 			}
 		},
 		"node_modules/postcss": {
-			"version": "8.4.21",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
-			"integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
+			"version": "8.4.45",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz",
+			"integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==",
 			"dev": true,
 			"funding": [
 				{
@@ -9962,12 +9981,16 @@
 				{
 					"type": "tidelift",
 					"url": "https://tidelift.com/funding/github/npm/postcss"
+				},
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/ai"
 				}
 			],
 			"dependencies": {
-				"nanoid": "^3.3.4",
-				"picocolors": "^1.0.0",
-				"source-map-js": "^1.0.2"
+				"nanoid": "^3.3.7",
+				"picocolors": "^1.0.1",
+				"source-map-js": "^1.2.0"
 			},
 			"engines": {
 				"node": "^10 || ^12 || >=14"
@@ -10703,9 +10726,9 @@
 			}
 		},
 		"node_modules/source-map-js": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
-			"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+			"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.10.0"
@@ -11873,9 +11896,9 @@
 			}
 		},
 		"node_modules/ws": {
-			"version": "7.5.9",
-			"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
-			"integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+			"version": "7.5.10",
+			"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
+			"integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
 			"dev": true,
 			"engines": {
 				"node": ">=8.3.0"
@@ -12004,12 +12027,13 @@
 			}
 		},
 		"@babel/code-frame": {
-			"version": "7.18.6",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
-			"integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+			"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 			"dev": true,
 			"requires": {
-				"@babel/highlight": "^7.18.6"
+				"@babel/highlight": "^7.24.7",
+				"picocolors": "^1.0.0"
 			}
 		},
 		"@babel/compat-data": {
@@ -12042,25 +12066,26 @@
 			}
 		},
 		"@babel/generator": {
-			"version": "7.18.9",
-			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz",
-			"integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==",
+			"version": "7.25.6",
+			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz",
+			"integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==",
 			"dev": true,
 			"requires": {
-				"@babel/types": "^7.18.9",
-				"@jridgewell/gen-mapping": "^0.3.2",
+				"@babel/types": "^7.25.6",
+				"@jridgewell/gen-mapping": "^0.3.5",
+				"@jridgewell/trace-mapping": "^0.3.25",
 				"jsesc": "^2.5.1"
 			},
 			"dependencies": {
 				"@jridgewell/gen-mapping": {
-					"version": "0.3.2",
-					"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
-					"integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+					"version": "0.3.5",
+					"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+					"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
 					"dev": true,
 					"requires": {
-						"@jridgewell/set-array": "^1.0.1",
+						"@jridgewell/set-array": "^1.2.1",
 						"@jridgewell/sourcemap-codec": "^1.4.10",
-						"@jridgewell/trace-mapping": "^0.3.9"
+						"@jridgewell/trace-mapping": "^0.3.24"
 					}
 				}
 			}
@@ -12270,10 +12295,16 @@
 				"@babel/types": "^7.18.6"
 			}
 		},
+		"@babel/helper-string-parser": {
+			"version": "7.24.8",
+			"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
+			"integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
+			"dev": true
+		},
 		"@babel/helper-validator-identifier": {
-			"version": "7.18.6",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
-			"integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+			"integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
 			"dev": true
 		},
 		"@babel/helper-validator-option": {
@@ -12306,21 +12337,25 @@
 			}
 		},
 		"@babel/highlight": {
-			"version": "7.18.6",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
-			"integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+			"integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.18.6",
-				"chalk": "^2.0.0",
-				"js-tokens": "^4.0.0"
+				"@babel/helper-validator-identifier": "^7.24.7",
+				"chalk": "^2.4.2",
+				"js-tokens": "^4.0.0",
+				"picocolors": "^1.0.0"
 			}
 		},
 		"@babel/parser": {
-			"version": "7.18.9",
-			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz",
-			"integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==",
-			"dev": true
+			"version": "7.25.6",
+			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz",
+			"integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==",
+			"dev": true,
+			"requires": {
+				"@babel/types": "^7.25.6"
+			}
 		},
 		"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
 			"version": "7.18.6",
@@ -13093,41 +13128,39 @@
 			}
 		},
 		"@babel/template": {
-			"version": "7.18.6",
-			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz",
-			"integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==",
+			"version": "7.25.0",
+			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz",
+			"integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==",
 			"dev": true,
 			"requires": {
-				"@babel/code-frame": "^7.18.6",
-				"@babel/parser": "^7.18.6",
-				"@babel/types": "^7.18.6"
+				"@babel/code-frame": "^7.24.7",
+				"@babel/parser": "^7.25.0",
+				"@babel/types": "^7.25.0"
 			}
 		},
 		"@babel/traverse": {
-			"version": "7.18.9",
-			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz",
-			"integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==",
+			"version": "7.25.6",
+			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz",
+			"integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==",
 			"dev": true,
 			"requires": {
-				"@babel/code-frame": "^7.18.6",
-				"@babel/generator": "^7.18.9",
-				"@babel/helper-environment-visitor": "^7.18.9",
-				"@babel/helper-function-name": "^7.18.9",
-				"@babel/helper-hoist-variables": "^7.18.6",
-				"@babel/helper-split-export-declaration": "^7.18.6",
-				"@babel/parser": "^7.18.9",
-				"@babel/types": "^7.18.9",
-				"debug": "^4.1.0",
+				"@babel/code-frame": "^7.24.7",
+				"@babel/generator": "^7.25.6",
+				"@babel/parser": "^7.25.6",
+				"@babel/template": "^7.25.0",
+				"@babel/types": "^7.25.6",
+				"debug": "^4.3.1",
 				"globals": "^11.1.0"
 			}
 		},
 		"@babel/types": {
-			"version": "7.18.9",
-			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz",
-			"integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==",
+			"version": "7.25.6",
+			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz",
+			"integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.18.6",
+				"@babel/helper-string-parser": "^7.24.8",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"to-fast-properties": "^2.0.0"
 			}
 		},
@@ -13754,9 +13787,9 @@
 			"dev": true
 		},
 		"@jridgewell/set-array": {
-			"version": "1.1.2",
-			"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
-			"integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+			"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
 			"dev": true
 		},
 		"@jridgewell/sourcemap-codec": {
@@ -13766,13 +13799,13 @@
 			"dev": true
 		},
 		"@jridgewell/trace-mapping": {
-			"version": "0.3.14",
-			"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz",
-			"integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==",
+			"version": "0.3.25",
+			"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+			"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
 			"dev": true,
 			"requires": {
-				"@jridgewell/resolve-uri": "^3.0.3",
-				"@jridgewell/sourcemap-codec": "^1.4.10"
+				"@jridgewell/resolve-uri": "^3.1.0",
+				"@jridgewell/sourcemap-codec": "^1.4.14"
 			}
 		},
 		"@mdn/browser-compat-data": {
@@ -14872,12 +14905,12 @@
 			}
 		},
 		"braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"requires": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			}
 		},
 		"browser-process-hrtime": {
@@ -16273,9 +16306,9 @@
 			}
 		},
 		"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==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"requires": {
 				"to-regex-range": "^5.0.1"
@@ -18964,12 +18997,12 @@
 			"dev": true
 		},
 		"micromatch": {
-			"version": "4.0.5",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
-			"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+			"version": "4.0.8",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+			"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
 			"dev": true,
 			"requires": {
-				"braces": "^3.0.2",
+				"braces": "^3.0.3",
 				"picomatch": "^2.3.1"
 			}
 		},
@@ -19063,9 +19096,9 @@
 			}
 		},
 		"nanoid": {
-			"version": "3.3.4",
-			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
-			"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+			"version": "3.3.7",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+			"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
 			"dev": true
 		},
 		"natural-compare": {
@@ -19362,9 +19395,9 @@
 			"dev": true
 		},
 		"picocolors": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
-			"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
+			"integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
 			"dev": true
 		},
 		"picomatch": {
@@ -19395,14 +19428,14 @@
 			"dev": true
 		},
 		"postcss": {
-			"version": "8.4.21",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
-			"integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
+			"version": "8.4.45",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz",
+			"integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==",
 			"dev": true,
 			"requires": {
-				"nanoid": "^3.3.4",
-				"picocolors": "^1.0.0",
-				"source-map-js": "^1.0.2"
+				"nanoid": "^3.3.7",
+				"picocolors": "^1.0.1",
+				"source-map-js": "^1.2.0"
 			}
 		},
 		"postcss-html": {
@@ -19952,9 +19985,9 @@
 			"dev": true
 		},
 		"source-map-js": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
-			"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+			"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
 			"dev": true
 		},
 		"source-map-resolve": {
@@ -20874,9 +20907,9 @@
 			}
 		},
 		"ws": {
-			"version": "7.5.9",
-			"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
-			"integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+			"version": "7.5.10",
+			"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
+			"integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
 			"dev": true,
 			"requires": {}
 		},
-- 
2.39.2


--- end ---
Source code is licensed under the AGPL.