mediawiki/extensions/PhpTagsWidgets (main)

sourcepatches
From cf5cadb52720e88bd0560122075adcc5fd1491d1 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Fri, 26 Jul 2024 03:06:16 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* eslint-config-wikimedia: 0.27.0 → 0.28.2
* grunt-banana-checker: 0.12.0 → 0.13.0
* braces: 3.0.2 → 3.0.3
  * https://github.com/advisories/GHSA-grv7-fg5c-xmjg

Change-Id: If2a99735610b2b8983621c8a1e00cc4d7bfa8eef
---
 package-lock.json | 1112 ++++++++++++++++++++++++++-------------------
 package.json      |    4 +-
 2 files changed, 658 insertions(+), 458 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 2a33242..e70a272 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,9 +6,9 @@
 		"": {
 			"name": "PhpTagsWidgets",
 			"devDependencies": {
-				"eslint-config-wikimedia": "0.27.0",
+				"eslint-config-wikimedia": "0.28.2",
 				"grunt": "1.6.1",
-				"grunt-banana-checker": "0.12.0",
+				"grunt-banana-checker": "0.13.0",
 				"grunt-eslint": "24.3.0"
 			}
 		},
@@ -22,12 +22,12 @@
 			}
 		},
 		"node_modules/@babel/code-frame": {
-			"version": "7.24.2",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
-			"integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
+			"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.24.2",
+				"@babel/highlight": "^7.24.7",
 				"picocolors": "^1.0.0"
 			},
 			"engines": {
@@ -35,21 +35,21 @@
 			}
 		},
 		"node_modules/@babel/helper-validator-identifier": {
-			"version": "7.22.20",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
-			"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+			"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"
 			}
 		},
 		"node_modules/@babel/highlight": {
-			"version": "7.24.2",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
-			"integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
+			"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.22.20",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"chalk": "^2.4.2",
 				"js-tokens": "^4.0.0",
 				"picocolors": "^1.0.0"
@@ -130,11 +130,14 @@
 			}
 		},
 		"node_modules/@es-joy/jsdoccomment": {
-			"version": "0.42.0",
-			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.42.0.tgz",
-			"integrity": "sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==",
+			"version": "0.43.1",
+			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.43.1.tgz",
+			"integrity": "sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==",
 			"dev": true,
 			"dependencies": {
+				"@types/eslint": "^8.56.5",
+				"@types/estree": "^1.0.5",
+				"@typescript-eslint/types": "^7.2.0",
 				"comment-parser": "1.4.1",
 				"esquery": "^1.5.0",
 				"jsdoc-type-pratt-parser": "~4.0.0"
@@ -159,9 +162,9 @@
 			}
 		},
 		"node_modules/@eslint-community/regexpp": {
-			"version": "4.10.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
-			"integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+			"version": "4.11.0",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
+			"integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
 			"dev": true,
 			"engines": {
 				"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
@@ -309,6 +312,22 @@
 			"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
 			"dev": true
 		},
+		"node_modules/@types/eslint": {
+			"version": "8.56.11",
+			"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz",
+			"integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==",
+			"dev": true,
+			"dependencies": {
+				"@types/estree": "*",
+				"@types/json-schema": "*"
+			}
+		},
+		"node_modules/@types/estree": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+			"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+			"dev": true
+		},
 		"node_modules/@types/json-schema": {
 			"version": "7.0.15",
 			"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
@@ -321,23 +340,17 @@
 			"integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
 			"dev": true
 		},
-		"node_modules/@types/semver": {
-			"version": "7.5.8",
-			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
-			"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
-			"dev": true
-		},
 		"node_modules/@typescript-eslint/scope-manager": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
-			"integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz",
+			"integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/visitor-keys": "5.62.0"
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/visitor-keys": "7.17.0"
 			},
 			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+				"node": "^18.18.0 || >=20.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -345,12 +358,12 @@
 			}
 		},
 		"node_modules/@typescript-eslint/types": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
-			"integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz",
+			"integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==",
 			"dev": true,
 			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+				"node": "^18.18.0 || >=20.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -358,21 +371,22 @@
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
-			"integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz",
+			"integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/visitor-keys": "5.62.0",
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/visitor-keys": "7.17.0",
 				"debug": "^4.3.4",
 				"globby": "^11.1.0",
 				"is-glob": "^4.0.3",
-				"semver": "^7.3.7",
-				"tsutils": "^3.21.0"
+				"minimatch": "^9.0.4",
+				"semver": "^7.6.0",
+				"ts-api-utils": "^1.3.0"
 			},
 			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+				"node": "^18.18.0 || >=20.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -384,65 +398,63 @@
 				}
 			}
 		},
-		"node_modules/@typescript-eslint/utils": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
-			"integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
+		"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
 			"dev": true,
 			"dependencies": {
-				"@eslint-community/eslint-utils": "^4.2.0",
-				"@types/json-schema": "^7.0.9",
-				"@types/semver": "^7.3.12",
-				"@typescript-eslint/scope-manager": "5.62.0",
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/typescript-estree": "5.62.0",
-				"eslint-scope": "^5.1.1",
-				"semver": "^7.3.7"
-			},
-			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			},
-			"peerDependencies": {
-				"eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+				"balanced-match": "^1.0.0"
 			}
 		},
-		"node_modules/@typescript-eslint/utils/node_modules/eslint-scope": {
-			"version": "5.1.1",
-			"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-			"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+		"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
+			"version": "9.0.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 			"dev": true,
 			"dependencies": {
-				"esrecurse": "^4.3.0",
-				"estraverse": "^4.1.1"
+				"brace-expansion": "^2.0.1"
 			},
 			"engines": {
-				"node": ">=8.0.0"
+				"node": ">=16 || 14 >=14.17"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
-		"node_modules/@typescript-eslint/utils/node_modules/estraverse": {
-			"version": "4.3.0",
-			"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-			"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+		"node_modules/@typescript-eslint/utils": {
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz",
+			"integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==",
 			"dev": true,
+			"dependencies": {
+				"@eslint-community/eslint-utils": "^4.4.0",
+				"@typescript-eslint/scope-manager": "7.17.0",
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/typescript-estree": "7.17.0"
+			},
 			"engines": {
-				"node": ">=4.0"
+				"node": "^18.18.0 || >=20.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			},
+			"peerDependencies": {
+				"eslint": "^8.56.0"
 			}
 		},
 		"node_modules/@typescript-eslint/visitor-keys": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
-			"integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz",
+			"integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "5.62.0",
-				"eslint-visitor-keys": "^3.3.0"
+				"@typescript-eslint/types": "7.17.0",
+				"eslint-visitor-keys": "^3.4.3"
 			},
 			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+				"node": "^18.18.0 || >=20.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -462,9 +474,9 @@
 			"dev": true
 		},
 		"node_modules/acorn": {
-			"version": "8.11.3",
-			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
-			"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+			"version": "8.12.1",
+			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
+			"integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
 			"dev": true,
 			"bin": {
 				"acorn": "bin/acorn"
@@ -609,12 +621,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"
@@ -653,9 +665,9 @@
 			}
 		},
 		"node_modules/browserslist-config-wikimedia": {
-			"version": "0.6.1",
-			"resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.6.1.tgz",
-			"integrity": "sha512-F3O+12ud7ZwBaiB/RZIMGDgz3nEuXz8RhtdPB4Lkd/WVP5Vy77EqBWRMz4vJ64x8LTTH3BOaHCD2ZuUcgShqyQ==",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.7.0.tgz",
+			"integrity": "sha512-CTa0lv78dXKEgrYsOLCkqO+9UUS3CV9MWEOYHcymgEvx4mYxB80sCoKRCR7wW2SOMNxjaP9hohrZripjnKuRTA==",
 			"dev": true
 		},
 		"node_modules/builtin-modules": {
@@ -670,15 +682,6 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/builtins": {
-			"version": "5.1.0",
-			"resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz",
-			"integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==",
-			"dev": true,
-			"dependencies": {
-				"semver": "^7.0.0"
-			}
-		},
 		"node_modules/callsites": {
 			"version": "3.1.0",
 			"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -803,9 +806,9 @@
 			"dev": true
 		},
 		"node_modules/core-js-compat": {
-			"version": "3.37.0",
-			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz",
-			"integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==",
+			"version": "3.37.1",
+			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz",
+			"integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==",
 			"dev": true,
 			"dependencies": {
 				"browserslist": "^4.23.0"
@@ -912,6 +915,19 @@
 			"integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==",
 			"dev": true
 		},
+		"node_modules/enhanced-resolve": {
+			"version": "5.17.1",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
+			"integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+			"dev": true,
+			"dependencies": {
+				"graceful-fs": "^4.2.4",
+				"tapable": "^2.2.0"
+			},
+			"engines": {
+				"node": ">=10.13.0"
+			}
+		},
 		"node_modules/error-ex": {
 			"version": "1.3.2",
 			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -998,9 +1014,9 @@
 			}
 		},
 		"node_modules/eslint-compat-utils": {
-			"version": "0.5.0",
-			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz",
-			"integrity": "sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==",
+			"version": "0.5.1",
+			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
+			"integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
 			"dev": true,
 			"dependencies": {
 				"semver": "^7.5.4"
@@ -1013,28 +1029,28 @@
 			}
 		},
 		"node_modules/eslint-config-wikimedia": {
-			"version": "0.27.0",
-			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.27.0.tgz",
-			"integrity": "sha512-KkZ54+MUnggz17C/RCEMXQSpiiqZRF7p9fjrz4phaaeKlTrjg0B+QbM5zcDWcjGiAWaJUptHaH17+RZldadkUw==",
+			"version": "0.28.2",
+			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.28.2.tgz",
+			"integrity": "sha512-5+rdnT7wH1gpKAO6tHYThg78eMhZMruJzvqku3Y5iaEY/A7kSKLFpA/vOj/snys9fKjDHC9BXmArQh+agkOoJQ==",
 			"dev": true,
 			"dependencies": {
-				"browserslist-config-wikimedia": "^0.6.1",
+				"browserslist-config-wikimedia": "^0.7.0",
 				"eslint": "^8.57.0",
 				"eslint-plugin-compat": "^4.2.0",
 				"eslint-plugin-es-x": "^7.6.0",
-				"eslint-plugin-jest": "^27.9.0",
-				"eslint-plugin-jsdoc": "48.2.1",
-				"eslint-plugin-json-es": "^1.5.7",
-				"eslint-plugin-mediawiki": "^0.6.0",
-				"eslint-plugin-mocha": "^10.4.1",
-				"eslint-plugin-n": "^16.6.2",
-				"eslint-plugin-no-jquery": "^2.7.0",
+				"eslint-plugin-jest": "^28.5.0",
+				"eslint-plugin-jsdoc": "48.2.5",
+				"eslint-plugin-json-es": "^1.6.0",
+				"eslint-plugin-mediawiki": "^0.7.0",
+				"eslint-plugin-mocha": "^10.4.3",
+				"eslint-plugin-n": "^17.7.0",
+				"eslint-plugin-no-jquery": "^3.0.1",
 				"eslint-plugin-qunit": "^8.1.1",
 				"eslint-plugin-security": "^1.7.1",
-				"eslint-plugin-unicorn": "^51.0.1",
-				"eslint-plugin-vue": "^9.23.0",
+				"eslint-plugin-unicorn": "^53.0.0",
+				"eslint-plugin-vue": "^9.26.0",
 				"eslint-plugin-wdio": "^8.24.12",
-				"eslint-plugin-yml": "^1.13.2"
+				"eslint-plugin-yml": "^1.14.0"
 			}
 		},
 		"node_modules/eslint-plugin-compat": {
@@ -1059,39 +1075,40 @@
 			}
 		},
 		"node_modules/eslint-plugin-es-x": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz",
-			"integrity": "sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
+			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
 			"dev": true,
+			"funding": [
+				"https://github.com/sponsors/ota-meshi",
+				"https://opencollective.com/eslint"
+			],
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.6.0",
-				"eslint-compat-utils": "^0.5.0"
+				"@eslint-community/regexpp": "^4.11.0",
+				"eslint-compat-utils": "^0.5.1"
 			},
 			"engines": {
 				"node": "^14.18.0 || >=16.0.0"
 			},
-			"funding": {
-				"url": "https://github.com/sponsors/ota-meshi"
-			},
 			"peerDependencies": {
 				"eslint": ">=8"
 			}
 		},
 		"node_modules/eslint-plugin-jest": {
-			"version": "27.9.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz",
-			"integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==",
+			"version": "28.6.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.6.0.tgz",
+			"integrity": "sha512-YG28E1/MIKwnz+e2H7VwYPzHUYU4aMa19w0yGcwXnnmJH6EfgHahTJ2un3IyraUxNfnz/KUhJAFXNNwWPo12tg==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/utils": "^5.10.0"
+				"@typescript-eslint/utils": "^6.0.0 || ^7.0.0"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^16.10.0 || ^18.12.0 || >=20.0.0"
 			},
 			"peerDependencies": {
-				"@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0",
-				"eslint": "^7.0.0 || ^8.0.0",
+				"@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0",
+				"eslint": "^7.0.0 || ^8.0.0 || ^9.0.0",
 				"jest": "*"
 			},
 			"peerDependenciesMeta": {
@@ -1104,19 +1121,19 @@
 			}
 		},
 		"node_modules/eslint-plugin-jsdoc": {
-			"version": "48.2.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.1.tgz",
-			"integrity": "sha512-iUvbcyDZSO/9xSuRv2HQBw++8VkV/pt3UWtX9cpPH0l7GKPq78QC/6+PmyQHHvNZaTjAce6QVciEbnc6J/zH5g==",
+			"version": "48.2.5",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.5.tgz",
+			"integrity": "sha512-ZeTfKV474W1N9niWfawpwsXGu+ZoMXu4417eBROX31d7ZuOk8zyG66SO77DpJ2+A9Wa2scw/jRqBPnnQo7VbcQ==",
 			"dev": true,
 			"dependencies": {
-				"@es-joy/jsdoccomment": "~0.42.0",
+				"@es-joy/jsdoccomment": "~0.43.0",
 				"are-docs-informative": "^0.0.2",
 				"comment-parser": "1.4.1",
 				"debug": "^4.3.4",
 				"escape-string-regexp": "^4.0.0",
 				"esquery": "^1.5.0",
 				"is-builtin-module": "^3.2.1",
-				"semver": "^7.6.0",
+				"semver": "^7.6.1",
 				"spdx-expression-parse": "^4.0.0"
 			},
 			"engines": {
@@ -1127,9 +1144,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-json-es": {
-			"version": "1.5.7",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.5.7.tgz",
-			"integrity": "sha512-ehBHcCcJo4iViYx6vp3T+SmwzLIlVDzZNoVxN/txZIiPwDQ26mnYaN5iJ3imqN4l1b8z6rbxEH2kB9XDGxeU/w==",
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.6.0.tgz",
+			"integrity": "sha512-xVn6hufGQH1Aa+yqOhQ43Cq28GuitTcMpQh+uaUh27U2qnVLBrvkN+2xQSnv6zpdLEPS35JCNhq4kvhR+PQCgw==",
 			"dev": true,
 			"dependencies": {
 				"eslint-visitor-keys": "^3.3.0",
@@ -1140,9 +1157,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-mediawiki": {
-			"version": "0.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.6.0.tgz",
-			"integrity": "sha512-a2Zm18N5nPyflBajM2ZWATxucIpYPEmOSjFzUR1OBH3hAL0GY9fx1mpezEwzqAQ862d+kPkolgQOzktnZe8nKA==",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.7.0.tgz",
+			"integrity": "sha512-1Y2nsFDPp96xOZCB5ivZAgqYe9i6w2u64VoCIaAzPyZnd/2h8VQR3CtD+u4Yk/KrpbKq9AAJjrs5LS8VAz6KOA==",
 			"dev": true,
 			"dependencies": {
 				"eslint-plugin-vue": "^9.23.0",
@@ -1170,52 +1187,73 @@
 			}
 		},
 		"node_modules/eslint-plugin-n": {
-			"version": "16.6.2",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz",
-			"integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==",
+			"version": "17.10.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.10.0.tgz",
+			"integrity": "sha512-NmrSdEid+ch9SBVuqbsK5CUiEZGtMK32KSI+arWahZbFF0nvX1oEJrWiFOWmhkWFKW9Hqor0g3qPh4AvkvWwlA==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"builtins": "^5.0.1",
+				"enhanced-resolve": "^5.17.0",
 				"eslint-plugin-es-x": "^7.5.0",
 				"get-tsconfig": "^4.7.0",
-				"globals": "^13.24.0",
+				"globals": "^15.8.0",
 				"ignore": "^5.2.4",
-				"is-builtin-module": "^3.2.1",
-				"is-core-module": "^2.12.1",
-				"minimatch": "^3.1.2",
-				"resolve": "^1.22.2",
+				"minimatch": "^9.0.5",
 				"semver": "^7.5.3"
 			},
 			"engines": {
-				"node": ">=16.0.0"
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
 			},
 			"funding": {
-				"url": "https://github.com/sponsors/mysticatea"
+				"url": "https://opencollective.com/eslint"
 			},
 			"peerDependencies": {
-				"eslint": ">=7.0.0"
+				"eslint": ">=8.23.0"
+			}
+		},
+		"node_modules/eslint-plugin-n/node_modules/brace-expansion": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"dev": true,
+			"dependencies": {
+				"balanced-match": "^1.0.0"
+			}
+		},
+		"node_modules/eslint-plugin-n/node_modules/globals": {
+			"version": "15.8.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-15.8.0.tgz",
+			"integrity": "sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==",
+			"dev": true,
+			"engines": {
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/eslint-plugin-n/node_modules/minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"version": "9.0.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 			"dev": true,
 			"dependencies": {
-				"brace-expansion": "^1.1.7"
+				"brace-expansion": "^2.0.1"
 			},
 			"engines": {
-				"node": "*"
+				"node": ">=16 || 14 >=14.17"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
 		"node_modules/eslint-plugin-no-jquery": {
-			"version": "2.7.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz",
-			"integrity": "sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==",
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-3.0.2.tgz",
+			"integrity": "sha512-n/+6p6PFhWDNPVLJj1463hw4OTIRBbROGcbhmtOHTgw7yihSKzkwZiQ00EJTneyeR3jRiw5lpWSMCCBhtb8t2g==",
 			"dev": true,
 			"peerDependencies": {
-				"eslint": ">=2.3.0"
+				"eslint": ">=8.0.0"
 			}
 		},
 		"node_modules/eslint-plugin-qunit": {
@@ -1241,17 +1279,17 @@
 			}
 		},
 		"node_modules/eslint-plugin-unicorn": {
-			"version": "51.0.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-51.0.1.tgz",
-			"integrity": "sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==",
+			"version": "53.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-53.0.0.tgz",
+			"integrity": "sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.22.20",
+				"@babel/helper-validator-identifier": "^7.24.5",
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"@eslint/eslintrc": "^2.1.4",
+				"@eslint/eslintrc": "^3.0.2",
 				"ci-info": "^4.0.0",
 				"clean-regexp": "^1.0.0",
-				"core-js-compat": "^3.34.0",
+				"core-js-compat": "^3.37.0",
 				"esquery": "^1.5.0",
 				"indent-string": "^4.0.0",
 				"is-builtin-module": "^3.2.1",
@@ -1260,11 +1298,11 @@
 				"read-pkg-up": "^7.0.1",
 				"regexp-tree": "^0.1.27",
 				"regjsparser": "^0.10.0",
-				"semver": "^7.5.4",
+				"semver": "^7.6.1",
 				"strip-indent": "^3.0.0"
 			},
 			"engines": {
-				"node": ">=16"
+				"node": ">=18.18"
 			},
 			"funding": {
 				"url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1"
@@ -1273,10 +1311,104 @@
 				"eslint": ">=8.56.0"
 			}
 		},
+		"node_modules/eslint-plugin-unicorn/node_modules/@eslint/eslintrc": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
+			"integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==",
+			"dev": true,
+			"dependencies": {
+				"ajv": "^6.12.4",
+				"debug": "^4.3.2",
+				"espree": "^10.0.1",
+				"globals": "^14.0.0",
+				"ignore": "^5.2.0",
+				"import-fresh": "^3.2.1",
+				"js-yaml": "^4.1.0",
+				"minimatch": "^3.1.2",
+				"strip-json-comments": "^3.1.1"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/argparse": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+			"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+			"dev": true
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/eslint-visitor-keys": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
+			"integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
+			"dev": true,
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/espree": {
+			"version": "10.1.0",
+			"resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz",
+			"integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==",
+			"dev": true,
+			"dependencies": {
+				"acorn": "^8.12.0",
+				"acorn-jsx": "^5.3.2",
+				"eslint-visitor-keys": "^4.0.0"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/globals": {
+			"version": "14.0.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+			"integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+			"dev": true,
+			"engines": {
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/js-yaml": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"dev": true,
+			"dependencies": {
+				"argparse": "^2.0.1"
+			},
+			"bin": {
+				"js-yaml": "bin/js-yaml.js"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/minimatch": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"dev": true,
+			"dependencies": {
+				"brace-expansion": "^1.1.7"
+			},
+			"engines": {
+				"node": "*"
+			}
+		},
 		"node_modules/eslint-plugin-vue": {
-			"version": "9.25.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz",
-			"integrity": "sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==",
+			"version": "9.27.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.27.0.tgz",
+			"integrity": "sha512-5Dw3yxEyuBSXTzT5/Ge1X5kIkRTQ3nvBn/VwPwInNiZBSJOO/timWMUaflONnFBzU6NhB68lxnCda7ULV5N7LA==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.4.0",
@@ -1285,7 +1417,7 @@
 				"nth-check": "^2.1.1",
 				"postcss-selector-parser": "^6.0.15",
 				"semver": "^7.6.0",
-				"vue-eslint-parser": "^9.4.2",
+				"vue-eslint-parser": "^9.4.3",
 				"xml-name-validator": "^4.0.0"
 			},
 			"engines": {
@@ -1584,9 +1716,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"
@@ -1707,9 +1839,9 @@
 			}
 		},
 		"node_modules/get-tsconfig": {
-			"version": "4.7.3",
-			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz",
-			"integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==",
+			"version": "4.7.6",
+			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.6.tgz",
+			"integrity": "sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==",
 			"dev": true,
 			"dependencies": {
 				"resolve-pkg-maps": "^1.0.0"
@@ -1833,6 +1965,12 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/graceful-fs": {
+			"version": "4.2.11",
+			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+			"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+			"dev": true
+		},
 		"node_modules/graphemer": {
 			"version": "1.4.0",
 			"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
@@ -1867,10 +2005,13 @@
 			}
 		},
 		"node_modules/grunt-banana-checker": {
-			"version": "0.12.0",
-			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.12.0.tgz",
-			"integrity": "sha512-rdu8YqGxfyBUNMSLmqusSg8RUzGE61+kqrge4fRYb32Vqu5hzDGeomDQIkILEsSrZjtNTTcJ8iTwIswQ+POCGw==",
+			"version": "0.13.0",
+			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.13.0.tgz",
+			"integrity": "sha512-uAUKILcP69Q4OJHHV2wzxqVaoXB8G3Uh/XuSJLn0Bk/9+WiUY/Q4+OX7dUhrPPeDZPtoGh37qqJLVvZlDTUecg==",
 			"dev": true,
+			"dependencies": {
+				"chalk": "4.1.2"
+			},
 			"bin": {
 				"banana-checker": "src/cli.js"
 			},
@@ -2413,18 +2554,6 @@
 			"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
 			"dev": true
 		},
-		"node_modules/lru-cache": {
-			"version": "6.0.0",
-			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-			"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-			"dev": true,
-			"dependencies": {
-				"yallist": "^4.0.0"
-			},
-			"engines": {
-				"node": ">=10"
-			}
-		},
 		"node_modules/make-iterator": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
@@ -2829,9 +2958,9 @@
 			}
 		},
 		"node_modules/postcss-selector-parser": {
-			"version": "6.0.16",
-			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz",
-			"integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==",
+			"version": "6.1.1",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz",
+			"integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==",
 			"dev": true,
 			"dependencies": {
 				"cssesc": "^3.0.0",
@@ -3147,13 +3276,10 @@
 			"dev": true
 		},
 		"node_modules/semver": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
-			"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+			"version": "7.6.3",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+			"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
 			"dev": true,
-			"dependencies": {
-				"lru-cache": "^6.0.0"
-			},
 			"bin": {
 				"semver": "bin/semver.js"
 			},
@@ -3228,9 +3354,9 @@
 			}
 		},
 		"node_modules/spdx-license-ids": {
-			"version": "3.0.17",
-			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
-			"integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
+			"version": "3.0.18",
+			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz",
+			"integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==",
 			"dev": true
 		},
 		"node_modules/sprintf-js": {
@@ -3299,6 +3425,15 @@
 				"url": "https://github.com/sponsors/ljharb"
 			}
 		},
+		"node_modules/tapable": {
+			"version": "2.2.1",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+			"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+			"dev": true,
+			"engines": {
+				"node": ">=6"
+			}
+		},
 		"node_modules/text-table": {
 			"version": "0.2.0",
 			"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -3317,25 +3452,16 @@
 				"node": ">=8.0"
 			}
 		},
-		"node_modules/tslib": {
-			"version": "1.14.1",
-			"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-			"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-			"dev": true
-		},
-		"node_modules/tsutils": {
-			"version": "3.21.0",
-			"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
-			"integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+		"node_modules/ts-api-utils": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
+			"integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
 			"dev": true,
-			"dependencies": {
-				"tslib": "^1.8.1"
-			},
 			"engines": {
-				"node": ">= 6"
+				"node": ">=16"
 			},
 			"peerDependencies": {
-				"typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+				"typescript": ">=4.2.0"
 			}
 		},
 		"node_modules/type-check": {
@@ -3363,9 +3489,9 @@
 			}
 		},
 		"node_modules/typescript": {
-			"version": "5.4.5",
-			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
-			"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+			"version": "5.5.4",
+			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz",
+			"integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==",
 			"dev": true,
 			"peer": true,
 			"bin": {
@@ -3486,9 +3612,9 @@
 			}
 		},
 		"node_modules/vue-eslint-parser": {
-			"version": "9.4.2",
-			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz",
-			"integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==",
+			"version": "9.4.3",
+			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz",
+			"integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==",
 			"dev": true,
 			"dependencies": {
 				"debug": "^4.3.4",
@@ -3539,12 +3665,6 @@
 				"node": ">=12"
 			}
 		},
-		"node_modules/yallist": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-			"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-			"dev": true
-		},
 		"node_modules/yaml": {
 			"version": "2.4.1",
 			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
@@ -3595,28 +3715,28 @@
 			"dev": true
 		},
 		"@babel/code-frame": {
-			"version": "7.24.2",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
-			"integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
+			"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.24.2",
+				"@babel/highlight": "^7.24.7",
 				"picocolors": "^1.0.0"
 			}
 		},
 		"@babel/helper-validator-identifier": {
-			"version": "7.22.20",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
-			"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+			"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/highlight": {
-			"version": "7.24.2",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
-			"integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
+			"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.22.20",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"chalk": "^2.4.2",
 				"js-tokens": "^4.0.0",
 				"picocolors": "^1.0.0"
@@ -3681,11 +3801,14 @@
 			}
 		},
 		"@es-joy/jsdoccomment": {
-			"version": "0.42.0",
-			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.42.0.tgz",
-			"integrity": "sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==",
+			"version": "0.43.1",
+			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.43.1.tgz",
+			"integrity": "sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==",
 			"dev": true,
 			"requires": {
+				"@types/eslint": "^8.56.5",
+				"@types/estree": "^1.0.5",
+				"@typescript-eslint/types": "^7.2.0",
 				"comment-parser": "1.4.1",
 				"esquery": "^1.5.0",
 				"jsdoc-type-pratt-parser": "~4.0.0"
@@ -3701,9 +3824,9 @@
 			}
 		},
 		"@eslint-community/regexpp": {
-			"version": "4.10.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
-			"integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+			"version": "4.11.0",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
+			"integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
 			"dev": true
 		},
 		"@eslint/eslintrc": {
@@ -3816,6 +3939,22 @@
 			"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
 			"dev": true
 		},
+		"@types/eslint": {
+			"version": "8.56.11",
+			"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz",
+			"integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==",
+			"dev": true,
+			"requires": {
+				"@types/estree": "*",
+				"@types/json-schema": "*"
+			}
+		},
+		"@types/estree": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+			"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+			"dev": true
+		},
 		"@types/json-schema": {
 			"version": "7.0.15",
 			"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
@@ -3828,85 +3967,78 @@
 			"integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
 			"dev": true
 		},
-		"@types/semver": {
-			"version": "7.5.8",
-			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
-			"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
-			"dev": true
-		},
 		"@typescript-eslint/scope-manager": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
-			"integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz",
+			"integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/visitor-keys": "5.62.0"
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/visitor-keys": "7.17.0"
 			}
 		},
 		"@typescript-eslint/types": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
-			"integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz",
+			"integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==",
 			"dev": true
 		},
 		"@typescript-eslint/typescript-estree": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
-			"integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz",
+			"integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/visitor-keys": "5.62.0",
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/visitor-keys": "7.17.0",
 				"debug": "^4.3.4",
 				"globby": "^11.1.0",
 				"is-glob": "^4.0.3",
-				"semver": "^7.3.7",
-				"tsutils": "^3.21.0"
-			}
-		},
-		"@typescript-eslint/utils": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
-			"integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
-			"dev": true,
-			"requires": {
-				"@eslint-community/eslint-utils": "^4.2.0",
-				"@types/json-schema": "^7.0.9",
-				"@types/semver": "^7.3.12",
-				"@typescript-eslint/scope-manager": "5.62.0",
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/typescript-estree": "5.62.0",
-				"eslint-scope": "^5.1.1",
-				"semver": "^7.3.7"
-			},
-			"dependencies": {
-				"eslint-scope": {
-					"version": "5.1.1",
-					"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-					"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+				"minimatch": "^9.0.4",
+				"semver": "^7.6.0",
+				"ts-api-utils": "^1.3.0"
+			},
+			"dependencies": {
+				"brace-expansion": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+					"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
 					"dev": true,
 					"requires": {
-						"esrecurse": "^4.3.0",
-						"estraverse": "^4.1.1"
+						"balanced-match": "^1.0.0"
 					}
 				},
-				"estraverse": {
-					"version": "4.3.0",
-					"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-					"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-					"dev": true
+				"minimatch": {
+					"version": "9.0.5",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^2.0.1"
+					}
 				}
 			}
 		},
+		"@typescript-eslint/utils": {
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz",
+			"integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==",
+			"dev": true,
+			"requires": {
+				"@eslint-community/eslint-utils": "^4.4.0",
+				"@typescript-eslint/scope-manager": "7.17.0",
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/typescript-estree": "7.17.0"
+			}
+		},
 		"@typescript-eslint/visitor-keys": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
-			"integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz",
+			"integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "5.62.0",
-				"eslint-visitor-keys": "^3.3.0"
+				"@typescript-eslint/types": "7.17.0",
+				"eslint-visitor-keys": "^3.4.3"
 			}
 		},
 		"@ungap/structured-clone": {
@@ -3922,9 +4054,9 @@
 			"dev": true
 		},
 		"acorn": {
-			"version": "8.11.3",
-			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
-			"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+			"version": "8.12.1",
+			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
+			"integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
 			"dev": true
 		},
 		"acorn-jsx": {
@@ -4041,12 +4173,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"
 			}
 		},
 		"browserslist": {
@@ -4062,9 +4194,9 @@
 			}
 		},
 		"browserslist-config-wikimedia": {
-			"version": "0.6.1",
-			"resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.6.1.tgz",
-			"integrity": "sha512-F3O+12ud7ZwBaiB/RZIMGDgz3nEuXz8RhtdPB4Lkd/WVP5Vy77EqBWRMz4vJ64x8LTTH3BOaHCD2ZuUcgShqyQ==",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.7.0.tgz",
+			"integrity": "sha512-CTa0lv78dXKEgrYsOLCkqO+9UUS3CV9MWEOYHcymgEvx4mYxB80sCoKRCR7wW2SOMNxjaP9hohrZripjnKuRTA==",
 			"dev": true
 		},
 		"builtin-modules": {
@@ -4073,15 +4205,6 @@
 			"integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
 			"dev": true
 		},
-		"builtins": {
-			"version": "5.1.0",
-			"resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz",
-			"integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==",
-			"dev": true,
-			"requires": {
-				"semver": "^7.0.0"
-			}
-		},
 		"callsites": {
 			"version": "3.1.0",
 			"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -4161,9 +4284,9 @@
 			"dev": true
 		},
 		"core-js-compat": {
-			"version": "3.37.0",
-			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz",
-			"integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==",
+			"version": "3.37.1",
+			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz",
+			"integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==",
 			"dev": true,
 			"requires": {
 				"browserslist": "^4.23.0"
@@ -4237,6 +4360,16 @@
 			"integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==",
 			"dev": true
 		},
+		"enhanced-resolve": {
+			"version": "5.17.1",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
+			"integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+			"dev": true,
+			"requires": {
+				"graceful-fs": "^4.2.4",
+				"tapable": "^2.2.0"
+			}
+		},
 		"error-ex": {
 			"version": "1.3.2",
 			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -4331,37 +4464,37 @@
 			}
 		},
 		"eslint-compat-utils": {
-			"version": "0.5.0",
-			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz",
-			"integrity": "sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==",
+			"version": "0.5.1",
+			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
+			"integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
 			"dev": true,
 			"requires": {
 				"semver": "^7.5.4"
 			}
 		},
 		"eslint-config-wikimedia": {
-			"version": "0.27.0",
-			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.27.0.tgz",
-			"integrity": "sha512-KkZ54+MUnggz17C/RCEMXQSpiiqZRF7p9fjrz4phaaeKlTrjg0B+QbM5zcDWcjGiAWaJUptHaH17+RZldadkUw==",
+			"version": "0.28.2",
+			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.28.2.tgz",
+			"integrity": "sha512-5+rdnT7wH1gpKAO6tHYThg78eMhZMruJzvqku3Y5iaEY/A7kSKLFpA/vOj/snys9fKjDHC9BXmArQh+agkOoJQ==",
 			"dev": true,
 			"requires": {
-				"browserslist-config-wikimedia": "^0.6.1",
+				"browserslist-config-wikimedia": "^0.7.0",
 				"eslint": "^8.57.0",
 				"eslint-plugin-compat": "^4.2.0",
 				"eslint-plugin-es-x": "^7.6.0",
-				"eslint-plugin-jest": "^27.9.0",
-				"eslint-plugin-jsdoc": "48.2.1",
-				"eslint-plugin-json-es": "^1.5.7",
-				"eslint-plugin-mediawiki": "^0.6.0",
-				"eslint-plugin-mocha": "^10.4.1",
-				"eslint-plugin-n": "^16.6.2",
-				"eslint-plugin-no-jquery": "^2.7.0",
+				"eslint-plugin-jest": "^28.5.0",
+				"eslint-plugin-jsdoc": "48.2.5",
+				"eslint-plugin-json-es": "^1.6.0",
+				"eslint-plugin-mediawiki": "^0.7.0",
+				"eslint-plugin-mocha": "^10.4.3",
+				"eslint-plugin-n": "^17.7.0",
+				"eslint-plugin-no-jquery": "^3.0.1",
 				"eslint-plugin-qunit": "^8.1.1",
 				"eslint-plugin-security": "^1.7.1",
-				"eslint-plugin-unicorn": "^51.0.1",
-				"eslint-plugin-vue": "^9.23.0",
+				"eslint-plugin-unicorn": "^53.0.0",
+				"eslint-plugin-vue": "^9.26.0",
 				"eslint-plugin-wdio": "^8.24.12",
-				"eslint-plugin-yml": "^1.13.2"
+				"eslint-plugin-yml": "^1.14.0"
 			}
 		},
 		"eslint-plugin-compat": {
@@ -4380,46 +4513,46 @@
 			}
 		},
 		"eslint-plugin-es-x": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz",
-			"integrity": "sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
+			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.6.0",
-				"eslint-compat-utils": "^0.5.0"
+				"@eslint-community/regexpp": "^4.11.0",
+				"eslint-compat-utils": "^0.5.1"
 			}
 		},
 		"eslint-plugin-jest": {
-			"version": "27.9.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz",
-			"integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==",
+			"version": "28.6.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.6.0.tgz",
+			"integrity": "sha512-YG28E1/MIKwnz+e2H7VwYPzHUYU4aMa19w0yGcwXnnmJH6EfgHahTJ2un3IyraUxNfnz/KUhJAFXNNwWPo12tg==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/utils": "^5.10.0"
+				"@typescript-eslint/utils": "^6.0.0 || ^7.0.0"
 			}
 		},
 		"eslint-plugin-jsdoc": {
-			"version": "48.2.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.1.tgz",
-			"integrity": "sha512-iUvbcyDZSO/9xSuRv2HQBw++8VkV/pt3UWtX9cpPH0l7GKPq78QC/6+PmyQHHvNZaTjAce6QVciEbnc6J/zH5g==",
+			"version": "48.2.5",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.5.tgz",
+			"integrity": "sha512-ZeTfKV474W1N9niWfawpwsXGu+ZoMXu4417eBROX31d7ZuOk8zyG66SO77DpJ2+A9Wa2scw/jRqBPnnQo7VbcQ==",
 			"dev": true,
 			"requires": {
-				"@es-joy/jsdoccomment": "~0.42.0",
+				"@es-joy/jsdoccomment": "~0.43.0",
 				"are-docs-informative": "^0.0.2",
 				"comment-parser": "1.4.1",
 				"debug": "^4.3.4",
 				"escape-string-regexp": "^4.0.0",
 				"esquery": "^1.5.0",
 				"is-builtin-module": "^3.2.1",
-				"semver": "^7.6.0",
+				"semver": "^7.6.1",
 				"spdx-expression-parse": "^4.0.0"
 			}
 		},
 		"eslint-plugin-json-es": {
-			"version": "1.5.7",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.5.7.tgz",
-			"integrity": "sha512-ehBHcCcJo4iViYx6vp3T+SmwzLIlVDzZNoVxN/txZIiPwDQ26mnYaN5iJ3imqN4l1b8z6rbxEH2kB9XDGxeU/w==",
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.6.0.tgz",
+			"integrity": "sha512-xVn6hufGQH1Aa+yqOhQ43Cq28GuitTcMpQh+uaUh27U2qnVLBrvkN+2xQSnv6zpdLEPS35JCNhq4kvhR+PQCgw==",
 			"dev": true,
 			"requires": {
 				"eslint-visitor-keys": "^3.3.0",
@@ -4427,9 +4560,9 @@
 			}
 		},
 		"eslint-plugin-mediawiki": {
-			"version": "0.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.6.0.tgz",
-			"integrity": "sha512-a2Zm18N5nPyflBajM2ZWATxucIpYPEmOSjFzUR1OBH3hAL0GY9fx1mpezEwzqAQ862d+kPkolgQOzktnZe8nKA==",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.7.0.tgz",
+			"integrity": "sha512-1Y2nsFDPp96xOZCB5ivZAgqYe9i6w2u64VoCIaAzPyZnd/2h8VQR3CtD+u4Yk/KrpbKq9AAJjrs5LS8VAz6KOA==",
 			"dev": true,
 			"requires": {
 				"eslint-plugin-vue": "^9.23.0",
@@ -4448,39 +4581,51 @@
 			}
 		},
 		"eslint-plugin-n": {
-			"version": "16.6.2",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz",
-			"integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==",
+			"version": "17.10.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.10.0.tgz",
+			"integrity": "sha512-NmrSdEid+ch9SBVuqbsK5CUiEZGtMK32KSI+arWahZbFF0nvX1oEJrWiFOWmhkWFKW9Hqor0g3qPh4AvkvWwlA==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"builtins": "^5.0.1",
+				"enhanced-resolve": "^5.17.0",
 				"eslint-plugin-es-x": "^7.5.0",
 				"get-tsconfig": "^4.7.0",
-				"globals": "^13.24.0",
+				"globals": "^15.8.0",
 				"ignore": "^5.2.4",
-				"is-builtin-module": "^3.2.1",
-				"is-core-module": "^2.12.1",
-				"minimatch": "^3.1.2",
-				"resolve": "^1.22.2",
+				"minimatch": "^9.0.5",
 				"semver": "^7.5.3"
 			},
 			"dependencies": {
+				"brace-expansion": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+					"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+					"dev": true,
+					"requires": {
+						"balanced-match": "^1.0.0"
+					}
+				},
+				"globals": {
+					"version": "15.8.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-15.8.0.tgz",
+					"integrity": "sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==",
+					"dev": true
+				},
 				"minimatch": {
-					"version": "3.1.2",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"version": "9.0.5",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "^2.0.1"
 					}
 				}
 			}
 		},
 		"eslint-plugin-no-jquery": {
-			"version": "2.7.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz",
-			"integrity": "sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==",
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-3.0.2.tgz",
+			"integrity": "sha512-n/+6p6PFhWDNPVLJj1463hw4OTIRBbROGcbhmtOHTgw7yihSKzkwZiQ00EJTneyeR3jRiw5lpWSMCCBhtb8t2g==",
 			"dev": true,
 			"requires": {}
 		},
@@ -4504,17 +4649,17 @@
 			}
 		},
 		"eslint-plugin-unicorn": {
-			"version": "51.0.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-51.0.1.tgz",
-			"integrity": "sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==",
+			"version": "53.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-53.0.0.tgz",
+			"integrity": "sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.22.20",
+				"@babel/helper-validator-identifier": "^7.24.5",
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"@eslint/eslintrc": "^2.1.4",
+				"@eslint/eslintrc": "^3.0.2",
 				"ci-info": "^4.0.0",
 				"clean-regexp": "^1.0.0",
-				"core-js-compat": "^3.34.0",
+				"core-js-compat": "^3.37.0",
 				"esquery": "^1.5.0",
 				"indent-string": "^4.0.0",
 				"is-builtin-module": "^3.2.1",
@@ -4523,14 +4668,80 @@
 				"read-pkg-up": "^7.0.1",
 				"regexp-tree": "^0.1.27",
 				"regjsparser": "^0.10.0",
-				"semver": "^7.5.4",
+				"semver": "^7.6.1",
 				"strip-indent": "^3.0.0"
+			},
+			"dependencies": {
+				"@eslint/eslintrc": {
+					"version": "3.1.0",
+					"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
+					"integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==",
+					"dev": true,
+					"requires": {
+						"ajv": "^6.12.4",
+						"debug": "^4.3.2",
+						"espree": "^10.0.1",
+						"globals": "^14.0.0",
+						"ignore": "^5.2.0",
+						"import-fresh": "^3.2.1",
+						"js-yaml": "^4.1.0",
+						"minimatch": "^3.1.2",
+						"strip-json-comments": "^3.1.1"
+					}
+				},
+				"argparse": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+					"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+					"dev": true
+				},
+				"eslint-visitor-keys": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
+					"integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
+					"dev": true
+				},
+				"espree": {
+					"version": "10.1.0",
+					"resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz",
+					"integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==",
+					"dev": true,
+					"requires": {
+						"acorn": "^8.12.0",
+						"acorn-jsx": "^5.3.2",
+						"eslint-visitor-keys": "^4.0.0"
+					}
+				},
+				"globals": {
+					"version": "14.0.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+					"integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+					"dev": true
+				},
+				"js-yaml": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"dev": true,
+					"requires": {
+						"argparse": "^2.0.1"
+					}
+				},
+				"minimatch": {
+					"version": "3.1.2",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^1.1.7"
+					}
+				}
 			}
 		},
 		"eslint-plugin-vue": {
-			"version": "9.25.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz",
-			"integrity": "sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==",
+			"version": "9.27.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.27.0.tgz",
+			"integrity": "sha512-5Dw3yxEyuBSXTzT5/Ge1X5kIkRTQ3nvBn/VwPwInNiZBSJOO/timWMUaflONnFBzU6NhB68lxnCda7ULV5N7LA==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.4.0",
@@ -4539,7 +4750,7 @@
 				"nth-check": "^2.1.1",
 				"postcss-selector-parser": "^6.0.15",
 				"semver": "^7.6.0",
-				"vue-eslint-parser": "^9.4.2",
+				"vue-eslint-parser": "^9.4.3",
 				"xml-name-validator": "^4.0.0"
 			}
 		},
@@ -4730,9 +4941,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"
@@ -4823,9 +5034,9 @@
 			"dev": true
 		},
 		"get-tsconfig": {
-			"version": "4.7.3",
-			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz",
-			"integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==",
+			"version": "4.7.6",
+			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.6.tgz",
+			"integrity": "sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==",
 			"dev": true,
 			"requires": {
 				"resolve-pkg-maps": "^1.0.0"
@@ -4918,6 +5129,12 @@
 				"slash": "^3.0.0"
 			}
 		},
+		"graceful-fs": {
+			"version": "4.2.11",
+			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+			"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+			"dev": true
+		},
 		"graphemer": {
 			"version": "1.4.0",
 			"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
@@ -4946,10 +5163,13 @@
 			}
 		},
 		"grunt-banana-checker": {
-			"version": "0.12.0",
-			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.12.0.tgz",
-			"integrity": "sha512-rdu8YqGxfyBUNMSLmqusSg8RUzGE61+kqrge4fRYb32Vqu5hzDGeomDQIkILEsSrZjtNTTcJ8iTwIswQ+POCGw==",
-			"dev": true
+			"version": "0.13.0",
+			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.13.0.tgz",
+			"integrity": "sha512-uAUKILcP69Q4OJHHV2wzxqVaoXB8G3Uh/XuSJLn0Bk/9+WiUY/Q4+OX7dUhrPPeDZPtoGh37qqJLVvZlDTUecg==",
+			"dev": true,
+			"requires": {
+				"chalk": "4.1.2"
+			}
 		},
 		"grunt-cli": {
 			"version": "1.4.3",
@@ -5361,15 +5581,6 @@
 			"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
 			"dev": true
 		},
-		"lru-cache": {
-			"version": "6.0.0",
-			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-			"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-			"dev": true,
-			"requires": {
-				"yallist": "^4.0.0"
-			}
-		},
 		"make-iterator": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
@@ -5674,9 +5885,9 @@
 			"dev": true
 		},
 		"postcss-selector-parser": {
-			"version": "6.0.16",
-			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz",
-			"integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==",
+			"version": "6.1.1",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz",
+			"integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==",
 			"dev": true,
 			"requires": {
 				"cssesc": "^3.0.0",
@@ -5894,13 +6105,10 @@
 			"dev": true
 		},
 		"semver": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
-			"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
-			"dev": true,
-			"requires": {
-				"lru-cache": "^6.0.0"
-			}
+			"version": "7.6.3",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+			"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+			"dev": true
 		},
 		"shebang-command": {
 			"version": "2.0.0",
@@ -5962,9 +6170,9 @@
 			}
 		},
 		"spdx-license-ids": {
-			"version": "3.0.17",
-			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
-			"integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
+			"version": "3.0.18",
+			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz",
+			"integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==",
 			"dev": true
 		},
 		"sprintf-js": {
@@ -6012,6 +6220,12 @@
 			"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
 			"dev": true
 		},
+		"tapable": {
+			"version": "2.2.1",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+			"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+			"dev": true
+		},
 		"text-table": {
 			"version": "0.2.0",
 			"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -6027,20 +6241,12 @@
 				"is-number": "^7.0.0"
 			}
 		},
-		"tslib": {
-			"version": "1.14.1",
-			"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-			"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-			"dev": true
-		},
-		"tsutils": {
-			"version": "3.21.0",
-			"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
-			"integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+		"ts-api-utils": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
+			"integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
 			"dev": true,
-			"requires": {
-				"tslib": "^1.8.1"
-			}
+			"requires": {}
 		},
 		"type-check": {
 			"version": "0.4.0",
@@ -6058,9 +6264,9 @@
 			"dev": true
 		},
 		"typescript": {
-			"version": "5.4.5",
-			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
-			"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+			"version": "5.5.4",
+			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz",
+			"integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==",
 			"dev": true,
 			"peer": true
 		},
@@ -6143,9 +6349,9 @@
 			}
 		},
 		"vue-eslint-parser": {
-			"version": "9.4.2",
-			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz",
-			"integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==",
+			"version": "9.4.3",
+			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz",
+			"integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==",
 			"dev": true,
 			"requires": {
 				"debug": "^4.3.4",
@@ -6178,12 +6384,6 @@
 			"integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
 			"dev": true
 		},
-		"yallist": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-			"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-			"dev": true
-		},
 		"yaml": {
 			"version": "2.4.1",
 			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
diff --git a/package.json b/package.json
index fdbccf0..da0a84f 100644
--- a/package.json
+++ b/package.json
@@ -5,9 +5,9 @@
 		"test": "grunt test"
 	},
 	"devDependencies": {
-		"eslint-config-wikimedia": "0.27.0",
+		"eslint-config-wikimedia": "0.28.2",
 		"grunt": "1.6.1",
-		"grunt-banana-checker": "0.12.0",
+		"grunt-banana-checker": "0.13.0",
 		"grunt-eslint": "24.3.0"
 	}
 }
-- 
2.39.2

$ date
--- stdout ---
Fri Jul 26 03:05:37 UTC 2024

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-PhpTagsWidgets.git repo --depth=1 -b master
--- 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/master
--- stdout ---
7d3eac8485147128af1bde40c03d1fab0e2aba8c refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "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
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 1,
      "critical": 0,
      "total": 1
    },
    "dependencies": {
      "prod": 1,
      "dev": 306,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 306
    }
  }
}

--- 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: 13 installs, 0 updates, 0 removals
  - Locking mediawiki/minus-x (1.1.3)
  - 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.4.0)
  - Locking psr/container (2.0.2)
  - Locking symfony/console (v7.1.2)
  - 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/service-contracts (v3.5.0)
  - Locking symfony/string (v7.1.2)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 13 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing symfony/polyfill-mbstring (v1.30.0): 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 (v7.1.2): 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/console (v7.1.2): Extracting archive
  - Installing mediawiki/minus-x (1.1.3): 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.4.0): Extracting archive
  0/13 [>---------------------------]   0%
 13/13 [============================] 100%
Generating autoload files
8 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---

--- end ---
Upgrading n:eslint-config-wikimedia from 0.27.0 -> 0.28.2
Upgrading n:grunt-banana-checker from 0.12.0 -> 0.13.0
$ /usr/bin/npm install
--- stdout ---

added 315 packages, and audited 316 packages in 5s

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

1 high severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
$ /usr/bin/npm install grunt-eslint@24.3.0 --save-exact
--- stdout ---

up to date, audited 316 packages in 844ms

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

1 high severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
$ ./node_modules/.bin/eslint PhpTagsWidgets.json resources/ext.pw.vega.js i18n/ar.json i18n/ast.json i18n/tr.json i18n/en.json i18n/ksh.json i18n/pt.json Gruntfile.js i18n/qqq.json i18n/nl.json i18n/lt.json package.json extension.json i18n/roa-tara.json i18n/ru.json i18n/sl.json composer.json resources/ext.pw.onReady.js i18n/ia.json i18n/zh-hant.json i18n/el.json package-lock.json i18n/be-tarask.json i18n/uk.json i18n/he.json i18n/nb.json i18n/fr.json i18n/es.json i18n/de.json i18n/mk.json i18n/pt-br.json i18n/zh-hans.json i18n/it.json i18n/gl.json --fix
--- stdout ---

/src/repo/PhpTagsWidgets.json
  1077:10  warning  Unexpected tab character  no-tabs

/src/repo/resources/ext.pw.onReady.js
   2:1   warning  Missing JSDoc @param "$" type                                              jsdoc/require-param-type
   3:1   warning  Missing JSDoc @param "mw" type                                             jsdoc/require-param-type
  16:15  warning  Do not access Object.prototype method 'hasOwnProperty' from target object  no-prototype-builtins
  26:21  warning  Do not access Object.prototype method 'hasOwnProperty' from target object  no-prototype-builtins
  47:36  warning  Do not access Object.prototype method 'hasOwnProperty' from target object  no-prototype-builtins

/src/repo/resources/ext.pw.vega.js
   2:1   warning  Missing JSDoc @param "$" type   jsdoc/require-param-type
   3:1   warning  Missing JSDoc @param "mw" type  jsdoc/require-param-type
   4:1   warning  Missing JSDoc @param "vg" type  jsdoc/require-param-type
  19:23  warning  'vg' is not defined             no-undef

✖ 10 problems (0 errors, 10 warnings)


--- end ---
$ ./node_modules/.bin/eslint PhpTagsWidgets.json resources/ext.pw.vega.js i18n/ar.json i18n/ast.json i18n/tr.json i18n/en.json i18n/ksh.json i18n/pt.json Gruntfile.js i18n/qqq.json i18n/nl.json i18n/lt.json package.json extension.json i18n/roa-tara.json i18n/ru.json i18n/sl.json composer.json resources/ext.pw.onReady.js i18n/ia.json i18n/zh-hant.json i18n/el.json package-lock.json i18n/be-tarask.json i18n/uk.json i18n/he.json i18n/nb.json i18n/fr.json i18n/es.json i18n/de.json i18n/mk.json i18n/pt-br.json i18n/zh-hans.json i18n/it.json i18n/gl.json -f json
--- stdout ---
[{"filePath":"/src/repo/Gruntfile.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/PhpTagsWidgets.json","messages":[{"ruleId":"no-tabs","severity":1,"message":"Unexpected tab character.","line":1077,"column":10,"nodeType":"Program","messageId":"unexpectedTab","endLine":1077,"endColumn":11}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"{\n\t\"objects\": {\n\t\t\"GenericWidget\": {\n\t\t\t\"METHODS\": {\n\t\t\t\t\"__construct\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"array\", \"name\": \"properties\", \"default\": \"null\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"Object\",\n\t\t\t\t\t\"desc\": \"Returns new object\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"PROPERTIES\": {\n\t\t\t\t\"backgroundImage\": {\n\t\t\t\t\t\"type\": \"mixed\",\n\t\t\t\t\t\"desc\": \"Set a background-image for the element\"\n\t\t\t\t},\n\t\t\t\t\"class\": {\n\t\t\t\t\t\"type\": \"nonobject\",\n\t\t\t\t\t\"get\": \"array\",\n\t\t\t\t\t\"desc\": \"Sets HTML attribute 'class' for object\"\n\t\t\t\t},\n\t\t\t\t\"dir\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"desc\": \"Sets HTML attribute 'dir' for object\"\n\t\t\t\t},\n\t\t\t\t\"lang\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"desc\": \"Sets HTML attribute 'lang' for object\"\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"desc\": \"Sets HTML attribute 'style' for object\"\n\t\t\t\t},\n\t\t\t\t\"title\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"desc\": \"Sets HTML attribute 'title' for object\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"Element\": {\n\t\t\t\"class\": \"WidgetElement\",\n\t\t\t\"parent\": \"GenericWidget\",\n\t\t\t\"METHODS\": {\n\t\t\t\t\"__construct\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"element\", \"default\": \"span\" },\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"content\", \"default\": \"null\" },\n\t\t\t\t\t\t{ \"type\": \"array\", \"name\": \"properties\", \"default\": \"null\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"Element\",\n\t\t\t\t\t\"desc\": \"Returns new Element object\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"Image\": {\n\t\t\t\"class\": \"WidgetImage\",\n\t\t\t\"parent\": \"GenericWidget\",\n\t\t\t\"METHODS\": {\n\t\t\t\t\"__construct\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"mixed\", \"name\": \"file\", \"default\": \"null\" },\n\t\t\t\t\t\t{ \"type\": \"array\", \"name\": \"properties\", \"default\": \"null\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"Image\",\n\t\t\t\t\t\"desc\": \"Returns new Image object\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"PROPERTIES\": {\n\t\t\t\t\"file\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"desc\": \"Specifies the file of an image\"\n\t\t\t\t},\n\t\t\t\t\"alt\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"desc\": \"Specifies an alternate text for an image\"\n\t\t\t\t},\n\t\t\t\t\"height\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"desc\": \"Specifies the height of an image attribute\"\n\t\t\t\t},\n\t\t\t\t\"width\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"desc\": \"Specifies the width of an image attribute\"\n\t\t\t\t},\n\t\t\t\t\"imageHeight\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"Specifies the physical height of an image in px\"\n\t\t\t\t},\n\t\t\t\t\"imageWidth\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"Specifies the physical width of an image in px\"\n\t\t\t\t},\n\t\t\t\t\"srcWidth\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"Return the width of the image\",\n\t\t\t\t\t\"readonly\": 1\n\t\t\t\t},\n\t\t\t\t\"srcHeight\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"Return the height of the image\",\n\t\t\t\t\t\"readonly\": 1\n\t\t\t\t},\n\t\t\t\t\"url\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"desc\": \"Return the url of the image\",\n\t\t\t\t\t\"readonly\": 1\n\t\t\t\t},\n\t\t\t\t\"exists\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"exist image\",\n\t\t\t\t\t\"readonly\": 1\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"Link\": {\n\t\t\t\"class\": \"WidgetLink\",\n\t\t\t\"parent\": \"GenericWidget\",\n\t\t\t\"METHODS\": {\n\t\t\t\t\"__construct\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"mixed\", \"name\": \"title\", \"default\": \"null\" },\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"text\", \"default\": \"null\" },\n\t\t\t\t\t\t{ \"type\": \"array\", \"name\": \"properties\", \"default\": \"null\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"Link\",\n\t\t\t\t\t\"desc\": \"Returns new Link object\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"MediaViewer\": {\n\t\t\t\"class\": \"WidgetMediaViewer\",\n\t\t\t\"parent\": \"GenericWidget\",\n\t\t\t\"METHODS\": {\n\t\t\t\t\"__construct\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"Image\", \"name\": \"image\", \"default\": \"null\" },\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"text\", \"default\": \"null\" },\n\t\t\t\t\t\t{ \"type\": \"array\", \"name\": \"properties\", \"default\": \"null\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"MediaViewer\",\n\t\t\t\t\t\"desc\": \"Returns new MediaViewer object\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"Slick\": {\n\t\t\t\"class\": \"WidgetSlick\",\n\t\t\t\"parent\": \"GenericWidget\",\n\t\t\t\"METHODS\": {\n\t\t\t\t\"__construct\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"mixed\", \"name\": \"slides\", \"default\": \"null\" },\n\t\t\t\t\t\t{ \"type\": \"array\", \"name\": \"properties\", \"default\": \"null\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"Slick\",\n\t\t\t\t\t\"desc\": \"Returns new Slick object\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"PROPERTIES\": {\n\t\t\t\t\"accessibility\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Enables tabbing and arrow key navigation\"\n\t\t\t\t},\n\t\t\t\t\"adaptiveHeight\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Enables adaptive height for single slide horizontal carousels\"\n\t\t\t\t},\n\t\t\t\t\"autoplay\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Enables Autoplay\"\n\t\t\t\t},\n\t\t\t\t\"autoplaySpeed\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"Autoplay Speed in milliseconds\"\n\t\t\t\t},\n\t\t\t\t\"arrows\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Prev/Next Arrows\"\n\t\t\t\t},\n\t\t\t\t\"asNavFor\": {\n\t\t\t\t\t\"type\": \"Slick\",\n\t\t\t\t\t\"desc\": \"Set the slider to be the navigation of other slider\"\n\t\t\t\t},\n\t\t\t\t\"centerMode\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Enables centered view with partial prev/next slides. Use with odd numbered slidesToShow counts\"\n\t\t\t\t},\n\t\t\t\t\"centerPadding\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"desc\": \"Side padding when in center mode (px or %)\"\n\t\t\t\t},\n\t\t\t\t\"cssEase\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"desc\": \"CSS3 Animation Easing\"\n\t\t\t\t},\n\t\t\t\t\"dots\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Show dot indicators\"\n\t\t\t\t},\n\t\t\t\t\"draggable\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Enable mouse dragging\"\n\t\t\t\t},\n\t\t\t\t\"fade\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Enable fade\"\n\t\t\t\t},\n\t\t\t\t\"focusOnSelect\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Enable focus on selected element (click)\"\n\t\t\t\t},\n\t\t\t\t\"infinite\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Infinite loop sliding\"\n\t\t\t\t},\n\t\t\t\t\"initialSlide\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"Slide to start on\"\n\t\t\t\t},\n\t\t\t\t\"pauseOnHover\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Pause Autoplay On Hover\"\n\t\t\t\t},\n\t\t\t\t\"pauseOnDotsHover\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Pause Autoplay when a dot is hovered\"\n\t\t\t\t},\n\t\t\t\t\"slide\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"desc\": \"Element query to use as slide\"\n\t\t\t\t},\n\t\t\t\t\"slidesToShow\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"# of slides to show\"\n\t\t\t\t},\n\t\t\t\t\"slidesToScroll\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"# of slides to scroll\"\n\t\t\t\t},\n\t\t\t\t\"speed\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"Slide/Fade animation speed\"\n\t\t\t\t},\n\t\t\t\t\"swipe\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Enable swiping\"\n\t\t\t\t},\n\t\t\t\t\"swipeToSlide\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Allow users to drag or swipe directly to a slide irrespective of slidesToScroll\"\n\t\t\t\t},\n\t\t\t\t\"touchMove\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Enable slide motion with touch\"\n\t\t\t\t},\n\t\t\t\t\"touchThreshold\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"To advance slides, the user must swipe a length of (1/touchThreshold) * the width of the slider\"\n\t\t\t\t},\n\t\t\t\t\"useCSS\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Enable/Disable CSS Transitions\"\n\t\t\t\t},\n\t\t\t\t\"variableWidth\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Variable width slides\"\n\t\t\t\t},\n\t\t\t\t\"waitForAnimate\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Ignores requests to advance the slide while animating\"\n\t\t\t\t},\n\t\t\t\t\"vertical\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Vertical slide mode\"\n\t\t\t\t},\n\t\t\t\t\"rtl\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"desc\": \"Change the slider's direction to become right-to-lef\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"FontAwesomeIcon\": {\n\t\t\t\"class\": \"WidgetFontAwesomeIcon\",\n\t\t\t\"parent\": \"GenericWidget\",\n\t\t\t\"METHODS\": {\n\t\t\t\t\"__construct\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"iconName\" },\n\t\t\t\t\t\t{ \"type\": \"array\", \"name\": \"properties\", \"default\": \"null\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"FontAwesomeIcon\",\n\t\t\t\t\t\"desc\": \"Returns new FontAwesomeIcon object\"\n\t\t\t\t},\n\t\t\t\t\"getIcons\": {\n\t\t\t\t\t\"parameters\": [],\n\t\t\t\t\t\"return\": \"array\",\n\t\t\t\t\t\"desc\": \"Returns array of available icons\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"PROPERTIES\": {\n\t\t\t\t\"lg\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"get\": \"FontAwesomeIcon\",\n\t\t\t\t\t\"desc\": \"Increases icon size to 33% relative to their container\"\n\t\t\t\t},\n\t\t\t\t\"_2x\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"get\": \"FontAwesomeIcon\",\n\t\t\t\t\t\"desc\": \"Increases icon size to 2x relative to their container\"\n\t\t\t\t},\n\t\t\t\t\"_3x\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"get\": \"FontAwesomeIcon\",\n\t\t\t\t\t\"desc\": \"Increases icon size to 3x relative to their container\"\n\t\t\t\t},\n\t\t\t\t\"_4x\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"get\": \"FontAwesomeIcon\",\n\t\t\t\t\t\"desc\": \"Increases icon size to 4x relative to their container\"\n\t\t\t\t},\n\t\t\t\t\"_5x\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"get\": \"FontAwesomeIcon\",\n\t\t\t\t\t\"desc\": \"Increases icon size to 5x relative to their container\"\n\t\t\t\t},\n\t\t\t\t\"fw\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"get\": \"FontAwesomeIcon\",\n\t\t\t\t\t\"desc\": \"Sets icons at a fixed width\"\n\t\t\t\t},\n\t\t\t\t\"li\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"get\": \"FontAwesomeIcon\",\n\t\t\t\t\t\"desc\": \"Replaces default bullets in unordered lists\"\n\t\t\t\t},\n\t\t\t\t\"border\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"get\": \"FontAwesomeIcon\",\n\t\t\t\t\t\"desc\": \"Adds border\"\n\t\t\t\t},\n\t\t\t\t\"spin\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"get\": \"FontAwesomeIcon\",\n\t\t\t\t\t\"desc\": \"Gets any icon to rotate\"\n\t\t\t\t},\n\t\t\t\t\"rotate_90\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"get\": \"FontAwesomeIcon\",\n\t\t\t\t\t\"desc\": \"Rotates icon on 90 degree\"\n\t\t\t\t},\n\t\t\t\t\"rotate_180\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"get\": \"FontAwesomeIcon\",\n\t\t\t\t\t\"desc\": \"Rotates icon on 180 degree\"\n\t\t\t\t},\n\t\t\t\t\"rotate_270\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"get\": \"FontAwesomeIcon\",\n\t\t\t\t\t\"desc\": \"Rotates icon on 270 degree\"\n\t\t\t\t},\n\t\t\t\t\"flip_horizontal\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"get\": \"FontAwesomeIcon\",\n\t\t\t\t\t\"desc\": \"Flips icon horizontally\"\n\t\t\t\t},\n\t\t\t\t\"flip_vertical\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"get\": \"FontAwesomeIcon\",\n\t\t\t\t\t\"desc\": \"Flips icon vertically\"\n\t\t\t\t},\n\t\t\t\t\"inverse\": {\n\t\t\t\t\t\"type\": \"bool\",\n\t\t\t\t\t\"get\": \"FontAwesomeIcon\",\n\t\t\t\t\t\"desc\": \"Uses an alternative icon color\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"FontAwesome\": {\n\t\t\t\"class\": \"WidgetFontAwesome\",\n\t\t\t\"CONSTANTS\": {\n\t\t\t\t\"500px\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"adjust\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"adn\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"align_center\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"align_justify\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"align_left\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"align_right\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"amazon\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"ambulance\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"anchor\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"android\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"angellist\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"angle_double_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"angle_double_left\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"angle_double_right\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"angle_double_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"angle_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"angle_left\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"angle_right\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"angle_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"apple\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"archive\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"area_chart\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"arrow_circle_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"arrow_circle_left\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"arrow_circle_o_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"arrow_circle_o_left\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"arrow_circle_o_right\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"arrow_circle_o_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"arrow_circle_right\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"arrow_circle_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"arrow_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"arrow_left\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"arrow_right\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"arrow_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"arrows\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"arrows_alt\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"arrows_h\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"arrows_v\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"asterisk\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"at\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"automobile\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"backward\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"balance_scale\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"ban\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bank\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bar_chart\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bar_chart_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"barcode\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bars\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"battery_0\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"battery_1\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"battery_2\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"battery_3\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"battery_4\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"battery_empty\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"battery_full\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"battery_half\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"battery_quarter\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"battery_three_quarters\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bed\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"beer\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"behance\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"behance_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bell\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bell_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bell_slash\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bell_slash_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bicycle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"binoculars\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"birthday_cake\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bitbucket\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bitbucket_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bitcoin\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"black_tie\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bluetooth\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bluetooth_b\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bold\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bolt\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bomb\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"book\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bookmark\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bookmark_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"briefcase\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"btc\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bug\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"building\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"building_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bullhorn\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bullseye\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"bus\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"buysellads\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cab\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"calculator\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"calendar\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"calendar_check_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"calendar_minus_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"calendar_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"calendar_plus_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"calendar_times_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"camera\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"camera_retro\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"car\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"caret_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"caret_left\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"caret_right\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"caret_square_o_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"caret_square_o_left\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"caret_square_o_right\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"caret_square_o_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"caret_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cart_arrow_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cart_plus\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cc\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cc_amex\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cc_diners_club\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cc_discover\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cc_jcb\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cc_mastercard\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cc_paypal\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cc_stripe\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cc_visa\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"certificate\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"chain\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"chain_broken\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"check\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"check_circle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"check_circle_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"check_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"check_square_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"chevron_circle_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"chevron_circle_left\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"chevron_circle_right\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"chevron_circle_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"chevron_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"chevron_left\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"chevron_right\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"chevron_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"child\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"chrome\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"circle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"circle_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"circle_o_notch\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"circle_thin\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"clipboard\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"clock_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"clone\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"close\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cloud\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cloud_download\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cloud_upload\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cny\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"code\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"code_fork\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"codepen\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"codiepie\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"coffee\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cog\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cogs\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"columns\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"comment\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"comment_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"commenting\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"commenting_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"comments\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"comments_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"compass\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"compress\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"connectdevelop\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"contao\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"copy\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"copyright\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"creative_commons\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"credit_card\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"credit_card_alt\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"crop\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"crosshairs\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"css3\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cube\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cubes\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cut\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"cutlery\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"dashboard\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"dashcube\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"database\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"dedent\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"delicious\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"desktop\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"deviantart\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"diamond\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"digg\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"dollar\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"dot_circle_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"download\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"dribbble\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"dropbox\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"drupal\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"edge\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"edit\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"eject\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"ellipsis_h\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"ellipsis_v\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"empire\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"envelope\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"envelope_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"envelope_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"eraser\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"eur\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"euro\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"exchange\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"exclamation\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"exclamation_circle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"exclamation_triangle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"expand\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"expeditedssl\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"external_link\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"external_link_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"eye\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"eye_slash\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"eyedropper\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"facebook\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"facebook_f\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"facebook_official\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"facebook_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"fast_backward\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"fast_forward\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"fax\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"feed\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"female\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"fighter_jet\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_archive_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_audio_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_code_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_excel_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_image_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_movie_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_pdf_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_photo_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_picture_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_powerpoint_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_sound_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_text\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_text_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_video_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_word_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"file_zip_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"files_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"film\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"filter\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"fire\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"fire_extinguisher\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"firefox\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"flag\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"flag_checkered\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"flag_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"flash\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"flask\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"flickr\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"floppy_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"folder\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"folder_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"folder_open\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"folder_open_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"font\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"fonticons\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"fort_awesome\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"forumbee\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"forward\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"foursquare\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"frown_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"futbol_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"gamepad\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"gavel\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"gbp\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"ge\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"gear\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"gears\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"genderless\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"get_pocket\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"gg\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"gg_circle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"gift\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"git\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"git_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"github\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"github_alt\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"github_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"gittip\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"glass\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"globe\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"google\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"google_plus\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"google_plus_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"google_wallet\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"graduation_cap\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"gratipay\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"group\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"h_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hacker_news\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hand_grab_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hand_lizard_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hand_o_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hand_o_left\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hand_o_right\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hand_o_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hand_paper_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hand_peace_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hand_pointer_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hand_rock_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hand_scissors_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hand_spock_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hand_stop_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hashtag\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hdd_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"header\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"headphones\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"heart\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"heart_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"heartbeat\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"history\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"home\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hospital_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hotel\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hourglass\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hourglass_1\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hourglass_2\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hourglass_3\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hourglass_end\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hourglass_half\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hourglass_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"hourglass_start\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"houzz\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"html5\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"i_cursor\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"ils\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"image\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"inbox\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"indent\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"industry\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"info\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"info_circle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"inr\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"instagram\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"institution\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"internet_explorer\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"intersex\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"ioxhost\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"italic\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"joomla\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"jpy\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"jsfiddle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"key\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"keyboard_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"krw\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"language\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"laptop\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"lastfm\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"lastfm_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"leaf\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"leanpub\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"legal\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"lemon_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"level_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"level_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"life_bouy\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"life_buoy\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"life_ring\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"life_saver\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"lightbulb_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"line_chart\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"link\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"linkedin\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"linkedin_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"linux\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"list\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"list_alt\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"list_ol\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"list_ul\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"location_arrow\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"lock\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"long_arrow_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"long_arrow_left\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"long_arrow_right\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"long_arrow_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"magic\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"magnet\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"mail_forward\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"mail_reply\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"mail_reply_all\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"male\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"map\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"map_marker\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"map_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"map_pin\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"map_signs\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"mars\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"mars_double\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"mars_stroke\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"mars_stroke_h\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"mars_stroke_v\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"maxcdn\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"meanpath\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"medium\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"medkit\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"meh_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"mercury\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"microphone\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"microphone_slash\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"minus\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"minus_circle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"minus_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"minus_square_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"mixcloud\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"mobile\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"mobile_phone\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"modx\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"money\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"moon_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"mortar_board\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"motorcycle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"mouse_pointer\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"music\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"navicon\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"neuter\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"newspaper_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"object_group\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"object_ungroup\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"odnoklassniki\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"odnoklassniki_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"opencart\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"openid\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"opera\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"optin_monster\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"outdent\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"pagelines\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"paint_brush\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"paper_plane\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"paper_plane_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"paperclip\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"paragraph\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"paste\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"pause\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"pause_circle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"pause_circle_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"paw\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"paypal\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"pencil\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"pencil_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"pencil_square_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"percent\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"phone\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"phone_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"photo\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"picture_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"pie_chart\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"pied_piper\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"pied_piper_alt\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"pinterest\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"pinterest_p\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"pinterest_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"plane\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"play\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"play_circle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"play_circle_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"plug\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"plus\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"plus_circle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"plus_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"plus_square_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"power_off\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"print\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"product_hunt\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"puzzle_piece\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"qq\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"qrcode\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"question\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"question_circle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"quote_left\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"quote_right\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"ra\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"random\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"rebel\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"recycle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"reddit\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"reddit_alien\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"reddit_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"refresh\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"registered\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"remove\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"renren\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"reorder\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"repeat\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"reply\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"reply_all\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"retweet\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"rmb\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"road\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"rocket\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"rotate_left\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"rotate_right\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"rouble\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"rss\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"rss_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"rub\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"ruble\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"rupee\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"safari\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"save\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"scissors\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"scribd\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"search\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"search_minus\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"search_plus\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sellsy\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"send\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"send_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"server\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"share\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"share_alt\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"share_alt_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"share_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"share_square_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"shekel\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sheqel\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"shield\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"ship\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"shirtsinbulk\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"shopping_bag\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"shopping_basket\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"shopping_cart\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sign_in\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sign_out\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"signal\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"simplybuilt\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sitemap\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"skyatlas\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"skype\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"slack\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sliders\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"slideshare\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"smile_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"soccer_ball_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sort\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sort_alpha_asc\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sort_alpha_desc\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sort_amount_asc\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sort_amount_desc\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sort_asc\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sort_desc\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sort_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sort_numeric_asc\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sort_numeric_desc\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sort_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"soundcloud\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"space_shuttle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"spinner\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"spoon\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"spotify\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"square_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"stack_exchange\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"stack_overflow\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"star\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"star_half\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"star_half_empty\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"star_half_full\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"star_half_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"star_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"steam\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"steam_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"step_backward\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"step_forward\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"stethoscope\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sticky_note\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sticky_note_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"stop\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"stop_circle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"stop_circle_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"street_view\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"strikethrough\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"stumbleupon\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"stumbleupon_circle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"subscript\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"subway\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"suitcase\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"sun_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"superscript\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"support\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"table\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"tablet\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"tachometer\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"tag\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"tags\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"tasks\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"taxi\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"television\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"tencent_weibo\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"terminal\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"text_height\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"text_width\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"th\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"th_large\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"th_list\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"thumb_tack\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"thumbs_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"thumbs_o_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"thumbs_o_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"thumbs_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"ticket\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"times\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"times_circle\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"times_circle_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"tint\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"toggle_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"toggle_left\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"toggle_off\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"toggle_on\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"toggle_right\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"toggle_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"trademark\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"train\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"transgender\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"transgender_alt\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"trash\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"trash_o\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"tree\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"trello\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"tripadvisor\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"trophy\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"truck\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"try\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"tty\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"tumblr\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"tumblr_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"turkish_lira\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"tv\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"twitch\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"twitter\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"twitter_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"umbrella\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"underline\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"undo\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"university\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"unlink\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"unlock\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"unlock_alt\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"unsorted\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"upload\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"usb\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"usd\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"user\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"user_md\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"user_plus\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"user_secret\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"user_times\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"users\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"venus\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"venus_double\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"venus_mars\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"viacoin\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"video_camera\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"vimeo\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"vimeo_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"vine\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"vk\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"volume_down\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"volume_off\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"volume_up\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"warning\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"wechat\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"weibo\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"weixin\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"whatsapp\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"wheelchair\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"wifi\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"wikipedia_w\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"windows\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"won\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"wordpress\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"wrench\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"xing\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"xing_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"y_combinator\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"y_combinator_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"yahoo\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"yc\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"yc_square\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"yelp\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"yen\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"youtube\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"youtube_play\": { \"type\": \"FontAwesomeIcon\" },\n\t\t\t\t\"youtube_square\": { \"type\": \"FontAwesomeIcon\" }\n\t\t\t}\n\t\t},\n\t\t\"FA\": {\t\"alias\": \"FontAwesome\" },\n\t\t\"Vega\": {\n\t\t\t\"class\": \"WidgetVega\",\n\t\t\t\"parent\": \"GenericWidget\",\n\t\t\t\"PROPERTIES\": {\n\t\t\t\t\"width\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"The total width, in pixels, of the data rectangle\"\n\t\t\t\t},\n\t\t\t\t\"height\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"The total height, in pixels, of the data rectangl\"\n\t\t\t\t},\n\t\t\t\t\"axes\": {\n\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\"desc\": \"Axis definitions\"\n\t\t\t\t},\n\t\t\t\t\"data\": {\n\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\"desc\": \"Definitions of data to visualize\"\n\t\t\t\t},\n\t\t\t\t\"legends\": {\n\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\"desc\": \"Legend definitions\"\n\t\t\t\t},\n\t\t\t\t\"marks\": {\n\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\"desc\": \"Graphical mark definitions\"\n\t\t\t\t},\n\t\t\t\t\"scales\": {\n\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\"desc\": \"Scale transform definitions\"\n\t\t\t\t},\n\t\t\t\t\"viewport\": {\n\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\"desc\": \"The width and height of the on-screen viewport, in pixels\"\n\t\t\t\t},\n\t\t\t\t\"padding\": {\n\t\t\t\t\t\"type\": \"nonobject\",\n\t\t\t\t\t\"desc\": \"The internal padding, in pixels, from the edge of the visualization canvas to the data rectangle\"\n\t\t\t\t},\n\t\t\t\t\"name\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"desc\": \"A unique name for the visualization specification\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t\"functions\": {\n\t\t\"fontawesome\": {\n\t\t\t\"class\": \"WidgetFontAwesomeIcon\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"iconName\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"properties\", \"default\": \"null\" }\n\t\t\t],\n\t\t\t\"return\": \"FontAwesomeIcon\",\n\t\t\t\"desc\": \"Returns new FontAwesomeIcon object\"\n\t\t},\n\t\t\"fa\": { \"alias\": \"fontawesome\" },\n\t\t\"slick\": {\n\t\t\t\"class\": \"WidgetSlick\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"slides\", \"default\": \"null\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"properties\", \"default\": \"null\" }\n\t\t\t],\n\t\t\t\"return\": \"Slick\",\n\t\t\t\"desc\": \"Returns new Slick object\"\n\t\t},\n\t\t\"vega\": {\n\t\t\t\"class\": \"WidgetVega\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"properties\", \"default\": \"null\" }\n\t\t\t],\n\t\t\t\"return\": \"Vega\",\n\t\t\t\"desc\": \"Returns new Vega object\"\n\t\t}\n\t},\n\t\"constants\": {\n\t\t\"PHPTAGS_WIDGETS_VERSION\": {\n\t\t\t\"desc\": \"The current version of the PhpTags Widget extension as a string\",\n\t\t\t\"class\": \"PhpTagsWidgetsConstants\",\n\t\t\t\"type\": \"string\",\n\t\t\t\"link\": \"https://www.mediawiki.org/wiki/Extension:PhpTags_Widgets\"\n\t\t}\n\t}\n}\n","usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/composer.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/extension.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ar.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ast.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/be-tarask.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/de.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/el.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/es.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/fr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/gl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/he.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ia.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/it.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ksh.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/lt.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/mk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/nb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/nl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/pt-br.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/pt.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/roa-tara.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ru.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/tr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/uk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/zh-hans.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/zh-hant.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/package-lock.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/package.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/ext.pw.onReady.js","messages":[{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"$\" type.","line":2,"column":1,"nodeType":"Block","endLine":2,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"mw\" type.","line":3,"column":1,"nodeType":"Block","endLine":3,"endColumn":1},{"ruleId":"no-prototype-builtins","severity":1,"message":"Do not access Object.prototype method 'hasOwnProperty' from target object.","line":16,"column":15,"nodeType":"CallExpression","messageId":"prototypeBuildIn","endLine":16,"endColumn":29,"suggestions":[{"messageId":"callObjectPrototype","data":{"prop":"hasOwnProperty"},"fix":{"range":[334,353],"text":"Object.prototype.hasOwnProperty.call($fn, "},"desc":"Call Object.prototype.hasOwnProperty explicitly."}]},{"ruleId":"no-prototype-builtins","severity":1,"message":"Do not access Object.prototype method 'hasOwnProperty' from target object.","line":26,"column":21,"nodeType":"CallExpression","messageId":"prototypeBuildIn","endLine":26,"endColumn":35,"suggestions":[{"messageId":"callObjectPrototype","data":{"prop":"hasOwnProperty"},"fix":{"range":[596,622],"text":"Object.prototype.hasOwnProperty.call($whenReady, "},"desc":"Call Object.prototype.hasOwnProperty explicitly."}]},{"ruleId":"no-prototype-builtins","severity":1,"message":"Do not access Object.prototype method 'hasOwnProperty' from target object.","line":47,"column":36,"nodeType":"CallExpression","messageId":"prototypeBuildIn","endLine":47,"endColumn":50,"suggestions":[{"messageId":"callObjectPrototype","data":{"prop":"hasOwnProperty"},"fix":{"range":[1157,1196],"text":"Object.prototype.hasOwnProperty.call($phptagsWidgets.onReady, "},"desc":"Call Object.prototype.hasOwnProperty explicitly."}]}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * @param $\n * @param mw\n */\n( function ( $, mw ) {\n\t'use strict';\n\n\tfunction onReady() {\n\t\tvar $phptagsWidgets = mw.config.get( 'ext.phptags.Widgets' ),\n\t\t\t$prefix = $phptagsWidgets.prefix,\n\t\t\t$whenReady = $phptagsWidgets.whenReady,\n\t\t\t$data,\n\t\t\t$k,\n\t\t\tmwPhpTagsWidgetsDoIt = function ( $fn ) {\n\t\t\t\tfor ( $k in $fn ) {\n\t\t\t\t\tif ( $fn.hasOwnProperty( $k ) ) {\n\t\t\t\t\t\t$data = ( $phptagsWidgets.data && $phptagsWidgets.data[ $k ] ) || {};\n\t\t\t\t\t\t$.fn[ $fn[ $k ] ].apply( $( '.' + $prefix + $k ), $data );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t$key;\n\n\t\tif ( $whenReady ) {\n\t\t\tfor ( $key in $whenReady ) {\n\t\t\t\tif ( $whenReady.hasOwnProperty( $key ) ) {\n\t\t\t\t\t$.when(\n\t\t\t\t\t\t$whenReady[ $key ].fn,\n\t\t\t\t\t\t$.ready,\n\t\t\t\t\t\tmw.loader.using( $whenReady[ $key ].modules )\n\t\t\t\t\t).done(\n\t\t\t\t\t\tmwPhpTagsWidgetsDoIt\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// The code below is needed only for compatibility with the previous version,\n\t\t// Without it pages from the cache will be broken :-(\n\t\tif ( $phptagsWidgets.wait && $phptagsWidgets.onReady ) {\n\t\t\t$.when(\n\t\t\t\t$.ready,\n\t\t\t\tmw.loader.using( $phptagsWidgets.wait )\n\t\t\t).done(\n\t\t\t\tfunction () {\n\t\t\t\t\tfor ( $key in $phptagsWidgets.onReady ) {\n\t\t\t\t\t\tif ( $phptagsWidgets.onReady.hasOwnProperty( $key ) ) {\n\t\t\t\t\t\t\t$.fn[ $phptagsWidgets.onReady[ $key ] ].apply( $( '.' + $prefix + $key ), $phptagsWidgets.data[ $key ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\t$( onReady );\n\n}( jQuery, mediaWiki ) );\n","usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/ext.pw.vega.js","messages":[{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"$\" type.","line":2,"column":1,"nodeType":"Block","endLine":2,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"mw\" type.","line":3,"column":1,"nodeType":"Block","endLine":3,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"vg\" type.","line":4,"column":1,"nodeType":"Block","endLine":4,"endColumn":1},{"ruleId":"no-undef","severity":1,"message":"'vg' is not defined.","line":19,"column":23,"nodeType":"Identifier","messageId":"undef","endLine":19,"endColumn":25}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * @param $\n * @param mw\n * @param vg\n */\n( function ( $, mw, vg ) {\n\t'use strict';\n\n\t$.fn.extpwVega = function ( $data ) {\n\t\tvg.config.safeMode = true;\n\t\tvg.config.domainWhiteList = mw.config.get( 'ext.phptags.Widgets' ).vega.domainWhiteList;\n\t\tthis.each( function ( index, element ) {\n\t\t\tvg.parse.spec( $data, function ( chart ) {\n\t\t\t\tchart( { el: element } ).update();\n\t\t\t} );\n\t\t} );\n\t};\n\n}( jQuery, mediaWiki, vg ) );\n","usedDeprecatedRules":[{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]}]

--- end ---
$ ./node_modules/.bin/banana-checker --autofix=true i18n
--- stdout ---
Checked 1 message directory.

--- end ---
$ /usr/bin/npm ci
--- stdout ---

added 315 packages, and audited 316 packages in 3s

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

1 high severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/PhpTagsWidgets.json
  1077:10  warning  Unexpected tab character  no-tabs

/src/repo/resources/ext.pw.onReady.js
   2:1   warning  Missing JSDoc @param "$" type                                              jsdoc/require-param-type
   3:1   warning  Missing JSDoc @param "mw" type                                             jsdoc/require-param-type
  16:15  warning  Do not access Object.prototype method 'hasOwnProperty' from target object  no-prototype-builtins
  26:21  warning  Do not access Object.prototype method 'hasOwnProperty' from target object  no-prototype-builtins
  47:36  warning  Do not access Object.prototype method 'hasOwnProperty' from target object  no-prototype-builtins

/src/repo/resources/ext.pw.vega.js
   2:1   warning  Missing JSDoc @param "$" type   jsdoc/require-param-type
   3:1   warning  Missing JSDoc @param "mw" type  jsdoc/require-param-type
   4:1   warning  Missing JSDoc @param "vg" type  jsdoc/require-param-type
  19:23  warning  'vg' is not defined             no-undef

✖ 10 problems (0 errors, 10 warnings)


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

Done.

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "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
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 1,
      "critical": 0,
      "total": 1
    },
    "dependencies": {
      "prod": 1,
      "dev": 315,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 315
    }
  }
}

--- 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
--- stdout ---
{
  "added": 0,
  "removed": 0,
  "changed": 2,
  "audited": 316,
  "funding": 58,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "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
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 0,
        "high": 1,
        "critical": 0,
        "total": 1
      },
      "dependencies": {
        "prod": 1,
        "dev": 315,
        "optional": 0,
        "peer": 1,
        "peerOptional": 0,
        "total": 315
      }
    }
  }
}

--- end ---
{"added": 0, "removed": 0, "changed": 2, "audited": 316, "funding": 58, "audit": {"auditReportVersion": 2, "vulnerabilities": {"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}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 0, "high": 1, "critical": 0, "total": 1}, "dependencies": {"prod": 1, "dev": 315, "optional": 0, "peer": 1, "peerOptional": 0, "total": 315}}}}
$ /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
--- stdout ---

up to date, audited 316 packages in 902ms

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

found 0 vulnerabilities

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stdout ---

added 315 packages, and audited 316 packages in 3s

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

found 0 vulnerabilities

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/PhpTagsWidgets.json
  1077:10  warning  Unexpected tab character  no-tabs

/src/repo/resources/ext.pw.onReady.js
   2:1   warning  Missing JSDoc @param "$" type                                              jsdoc/require-param-type
   3:1   warning  Missing JSDoc @param "mw" type                                             jsdoc/require-param-type
  16:15  warning  Do not access Object.prototype method 'hasOwnProperty' from target object  no-prototype-builtins
  26:21  warning  Do not access Object.prototype method 'hasOwnProperty' from target object  no-prototype-builtins
  47:36  warning  Do not access Object.prototype method 'hasOwnProperty' from target object  no-prototype-builtins

/src/repo/resources/ext.pw.vega.js
   2:1   warning  Missing JSDoc @param "$" type   jsdoc/require-param-type
   3:1   warning  Missing JSDoc @param "mw" type  jsdoc/require-param-type
   4:1   warning  Missing JSDoc @param "vg" type  jsdoc/require-param-type
  19:23  warning  'vg' is not defined             no-undef

✖ 10 problems (0 errors, 10 warnings)


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

Done.

--- end ---
{"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
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

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

* eslint-config-wikimedia: 0.27.0 → 0.28.2
* grunt-banana-checker: 0.12.0 → 0.13.0
* braces: 3.0.2 → 3.0.3
  * https://github.com/advisories/GHSA-grv7-fg5c-xmjg

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmp_wutvy8h
--- stdout ---
[master cf5cadb] build: Updating npm dependencies
 2 files changed, 658 insertions(+), 458 deletions(-)

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

* eslint-config-wikimedia: 0.27.0 → 0.28.2
* grunt-banana-checker: 0.12.0 → 0.13.0
* braces: 3.0.2 → 3.0.3
  * https://github.com/advisories/GHSA-grv7-fg5c-xmjg

Change-Id: If2a99735610b2b8983621c8a1e00cc4d7bfa8eef
---
 package-lock.json | 1112 ++++++++++++++++++++++++++-------------------
 package.json      |    4 +-
 2 files changed, 658 insertions(+), 458 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 2a33242..e70a272 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,9 +6,9 @@
 		"": {
 			"name": "PhpTagsWidgets",
 			"devDependencies": {
-				"eslint-config-wikimedia": "0.27.0",
+				"eslint-config-wikimedia": "0.28.2",
 				"grunt": "1.6.1",
-				"grunt-banana-checker": "0.12.0",
+				"grunt-banana-checker": "0.13.0",
 				"grunt-eslint": "24.3.0"
 			}
 		},
@@ -22,12 +22,12 @@
 			}
 		},
 		"node_modules/@babel/code-frame": {
-			"version": "7.24.2",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
-			"integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
+			"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.24.2",
+				"@babel/highlight": "^7.24.7",
 				"picocolors": "^1.0.0"
 			},
 			"engines": {
@@ -35,21 +35,21 @@
 			}
 		},
 		"node_modules/@babel/helper-validator-identifier": {
-			"version": "7.22.20",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
-			"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+			"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"
 			}
 		},
 		"node_modules/@babel/highlight": {
-			"version": "7.24.2",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
-			"integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
+			"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.22.20",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"chalk": "^2.4.2",
 				"js-tokens": "^4.0.0",
 				"picocolors": "^1.0.0"
@@ -130,11 +130,14 @@
 			}
 		},
 		"node_modules/@es-joy/jsdoccomment": {
-			"version": "0.42.0",
-			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.42.0.tgz",
-			"integrity": "sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==",
+			"version": "0.43.1",
+			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.43.1.tgz",
+			"integrity": "sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==",
 			"dev": true,
 			"dependencies": {
+				"@types/eslint": "^8.56.5",
+				"@types/estree": "^1.0.5",
+				"@typescript-eslint/types": "^7.2.0",
 				"comment-parser": "1.4.1",
 				"esquery": "^1.5.0",
 				"jsdoc-type-pratt-parser": "~4.0.0"
@@ -159,9 +162,9 @@
 			}
 		},
 		"node_modules/@eslint-community/regexpp": {
-			"version": "4.10.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
-			"integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+			"version": "4.11.0",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
+			"integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
 			"dev": true,
 			"engines": {
 				"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
@@ -309,6 +312,22 @@
 			"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
 			"dev": true
 		},
+		"node_modules/@types/eslint": {
+			"version": "8.56.11",
+			"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz",
+			"integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==",
+			"dev": true,
+			"dependencies": {
+				"@types/estree": "*",
+				"@types/json-schema": "*"
+			}
+		},
+		"node_modules/@types/estree": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+			"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+			"dev": true
+		},
 		"node_modules/@types/json-schema": {
 			"version": "7.0.15",
 			"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
@@ -321,23 +340,17 @@
 			"integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
 			"dev": true
 		},
-		"node_modules/@types/semver": {
-			"version": "7.5.8",
-			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
-			"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
-			"dev": true
-		},
 		"node_modules/@typescript-eslint/scope-manager": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
-			"integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz",
+			"integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/visitor-keys": "5.62.0"
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/visitor-keys": "7.17.0"
 			},
 			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+				"node": "^18.18.0 || >=20.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -345,12 +358,12 @@
 			}
 		},
 		"node_modules/@typescript-eslint/types": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
-			"integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz",
+			"integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==",
 			"dev": true,
 			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+				"node": "^18.18.0 || >=20.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -358,21 +371,22 @@
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
-			"integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz",
+			"integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/visitor-keys": "5.62.0",
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/visitor-keys": "7.17.0",
 				"debug": "^4.3.4",
 				"globby": "^11.1.0",
 				"is-glob": "^4.0.3",
-				"semver": "^7.3.7",
-				"tsutils": "^3.21.0"
+				"minimatch": "^9.0.4",
+				"semver": "^7.6.0",
+				"ts-api-utils": "^1.3.0"
 			},
 			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+				"node": "^18.18.0 || >=20.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -384,65 +398,63 @@
 				}
 			}
 		},
-		"node_modules/@typescript-eslint/utils": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
-			"integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
+		"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
 			"dev": true,
 			"dependencies": {
-				"@eslint-community/eslint-utils": "^4.2.0",
-				"@types/json-schema": "^7.0.9",
-				"@types/semver": "^7.3.12",
-				"@typescript-eslint/scope-manager": "5.62.0",
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/typescript-estree": "5.62.0",
-				"eslint-scope": "^5.1.1",
-				"semver": "^7.3.7"
-			},
-			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			},
-			"peerDependencies": {
-				"eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+				"balanced-match": "^1.0.0"
 			}
 		},
-		"node_modules/@typescript-eslint/utils/node_modules/eslint-scope": {
-			"version": "5.1.1",
-			"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-			"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+		"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
+			"version": "9.0.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 			"dev": true,
 			"dependencies": {
-				"esrecurse": "^4.3.0",
-				"estraverse": "^4.1.1"
+				"brace-expansion": "^2.0.1"
 			},
 			"engines": {
-				"node": ">=8.0.0"
+				"node": ">=16 || 14 >=14.17"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
-		"node_modules/@typescript-eslint/utils/node_modules/estraverse": {
-			"version": "4.3.0",
-			"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-			"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+		"node_modules/@typescript-eslint/utils": {
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz",
+			"integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==",
 			"dev": true,
+			"dependencies": {
+				"@eslint-community/eslint-utils": "^4.4.0",
+				"@typescript-eslint/scope-manager": "7.17.0",
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/typescript-estree": "7.17.0"
+			},
 			"engines": {
-				"node": ">=4.0"
+				"node": "^18.18.0 || >=20.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			},
+			"peerDependencies": {
+				"eslint": "^8.56.0"
 			}
 		},
 		"node_modules/@typescript-eslint/visitor-keys": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
-			"integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz",
+			"integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "5.62.0",
-				"eslint-visitor-keys": "^3.3.0"
+				"@typescript-eslint/types": "7.17.0",
+				"eslint-visitor-keys": "^3.4.3"
 			},
 			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+				"node": "^18.18.0 || >=20.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -462,9 +474,9 @@
 			"dev": true
 		},
 		"node_modules/acorn": {
-			"version": "8.11.3",
-			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
-			"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+			"version": "8.12.1",
+			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
+			"integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
 			"dev": true,
 			"bin": {
 				"acorn": "bin/acorn"
@@ -609,12 +621,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"
@@ -653,9 +665,9 @@
 			}
 		},
 		"node_modules/browserslist-config-wikimedia": {
-			"version": "0.6.1",
-			"resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.6.1.tgz",
-			"integrity": "sha512-F3O+12ud7ZwBaiB/RZIMGDgz3nEuXz8RhtdPB4Lkd/WVP5Vy77EqBWRMz4vJ64x8LTTH3BOaHCD2ZuUcgShqyQ==",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.7.0.tgz",
+			"integrity": "sha512-CTa0lv78dXKEgrYsOLCkqO+9UUS3CV9MWEOYHcymgEvx4mYxB80sCoKRCR7wW2SOMNxjaP9hohrZripjnKuRTA==",
 			"dev": true
 		},
 		"node_modules/builtin-modules": {
@@ -670,15 +682,6 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/builtins": {
-			"version": "5.1.0",
-			"resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz",
-			"integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==",
-			"dev": true,
-			"dependencies": {
-				"semver": "^7.0.0"
-			}
-		},
 		"node_modules/callsites": {
 			"version": "3.1.0",
 			"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -803,9 +806,9 @@
 			"dev": true
 		},
 		"node_modules/core-js-compat": {
-			"version": "3.37.0",
-			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz",
-			"integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==",
+			"version": "3.37.1",
+			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz",
+			"integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==",
 			"dev": true,
 			"dependencies": {
 				"browserslist": "^4.23.0"
@@ -912,6 +915,19 @@
 			"integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==",
 			"dev": true
 		},
+		"node_modules/enhanced-resolve": {
+			"version": "5.17.1",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
+			"integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+			"dev": true,
+			"dependencies": {
+				"graceful-fs": "^4.2.4",
+				"tapable": "^2.2.0"
+			},
+			"engines": {
+				"node": ">=10.13.0"
+			}
+		},
 		"node_modules/error-ex": {
 			"version": "1.3.2",
 			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -998,9 +1014,9 @@
 			}
 		},
 		"node_modules/eslint-compat-utils": {
-			"version": "0.5.0",
-			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz",
-			"integrity": "sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==",
+			"version": "0.5.1",
+			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
+			"integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
 			"dev": true,
 			"dependencies": {
 				"semver": "^7.5.4"
@@ -1013,28 +1029,28 @@
 			}
 		},
 		"node_modules/eslint-config-wikimedia": {
-			"version": "0.27.0",
-			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.27.0.tgz",
-			"integrity": "sha512-KkZ54+MUnggz17C/RCEMXQSpiiqZRF7p9fjrz4phaaeKlTrjg0B+QbM5zcDWcjGiAWaJUptHaH17+RZldadkUw==",
+			"version": "0.28.2",
+			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.28.2.tgz",
+			"integrity": "sha512-5+rdnT7wH1gpKAO6tHYThg78eMhZMruJzvqku3Y5iaEY/A7kSKLFpA/vOj/snys9fKjDHC9BXmArQh+agkOoJQ==",
 			"dev": true,
 			"dependencies": {
-				"browserslist-config-wikimedia": "^0.6.1",
+				"browserslist-config-wikimedia": "^0.7.0",
 				"eslint": "^8.57.0",
 				"eslint-plugin-compat": "^4.2.0",
 				"eslint-plugin-es-x": "^7.6.0",
-				"eslint-plugin-jest": "^27.9.0",
-				"eslint-plugin-jsdoc": "48.2.1",
-				"eslint-plugin-json-es": "^1.5.7",
-				"eslint-plugin-mediawiki": "^0.6.0",
-				"eslint-plugin-mocha": "^10.4.1",
-				"eslint-plugin-n": "^16.6.2",
-				"eslint-plugin-no-jquery": "^2.7.0",
+				"eslint-plugin-jest": "^28.5.0",
+				"eslint-plugin-jsdoc": "48.2.5",
+				"eslint-plugin-json-es": "^1.6.0",
+				"eslint-plugin-mediawiki": "^0.7.0",
+				"eslint-plugin-mocha": "^10.4.3",
+				"eslint-plugin-n": "^17.7.0",
+				"eslint-plugin-no-jquery": "^3.0.1",
 				"eslint-plugin-qunit": "^8.1.1",
 				"eslint-plugin-security": "^1.7.1",
-				"eslint-plugin-unicorn": "^51.0.1",
-				"eslint-plugin-vue": "^9.23.0",
+				"eslint-plugin-unicorn": "^53.0.0",
+				"eslint-plugin-vue": "^9.26.0",
 				"eslint-plugin-wdio": "^8.24.12",
-				"eslint-plugin-yml": "^1.13.2"
+				"eslint-plugin-yml": "^1.14.0"
 			}
 		},
 		"node_modules/eslint-plugin-compat": {
@@ -1059,39 +1075,40 @@
 			}
 		},
 		"node_modules/eslint-plugin-es-x": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz",
-			"integrity": "sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
+			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
 			"dev": true,
+			"funding": [
+				"https://github.com/sponsors/ota-meshi",
+				"https://opencollective.com/eslint"
+			],
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.6.0",
-				"eslint-compat-utils": "^0.5.0"
+				"@eslint-community/regexpp": "^4.11.0",
+				"eslint-compat-utils": "^0.5.1"
 			},
 			"engines": {
 				"node": "^14.18.0 || >=16.0.0"
 			},
-			"funding": {
-				"url": "https://github.com/sponsors/ota-meshi"
-			},
 			"peerDependencies": {
 				"eslint": ">=8"
 			}
 		},
 		"node_modules/eslint-plugin-jest": {
-			"version": "27.9.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz",
-			"integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==",
+			"version": "28.6.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.6.0.tgz",
+			"integrity": "sha512-YG28E1/MIKwnz+e2H7VwYPzHUYU4aMa19w0yGcwXnnmJH6EfgHahTJ2un3IyraUxNfnz/KUhJAFXNNwWPo12tg==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/utils": "^5.10.0"
+				"@typescript-eslint/utils": "^6.0.0 || ^7.0.0"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^16.10.0 || ^18.12.0 || >=20.0.0"
 			},
 			"peerDependencies": {
-				"@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0",
-				"eslint": "^7.0.0 || ^8.0.0",
+				"@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0",
+				"eslint": "^7.0.0 || ^8.0.0 || ^9.0.0",
 				"jest": "*"
 			},
 			"peerDependenciesMeta": {
@@ -1104,19 +1121,19 @@
 			}
 		},
 		"node_modules/eslint-plugin-jsdoc": {
-			"version": "48.2.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.1.tgz",
-			"integrity": "sha512-iUvbcyDZSO/9xSuRv2HQBw++8VkV/pt3UWtX9cpPH0l7GKPq78QC/6+PmyQHHvNZaTjAce6QVciEbnc6J/zH5g==",
+			"version": "48.2.5",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.5.tgz",
+			"integrity": "sha512-ZeTfKV474W1N9niWfawpwsXGu+ZoMXu4417eBROX31d7ZuOk8zyG66SO77DpJ2+A9Wa2scw/jRqBPnnQo7VbcQ==",
 			"dev": true,
 			"dependencies": {
-				"@es-joy/jsdoccomment": "~0.42.0",
+				"@es-joy/jsdoccomment": "~0.43.0",
 				"are-docs-informative": "^0.0.2",
 				"comment-parser": "1.4.1",
 				"debug": "^4.3.4",
 				"escape-string-regexp": "^4.0.0",
 				"esquery": "^1.5.0",
 				"is-builtin-module": "^3.2.1",
-				"semver": "^7.6.0",
+				"semver": "^7.6.1",
 				"spdx-expression-parse": "^4.0.0"
 			},
 			"engines": {
@@ -1127,9 +1144,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-json-es": {
-			"version": "1.5.7",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.5.7.tgz",
-			"integrity": "sha512-ehBHcCcJo4iViYx6vp3T+SmwzLIlVDzZNoVxN/txZIiPwDQ26mnYaN5iJ3imqN4l1b8z6rbxEH2kB9XDGxeU/w==",
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.6.0.tgz",
+			"integrity": "sha512-xVn6hufGQH1Aa+yqOhQ43Cq28GuitTcMpQh+uaUh27U2qnVLBrvkN+2xQSnv6zpdLEPS35JCNhq4kvhR+PQCgw==",
 			"dev": true,
 			"dependencies": {
 				"eslint-visitor-keys": "^3.3.0",
@@ -1140,9 +1157,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-mediawiki": {
-			"version": "0.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.6.0.tgz",
-			"integrity": "sha512-a2Zm18N5nPyflBajM2ZWATxucIpYPEmOSjFzUR1OBH3hAL0GY9fx1mpezEwzqAQ862d+kPkolgQOzktnZe8nKA==",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.7.0.tgz",
+			"integrity": "sha512-1Y2nsFDPp96xOZCB5ivZAgqYe9i6w2u64VoCIaAzPyZnd/2h8VQR3CtD+u4Yk/KrpbKq9AAJjrs5LS8VAz6KOA==",
 			"dev": true,
 			"dependencies": {
 				"eslint-plugin-vue": "^9.23.0",
@@ -1170,52 +1187,73 @@
 			}
 		},
 		"node_modules/eslint-plugin-n": {
-			"version": "16.6.2",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz",
-			"integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==",
+			"version": "17.10.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.10.0.tgz",
+			"integrity": "sha512-NmrSdEid+ch9SBVuqbsK5CUiEZGtMK32KSI+arWahZbFF0nvX1oEJrWiFOWmhkWFKW9Hqor0g3qPh4AvkvWwlA==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"builtins": "^5.0.1",
+				"enhanced-resolve": "^5.17.0",
 				"eslint-plugin-es-x": "^7.5.0",
 				"get-tsconfig": "^4.7.0",
-				"globals": "^13.24.0",
+				"globals": "^15.8.0",
 				"ignore": "^5.2.4",
-				"is-builtin-module": "^3.2.1",
-				"is-core-module": "^2.12.1",
-				"minimatch": "^3.1.2",
-				"resolve": "^1.22.2",
+				"minimatch": "^9.0.5",
 				"semver": "^7.5.3"
 			},
 			"engines": {
-				"node": ">=16.0.0"
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
 			},
 			"funding": {
-				"url": "https://github.com/sponsors/mysticatea"
+				"url": "https://opencollective.com/eslint"
 			},
 			"peerDependencies": {
-				"eslint": ">=7.0.0"
+				"eslint": ">=8.23.0"
+			}
+		},
+		"node_modules/eslint-plugin-n/node_modules/brace-expansion": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"dev": true,
+			"dependencies": {
+				"balanced-match": "^1.0.0"
+			}
+		},
+		"node_modules/eslint-plugin-n/node_modules/globals": {
+			"version": "15.8.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-15.8.0.tgz",
+			"integrity": "sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==",
+			"dev": true,
+			"engines": {
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/eslint-plugin-n/node_modules/minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"version": "9.0.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 			"dev": true,
 			"dependencies": {
-				"brace-expansion": "^1.1.7"
+				"brace-expansion": "^2.0.1"
 			},
 			"engines": {
-				"node": "*"
+				"node": ">=16 || 14 >=14.17"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
 		"node_modules/eslint-plugin-no-jquery": {
-			"version": "2.7.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz",
-			"integrity": "sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==",
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-3.0.2.tgz",
+			"integrity": "sha512-n/+6p6PFhWDNPVLJj1463hw4OTIRBbROGcbhmtOHTgw7yihSKzkwZiQ00EJTneyeR3jRiw5lpWSMCCBhtb8t2g==",
 			"dev": true,
 			"peerDependencies": {
-				"eslint": ">=2.3.0"
+				"eslint": ">=8.0.0"
 			}
 		},
 		"node_modules/eslint-plugin-qunit": {
@@ -1241,17 +1279,17 @@
 			}
 		},
 		"node_modules/eslint-plugin-unicorn": {
-			"version": "51.0.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-51.0.1.tgz",
-			"integrity": "sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==",
+			"version": "53.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-53.0.0.tgz",
+			"integrity": "sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.22.20",
+				"@babel/helper-validator-identifier": "^7.24.5",
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"@eslint/eslintrc": "^2.1.4",
+				"@eslint/eslintrc": "^3.0.2",
 				"ci-info": "^4.0.0",
 				"clean-regexp": "^1.0.0",
-				"core-js-compat": "^3.34.0",
+				"core-js-compat": "^3.37.0",
 				"esquery": "^1.5.0",
 				"indent-string": "^4.0.0",
 				"is-builtin-module": "^3.2.1",
@@ -1260,11 +1298,11 @@
 				"read-pkg-up": "^7.0.1",
 				"regexp-tree": "^0.1.27",
 				"regjsparser": "^0.10.0",
-				"semver": "^7.5.4",
+				"semver": "^7.6.1",
 				"strip-indent": "^3.0.0"
 			},
 			"engines": {
-				"node": ">=16"
+				"node": ">=18.18"
 			},
 			"funding": {
 				"url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1"
@@ -1273,10 +1311,104 @@
 				"eslint": ">=8.56.0"
 			}
 		},
+		"node_modules/eslint-plugin-unicorn/node_modules/@eslint/eslintrc": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
+			"integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==",
+			"dev": true,
+			"dependencies": {
+				"ajv": "^6.12.4",
+				"debug": "^4.3.2",
+				"espree": "^10.0.1",
+				"globals": "^14.0.0",
+				"ignore": "^5.2.0",
+				"import-fresh": "^3.2.1",
+				"js-yaml": "^4.1.0",
+				"minimatch": "^3.1.2",
+				"strip-json-comments": "^3.1.1"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/argparse": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+			"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+			"dev": true
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/eslint-visitor-keys": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
+			"integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
+			"dev": true,
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/espree": {
+			"version": "10.1.0",
+			"resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz",
+			"integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==",
+			"dev": true,
+			"dependencies": {
+				"acorn": "^8.12.0",
+				"acorn-jsx": "^5.3.2",
+				"eslint-visitor-keys": "^4.0.0"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/globals": {
+			"version": "14.0.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+			"integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+			"dev": true,
+			"engines": {
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/js-yaml": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"dev": true,
+			"dependencies": {
+				"argparse": "^2.0.1"
+			},
+			"bin": {
+				"js-yaml": "bin/js-yaml.js"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/minimatch": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"dev": true,
+			"dependencies": {
+				"brace-expansion": "^1.1.7"
+			},
+			"engines": {
+				"node": "*"
+			}
+		},
 		"node_modules/eslint-plugin-vue": {
-			"version": "9.25.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz",
-			"integrity": "sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==",
+			"version": "9.27.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.27.0.tgz",
+			"integrity": "sha512-5Dw3yxEyuBSXTzT5/Ge1X5kIkRTQ3nvBn/VwPwInNiZBSJOO/timWMUaflONnFBzU6NhB68lxnCda7ULV5N7LA==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.4.0",
@@ -1285,7 +1417,7 @@
 				"nth-check": "^2.1.1",
 				"postcss-selector-parser": "^6.0.15",
 				"semver": "^7.6.0",
-				"vue-eslint-parser": "^9.4.2",
+				"vue-eslint-parser": "^9.4.3",
 				"xml-name-validator": "^4.0.0"
 			},
 			"engines": {
@@ -1584,9 +1716,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"
@@ -1707,9 +1839,9 @@
 			}
 		},
 		"node_modules/get-tsconfig": {
-			"version": "4.7.3",
-			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz",
-			"integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==",
+			"version": "4.7.6",
+			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.6.tgz",
+			"integrity": "sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==",
 			"dev": true,
 			"dependencies": {
 				"resolve-pkg-maps": "^1.0.0"
@@ -1833,6 +1965,12 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/graceful-fs": {
+			"version": "4.2.11",
+			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+			"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+			"dev": true
+		},
 		"node_modules/graphemer": {
 			"version": "1.4.0",
 			"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
@@ -1867,10 +2005,13 @@
 			}
 		},
 		"node_modules/grunt-banana-checker": {
-			"version": "0.12.0",
-			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.12.0.tgz",
-			"integrity": "sha512-rdu8YqGxfyBUNMSLmqusSg8RUzGE61+kqrge4fRYb32Vqu5hzDGeomDQIkILEsSrZjtNTTcJ8iTwIswQ+POCGw==",
+			"version": "0.13.0",
+			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.13.0.tgz",
+			"integrity": "sha512-uAUKILcP69Q4OJHHV2wzxqVaoXB8G3Uh/XuSJLn0Bk/9+WiUY/Q4+OX7dUhrPPeDZPtoGh37qqJLVvZlDTUecg==",
 			"dev": true,
+			"dependencies": {
+				"chalk": "4.1.2"
+			},
 			"bin": {
 				"banana-checker": "src/cli.js"
 			},
@@ -2413,18 +2554,6 @@
 			"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
 			"dev": true
 		},
-		"node_modules/lru-cache": {
-			"version": "6.0.0",
-			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-			"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-			"dev": true,
-			"dependencies": {
-				"yallist": "^4.0.0"
-			},
-			"engines": {
-				"node": ">=10"
-			}
-		},
 		"node_modules/make-iterator": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
@@ -2829,9 +2958,9 @@
 			}
 		},
 		"node_modules/postcss-selector-parser": {
-			"version": "6.0.16",
-			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz",
-			"integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==",
+			"version": "6.1.1",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz",
+			"integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==",
 			"dev": true,
 			"dependencies": {
 				"cssesc": "^3.0.0",
@@ -3147,13 +3276,10 @@
 			"dev": true
 		},
 		"node_modules/semver": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
-			"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+			"version": "7.6.3",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+			"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
 			"dev": true,
-			"dependencies": {
-				"lru-cache": "^6.0.0"
-			},
 			"bin": {
 				"semver": "bin/semver.js"
 			},
@@ -3228,9 +3354,9 @@
 			}
 		},
 		"node_modules/spdx-license-ids": {
-			"version": "3.0.17",
-			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
-			"integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
+			"version": "3.0.18",
+			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz",
+			"integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==",
 			"dev": true
 		},
 		"node_modules/sprintf-js": {
@@ -3299,6 +3425,15 @@
 				"url": "https://github.com/sponsors/ljharb"
 			}
 		},
+		"node_modules/tapable": {
+			"version": "2.2.1",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+			"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+			"dev": true,
+			"engines": {
+				"node": ">=6"
+			}
+		},
 		"node_modules/text-table": {
 			"version": "0.2.0",
 			"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -3317,25 +3452,16 @@
 				"node": ">=8.0"
 			}
 		},
-		"node_modules/tslib": {
-			"version": "1.14.1",
-			"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-			"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-			"dev": true
-		},
-		"node_modules/tsutils": {
-			"version": "3.21.0",
-			"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
-			"integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+		"node_modules/ts-api-utils": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
+			"integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
 			"dev": true,
-			"dependencies": {
-				"tslib": "^1.8.1"
-			},
 			"engines": {
-				"node": ">= 6"
+				"node": ">=16"
 			},
 			"peerDependencies": {
-				"typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+				"typescript": ">=4.2.0"
 			}
 		},
 		"node_modules/type-check": {
@@ -3363,9 +3489,9 @@
 			}
 		},
 		"node_modules/typescript": {
-			"version": "5.4.5",
-			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
-			"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+			"version": "5.5.4",
+			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz",
+			"integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==",
 			"dev": true,
 			"peer": true,
 			"bin": {
@@ -3486,9 +3612,9 @@
 			}
 		},
 		"node_modules/vue-eslint-parser": {
-			"version": "9.4.2",
-			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz",
-			"integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==",
+			"version": "9.4.3",
+			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz",
+			"integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==",
 			"dev": true,
 			"dependencies": {
 				"debug": "^4.3.4",
@@ -3539,12 +3665,6 @@
 				"node": ">=12"
 			}
 		},
-		"node_modules/yallist": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-			"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-			"dev": true
-		},
 		"node_modules/yaml": {
 			"version": "2.4.1",
 			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
@@ -3595,28 +3715,28 @@
 			"dev": true
 		},
 		"@babel/code-frame": {
-			"version": "7.24.2",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
-			"integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
+			"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.24.2",
+				"@babel/highlight": "^7.24.7",
 				"picocolors": "^1.0.0"
 			}
 		},
 		"@babel/helper-validator-identifier": {
-			"version": "7.22.20",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
-			"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+			"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/highlight": {
-			"version": "7.24.2",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
-			"integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
+			"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.22.20",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"chalk": "^2.4.2",
 				"js-tokens": "^4.0.0",
 				"picocolors": "^1.0.0"
@@ -3681,11 +3801,14 @@
 			}
 		},
 		"@es-joy/jsdoccomment": {
-			"version": "0.42.0",
-			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.42.0.tgz",
-			"integrity": "sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==",
+			"version": "0.43.1",
+			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.43.1.tgz",
+			"integrity": "sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==",
 			"dev": true,
 			"requires": {
+				"@types/eslint": "^8.56.5",
+				"@types/estree": "^1.0.5",
+				"@typescript-eslint/types": "^7.2.0",
 				"comment-parser": "1.4.1",
 				"esquery": "^1.5.0",
 				"jsdoc-type-pratt-parser": "~4.0.0"
@@ -3701,9 +3824,9 @@
 			}
 		},
 		"@eslint-community/regexpp": {
-			"version": "4.10.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
-			"integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+			"version": "4.11.0",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
+			"integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
 			"dev": true
 		},
 		"@eslint/eslintrc": {
@@ -3816,6 +3939,22 @@
 			"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
 			"dev": true
 		},
+		"@types/eslint": {
+			"version": "8.56.11",
+			"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz",
+			"integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==",
+			"dev": true,
+			"requires": {
+				"@types/estree": "*",
+				"@types/json-schema": "*"
+			}
+		},
+		"@types/estree": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+			"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+			"dev": true
+		},
 		"@types/json-schema": {
 			"version": "7.0.15",
 			"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
@@ -3828,85 +3967,78 @@
 			"integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
 			"dev": true
 		},
-		"@types/semver": {
-			"version": "7.5.8",
-			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
-			"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
-			"dev": true
-		},
 		"@typescript-eslint/scope-manager": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
-			"integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz",
+			"integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/visitor-keys": "5.62.0"
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/visitor-keys": "7.17.0"
 			}
 		},
 		"@typescript-eslint/types": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
-			"integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz",
+			"integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==",
 			"dev": true
 		},
 		"@typescript-eslint/typescript-estree": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
-			"integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz",
+			"integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/visitor-keys": "5.62.0",
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/visitor-keys": "7.17.0",
 				"debug": "^4.3.4",
 				"globby": "^11.1.0",
 				"is-glob": "^4.0.3",
-				"semver": "^7.3.7",
-				"tsutils": "^3.21.0"
-			}
-		},
-		"@typescript-eslint/utils": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
-			"integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
-			"dev": true,
-			"requires": {
-				"@eslint-community/eslint-utils": "^4.2.0",
-				"@types/json-schema": "^7.0.9",
-				"@types/semver": "^7.3.12",
-				"@typescript-eslint/scope-manager": "5.62.0",
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/typescript-estree": "5.62.0",
-				"eslint-scope": "^5.1.1",
-				"semver": "^7.3.7"
-			},
-			"dependencies": {
-				"eslint-scope": {
-					"version": "5.1.1",
-					"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-					"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+				"minimatch": "^9.0.4",
+				"semver": "^7.6.0",
+				"ts-api-utils": "^1.3.0"
+			},
+			"dependencies": {
+				"brace-expansion": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+					"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
 					"dev": true,
 					"requires": {
-						"esrecurse": "^4.3.0",
-						"estraverse": "^4.1.1"
+						"balanced-match": "^1.0.0"
 					}
 				},
-				"estraverse": {
-					"version": "4.3.0",
-					"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-					"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-					"dev": true
+				"minimatch": {
+					"version": "9.0.5",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^2.0.1"
+					}
 				}
 			}
 		},
+		"@typescript-eslint/utils": {
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz",
+			"integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==",
+			"dev": true,
+			"requires": {
+				"@eslint-community/eslint-utils": "^4.4.0",
+				"@typescript-eslint/scope-manager": "7.17.0",
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/typescript-estree": "7.17.0"
+			}
+		},
 		"@typescript-eslint/visitor-keys": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
-			"integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz",
+			"integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "5.62.0",
-				"eslint-visitor-keys": "^3.3.0"
+				"@typescript-eslint/types": "7.17.0",
+				"eslint-visitor-keys": "^3.4.3"
 			}
 		},
 		"@ungap/structured-clone": {
@@ -3922,9 +4054,9 @@
 			"dev": true
 		},
 		"acorn": {
-			"version": "8.11.3",
-			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
-			"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+			"version": "8.12.1",
+			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
+			"integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
 			"dev": true
 		},
 		"acorn-jsx": {
@@ -4041,12 +4173,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"
 			}
 		},
 		"browserslist": {
@@ -4062,9 +4194,9 @@
 			}
 		},
 		"browserslist-config-wikimedia": {
-			"version": "0.6.1",
-			"resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.6.1.tgz",
-			"integrity": "sha512-F3O+12ud7ZwBaiB/RZIMGDgz3nEuXz8RhtdPB4Lkd/WVP5Vy77EqBWRMz4vJ64x8LTTH3BOaHCD2ZuUcgShqyQ==",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.7.0.tgz",
+			"integrity": "sha512-CTa0lv78dXKEgrYsOLCkqO+9UUS3CV9MWEOYHcymgEvx4mYxB80sCoKRCR7wW2SOMNxjaP9hohrZripjnKuRTA==",
 			"dev": true
 		},
 		"builtin-modules": {
@@ -4073,15 +4205,6 @@
 			"integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
 			"dev": true
 		},
-		"builtins": {
-			"version": "5.1.0",
-			"resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz",
-			"integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==",
-			"dev": true,
-			"requires": {
-				"semver": "^7.0.0"
-			}
-		},
 		"callsites": {
 			"version": "3.1.0",
 			"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -4161,9 +4284,9 @@
 			"dev": true
 		},
 		"core-js-compat": {
-			"version": "3.37.0",
-			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz",
-			"integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==",
+			"version": "3.37.1",
+			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz",
+			"integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==",
 			"dev": true,
 			"requires": {
 				"browserslist": "^4.23.0"
@@ -4237,6 +4360,16 @@
 			"integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==",
 			"dev": true
 		},
+		"enhanced-resolve": {
+			"version": "5.17.1",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
+			"integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+			"dev": true,
+			"requires": {
+				"graceful-fs": "^4.2.4",
+				"tapable": "^2.2.0"
+			}
+		},
 		"error-ex": {
 			"version": "1.3.2",
 			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -4331,37 +4464,37 @@
 			}
 		},
 		"eslint-compat-utils": {
-			"version": "0.5.0",
-			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz",
-			"integrity": "sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==",
+			"version": "0.5.1",
+			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
+			"integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
 			"dev": true,
 			"requires": {
 				"semver": "^7.5.4"
 			}
 		},
 		"eslint-config-wikimedia": {
-			"version": "0.27.0",
-			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.27.0.tgz",
-			"integrity": "sha512-KkZ54+MUnggz17C/RCEMXQSpiiqZRF7p9fjrz4phaaeKlTrjg0B+QbM5zcDWcjGiAWaJUptHaH17+RZldadkUw==",
+			"version": "0.28.2",
+			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.28.2.tgz",
+			"integrity": "sha512-5+rdnT7wH1gpKAO6tHYThg78eMhZMruJzvqku3Y5iaEY/A7kSKLFpA/vOj/snys9fKjDHC9BXmArQh+agkOoJQ==",
 			"dev": true,
 			"requires": {
-				"browserslist-config-wikimedia": "^0.6.1",
+				"browserslist-config-wikimedia": "^0.7.0",
 				"eslint": "^8.57.0",
 				"eslint-plugin-compat": "^4.2.0",
 				"eslint-plugin-es-x": "^7.6.0",
-				"eslint-plugin-jest": "^27.9.0",
-				"eslint-plugin-jsdoc": "48.2.1",
-				"eslint-plugin-json-es": "^1.5.7",
-				"eslint-plugin-mediawiki": "^0.6.0",
-				"eslint-plugin-mocha": "^10.4.1",
-				"eslint-plugin-n": "^16.6.2",
-				"eslint-plugin-no-jquery": "^2.7.0",
+				"eslint-plugin-jest": "^28.5.0",
+				"eslint-plugin-jsdoc": "48.2.5",
+				"eslint-plugin-json-es": "^1.6.0",
+				"eslint-plugin-mediawiki": "^0.7.0",
+				"eslint-plugin-mocha": "^10.4.3",
+				"eslint-plugin-n": "^17.7.0",
+				"eslint-plugin-no-jquery": "^3.0.1",
 				"eslint-plugin-qunit": "^8.1.1",
 				"eslint-plugin-security": "^1.7.1",
-				"eslint-plugin-unicorn": "^51.0.1",
-				"eslint-plugin-vue": "^9.23.0",
+				"eslint-plugin-unicorn": "^53.0.0",
+				"eslint-plugin-vue": "^9.26.0",
 				"eslint-plugin-wdio": "^8.24.12",
-				"eslint-plugin-yml": "^1.13.2"
+				"eslint-plugin-yml": "^1.14.0"
 			}
 		},
 		"eslint-plugin-compat": {
@@ -4380,46 +4513,46 @@
 			}
 		},
 		"eslint-plugin-es-x": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz",
-			"integrity": "sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
+			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.6.0",
-				"eslint-compat-utils": "^0.5.0"
+				"@eslint-community/regexpp": "^4.11.0",
+				"eslint-compat-utils": "^0.5.1"
 			}
 		},
 		"eslint-plugin-jest": {
-			"version": "27.9.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz",
-			"integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==",
+			"version": "28.6.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.6.0.tgz",
+			"integrity": "sha512-YG28E1/MIKwnz+e2H7VwYPzHUYU4aMa19w0yGcwXnnmJH6EfgHahTJ2un3IyraUxNfnz/KUhJAFXNNwWPo12tg==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/utils": "^5.10.0"
+				"@typescript-eslint/utils": "^6.0.0 || ^7.0.0"
 			}
 		},
 		"eslint-plugin-jsdoc": {
-			"version": "48.2.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.1.tgz",
-			"integrity": "sha512-iUvbcyDZSO/9xSuRv2HQBw++8VkV/pt3UWtX9cpPH0l7GKPq78QC/6+PmyQHHvNZaTjAce6QVciEbnc6J/zH5g==",
+			"version": "48.2.5",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.5.tgz",
+			"integrity": "sha512-ZeTfKV474W1N9niWfawpwsXGu+ZoMXu4417eBROX31d7ZuOk8zyG66SO77DpJ2+A9Wa2scw/jRqBPnnQo7VbcQ==",
 			"dev": true,
 			"requires": {
-				"@es-joy/jsdoccomment": "~0.42.0",
+				"@es-joy/jsdoccomment": "~0.43.0",
 				"are-docs-informative": "^0.0.2",
 				"comment-parser": "1.4.1",
 				"debug": "^4.3.4",
 				"escape-string-regexp": "^4.0.0",
 				"esquery": "^1.5.0",
 				"is-builtin-module": "^3.2.1",
-				"semver": "^7.6.0",
+				"semver": "^7.6.1",
 				"spdx-expression-parse": "^4.0.0"
 			}
 		},
 		"eslint-plugin-json-es": {
-			"version": "1.5.7",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.5.7.tgz",
-			"integrity": "sha512-ehBHcCcJo4iViYx6vp3T+SmwzLIlVDzZNoVxN/txZIiPwDQ26mnYaN5iJ3imqN4l1b8z6rbxEH2kB9XDGxeU/w==",
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.6.0.tgz",
+			"integrity": "sha512-xVn6hufGQH1Aa+yqOhQ43Cq28GuitTcMpQh+uaUh27U2qnVLBrvkN+2xQSnv6zpdLEPS35JCNhq4kvhR+PQCgw==",
 			"dev": true,
 			"requires": {
 				"eslint-visitor-keys": "^3.3.0",
@@ -4427,9 +4560,9 @@
 			}
 		},
 		"eslint-plugin-mediawiki": {
-			"version": "0.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.6.0.tgz",
-			"integrity": "sha512-a2Zm18N5nPyflBajM2ZWATxucIpYPEmOSjFzUR1OBH3hAL0GY9fx1mpezEwzqAQ862d+kPkolgQOzktnZe8nKA==",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.7.0.tgz",
+			"integrity": "sha512-1Y2nsFDPp96xOZCB5ivZAgqYe9i6w2u64VoCIaAzPyZnd/2h8VQR3CtD+u4Yk/KrpbKq9AAJjrs5LS8VAz6KOA==",
 			"dev": true,
 			"requires": {
 				"eslint-plugin-vue": "^9.23.0",
@@ -4448,39 +4581,51 @@
 			}
 		},
 		"eslint-plugin-n": {
-			"version": "16.6.2",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz",
-			"integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==",
+			"version": "17.10.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.10.0.tgz",
+			"integrity": "sha512-NmrSdEid+ch9SBVuqbsK5CUiEZGtMK32KSI+arWahZbFF0nvX1oEJrWiFOWmhkWFKW9Hqor0g3qPh4AvkvWwlA==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"builtins": "^5.0.1",
+				"enhanced-resolve": "^5.17.0",
 				"eslint-plugin-es-x": "^7.5.0",
 				"get-tsconfig": "^4.7.0",
-				"globals": "^13.24.0",
+				"globals": "^15.8.0",
 				"ignore": "^5.2.4",
-				"is-builtin-module": "^3.2.1",
-				"is-core-module": "^2.12.1",
-				"minimatch": "^3.1.2",
-				"resolve": "^1.22.2",
+				"minimatch": "^9.0.5",
 				"semver": "^7.5.3"
 			},
 			"dependencies": {
+				"brace-expansion": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+					"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+					"dev": true,
+					"requires": {
+						"balanced-match": "^1.0.0"
+					}
+				},
+				"globals": {
+					"version": "15.8.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-15.8.0.tgz",
+					"integrity": "sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==",
+					"dev": true
+				},
 				"minimatch": {
-					"version": "3.1.2",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"version": "9.0.5",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "^2.0.1"
 					}
 				}
 			}
 		},
 		"eslint-plugin-no-jquery": {
-			"version": "2.7.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz",
-			"integrity": "sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==",
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-3.0.2.tgz",
+			"integrity": "sha512-n/+6p6PFhWDNPVLJj1463hw4OTIRBbROGcbhmtOHTgw7yihSKzkwZiQ00EJTneyeR3jRiw5lpWSMCCBhtb8t2g==",
 			"dev": true,
 			"requires": {}
 		},
@@ -4504,17 +4649,17 @@
 			}
 		},
 		"eslint-plugin-unicorn": {
-			"version": "51.0.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-51.0.1.tgz",
-			"integrity": "sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==",
+			"version": "53.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-53.0.0.tgz",
+			"integrity": "sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.22.20",
+				"@babel/helper-validator-identifier": "^7.24.5",
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"@eslint/eslintrc": "^2.1.4",
+				"@eslint/eslintrc": "^3.0.2",
 				"ci-info": "^4.0.0",
 				"clean-regexp": "^1.0.0",
-				"core-js-compat": "^3.34.0",
+				"core-js-compat": "^3.37.0",
 				"esquery": "^1.5.0",
 				"indent-string": "^4.0.0",
 				"is-builtin-module": "^3.2.1",
@@ -4523,14 +4668,80 @@
 				"read-pkg-up": "^7.0.1",
 				"regexp-tree": "^0.1.27",
 				"regjsparser": "^0.10.0",
-				"semver": "^7.5.4",
+				"semver": "^7.6.1",
 				"strip-indent": "^3.0.0"
+			},
+			"dependencies": {
+				"@eslint/eslintrc": {
+					"version": "3.1.0",
+					"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
+					"integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==",
+					"dev": true,
+					"requires": {
+						"ajv": "^6.12.4",
+						"debug": "^4.3.2",
+						"espree": "^10.0.1",
+						"globals": "^14.0.0",
+						"ignore": "^5.2.0",
+						"import-fresh": "^3.2.1",
+						"js-yaml": "^4.1.0",
+						"minimatch": "^3.1.2",
+						"strip-json-comments": "^3.1.1"
+					}
+				},
+				"argparse": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+					"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+					"dev": true
+				},
+				"eslint-visitor-keys": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
+					"integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
+					"dev": true
+				},
+				"espree": {
+					"version": "10.1.0",
+					"resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz",
+					"integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==",
+					"dev": true,
+					"requires": {
+						"acorn": "^8.12.0",
+						"acorn-jsx": "^5.3.2",
+						"eslint-visitor-keys": "^4.0.0"
+					}
+				},
+				"globals": {
+					"version": "14.0.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+					"integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+					"dev": true
+				},
+				"js-yaml": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"dev": true,
+					"requires": {
+						"argparse": "^2.0.1"
+					}
+				},
+				"minimatch": {
+					"version": "3.1.2",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^1.1.7"
+					}
+				}
 			}
 		},
 		"eslint-plugin-vue": {
-			"version": "9.25.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz",
-			"integrity": "sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==",
+			"version": "9.27.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.27.0.tgz",
+			"integrity": "sha512-5Dw3yxEyuBSXTzT5/Ge1X5kIkRTQ3nvBn/VwPwInNiZBSJOO/timWMUaflONnFBzU6NhB68lxnCda7ULV5N7LA==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.4.0",
@@ -4539,7 +4750,7 @@
 				"nth-check": "^2.1.1",
 				"postcss-selector-parser": "^6.0.15",
 				"semver": "^7.6.0",
-				"vue-eslint-parser": "^9.4.2",
+				"vue-eslint-parser": "^9.4.3",
 				"xml-name-validator": "^4.0.0"
 			}
 		},
@@ -4730,9 +4941,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"
@@ -4823,9 +5034,9 @@
 			"dev": true
 		},
 		"get-tsconfig": {
-			"version": "4.7.3",
-			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz",
-			"integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==",
+			"version": "4.7.6",
+			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.6.tgz",
+			"integrity": "sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==",
 			"dev": true,
 			"requires": {
 				"resolve-pkg-maps": "^1.0.0"
@@ -4918,6 +5129,12 @@
 				"slash": "^3.0.0"
 			}
 		},
+		"graceful-fs": {
+			"version": "4.2.11",
+			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+			"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+			"dev": true
+		},
 		"graphemer": {
 			"version": "1.4.0",
 			"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
@@ -4946,10 +5163,13 @@
 			}
 		},
 		"grunt-banana-checker": {
-			"version": "0.12.0",
-			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.12.0.tgz",
-			"integrity": "sha512-rdu8YqGxfyBUNMSLmqusSg8RUzGE61+kqrge4fRYb32Vqu5hzDGeomDQIkILEsSrZjtNTTcJ8iTwIswQ+POCGw==",
-			"dev": true
+			"version": "0.13.0",
+			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.13.0.tgz",
+			"integrity": "sha512-uAUKILcP69Q4OJHHV2wzxqVaoXB8G3Uh/XuSJLn0Bk/9+WiUY/Q4+OX7dUhrPPeDZPtoGh37qqJLVvZlDTUecg==",
+			"dev": true,
+			"requires": {
+				"chalk": "4.1.2"
+			}
 		},
 		"grunt-cli": {
 			"version": "1.4.3",
@@ -5361,15 +5581,6 @@
 			"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
 			"dev": true
 		},
-		"lru-cache": {
-			"version": "6.0.0",
-			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-			"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-			"dev": true,
-			"requires": {
-				"yallist": "^4.0.0"
-			}
-		},
 		"make-iterator": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
@@ -5674,9 +5885,9 @@
 			"dev": true
 		},
 		"postcss-selector-parser": {
-			"version": "6.0.16",
-			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz",
-			"integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==",
+			"version": "6.1.1",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz",
+			"integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==",
 			"dev": true,
 			"requires": {
 				"cssesc": "^3.0.0",
@@ -5894,13 +6105,10 @@
 			"dev": true
 		},
 		"semver": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
-			"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
-			"dev": true,
-			"requires": {
-				"lru-cache": "^6.0.0"
-			}
+			"version": "7.6.3",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+			"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+			"dev": true
 		},
 		"shebang-command": {
 			"version": "2.0.0",
@@ -5962,9 +6170,9 @@
 			}
 		},
 		"spdx-license-ids": {
-			"version": "3.0.17",
-			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
-			"integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
+			"version": "3.0.18",
+			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz",
+			"integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==",
 			"dev": true
 		},
 		"sprintf-js": {
@@ -6012,6 +6220,12 @@
 			"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
 			"dev": true
 		},
+		"tapable": {
+			"version": "2.2.1",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+			"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+			"dev": true
+		},
 		"text-table": {
 			"version": "0.2.0",
 			"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -6027,20 +6241,12 @@
 				"is-number": "^7.0.0"
 			}
 		},
-		"tslib": {
-			"version": "1.14.1",
-			"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-			"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-			"dev": true
-		},
-		"tsutils": {
-			"version": "3.21.0",
-			"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
-			"integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+		"ts-api-utils": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
+			"integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
 			"dev": true,
-			"requires": {
-				"tslib": "^1.8.1"
-			}
+			"requires": {}
 		},
 		"type-check": {
 			"version": "0.4.0",
@@ -6058,9 +6264,9 @@
 			"dev": true
 		},
 		"typescript": {
-			"version": "5.4.5",
-			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
-			"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+			"version": "5.5.4",
+			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz",
+			"integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==",
 			"dev": true,
 			"peer": true
 		},
@@ -6143,9 +6349,9 @@
 			}
 		},
 		"vue-eslint-parser": {
-			"version": "9.4.2",
-			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz",
-			"integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==",
+			"version": "9.4.3",
+			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz",
+			"integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==",
 			"dev": true,
 			"requires": {
 				"debug": "^4.3.4",
@@ -6178,12 +6384,6 @@
 			"integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
 			"dev": true
 		},
-		"yallist": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-			"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-			"dev": true
-		},
 		"yaml": {
 			"version": "2.4.1",
 			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
diff --git a/package.json b/package.json
index fdbccf0..da0a84f 100644
--- a/package.json
+++ b/package.json
@@ -5,9 +5,9 @@
 		"test": "grunt test"
 	},
 	"devDependencies": {
-		"eslint-config-wikimedia": "0.27.0",
+		"eslint-config-wikimedia": "0.28.2",
 		"grunt": "1.6.1",
-		"grunt-banana-checker": "0.12.0",
+		"grunt-banana-checker": "0.13.0",
 		"grunt-eslint": "24.3.0"
 	}
 }
-- 
2.39.2


--- end ---

composer dependencies

Development dependencies

npm dependencies

Development dependencies

Logs

Source code is licensed under the AGPL.