From 212d7b8cb90177c021a474b652f1c6a574703e8e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 06:19:56 +0100 Subject: [PATCH 01/28] build(deps): update tools (#1507) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 92 +++++++++++++++++++++++++++++++++++------------ package.json | 4 +-- 2 files changed, 71 insertions(+), 25 deletions(-) diff --git a/package-lock.json b/package-lock.json index fe9af1519..357dbc7f1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -70,7 +70,7 @@ "babel-jest": "^29.7.0", "clipboard": "^2.0.11", "commitizen": "^4.3.1", - "concurrently": "^9.1.2", + "concurrently": "^9.2.1", "cssnano": "^7.0.7", "cz-conventional-changelog": "^3.3.0", "dayjs": "^1.11.13", @@ -89,7 +89,7 @@ "glob": "^11.0.2", "govuk-prototype-kit": "^13.16.2", "gray-matter": "^4.0.3", - "gulp": "^5.0.0", + "gulp": "^5.0.1", "gulp-cache": "^1.1.3", "gulp-filter": "^9.0.1", "gulp-imagemin": "^9.1.0", @@ -2475,6 +2475,8 @@ }, "node_modules/@gulpjs/to-absolute-glob": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@gulpjs/to-absolute-glob/-/to-absolute-glob-4.0.0.tgz", + "integrity": "sha512-kjotm7XJrJ6v+7knhPaRgaT6q8F8K2jiafwYdNHLzmV0uGLuZY43FK6smNSHUPrhq5kX2slCUy+RGG/xGqmIKA==", "dev": true, "license": "MIT", "dependencies": { @@ -11489,17 +11491,18 @@ } }, "node_modules/concurrently": { - "version": "9.1.2", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.1.tgz", + "integrity": "sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.1.2", - "lodash": "^4.17.21", - "rxjs": "^7.8.1", - "shell-quote": "^1.8.1", - "supports-color": "^8.1.1", - "tree-kill": "^1.2.2", - "yargs": "^17.7.2" + "chalk": "4.1.2", + "rxjs": "7.8.2", + "shell-quote": "1.8.3", + "supports-color": "8.1.1", + "tree-kill": "1.2.2", + "yargs": "17.7.2" }, "bin": { "conc": "dist/bin/concurrently.js", @@ -11514,6 +11517,8 @@ }, "node_modules/concurrently/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -11528,6 +11533,8 @@ }, "node_modules/concurrently/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -11543,6 +11550,8 @@ }, "node_modules/concurrently/node_modules/chalk/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "license": "MIT", "dependencies": { @@ -11554,6 +11563,8 @@ }, "node_modules/concurrently/node_modules/supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -15057,6 +15068,8 @@ }, "node_modules/extend": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true, "license": "MIT" }, @@ -15518,6 +15531,8 @@ }, "node_modules/fined": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-2.0.0.tgz", + "integrity": "sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==", "dev": true, "license": "MIT", "dependencies": { @@ -15544,6 +15559,8 @@ }, "node_modules/flagged-respawn": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-2.0.0.tgz", + "integrity": "sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==", "dev": true, "license": "MIT", "engines": { @@ -16140,7 +16157,9 @@ } }, "node_modules/glob-stream": { - "version": "8.0.2", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-8.0.3.tgz", + "integrity": "sha512-fqZVj22LtFJkHODT+M4N1RJQ3TjnnQhfE9GwZI8qXscYarnhpip70poMldRnP8ipQ/w0B621kOhfc53/J9bd/A==", "dev": true, "license": "MIT", "dependencies": { @@ -16159,6 +16178,8 @@ }, "node_modules/glob-stream/node_modules/glob-parent": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "license": "ISC", "dependencies": { @@ -16712,14 +16733,16 @@ } }, "node_modules/gulp": { - "version": "5.0.0", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-5.0.1.tgz", + "integrity": "sha512-PErok3DZSA5WGMd6XXV3IRNO0mlB+wW3OzhFJLEec1jSERg2j1bxJ6e5Fh6N6fn3FH2T9AP4UYNb/pYlADB9sA==", "dev": true, "license": "MIT", "dependencies": { "glob-watcher": "^6.0.0", - "gulp-cli": "^3.0.0", + "gulp-cli": "^3.1.0", "undertaker": "^2.0.0", - "vinyl-fs": "^4.0.0" + "vinyl-fs": "^4.0.2" }, "bin": { "gulp": "bin/gulp.js" @@ -16771,7 +16794,9 @@ } }, "node_modules/gulp-cli": { - "version": "3.0.0", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-3.1.0.tgz", + "integrity": "sha512-zZzwlmEsTfXcxRKiCHsdyjZZnFvXWM4v1NqBJSYbuApkvVKivjcmOS2qruAJ+PkEHLFavcDKH40DPc1+t12a9Q==", "dev": true, "license": "MIT", "dependencies": { @@ -16780,7 +16805,7 @@ "copy-props": "^4.0.0", "gulplog": "^2.2.0", "interpret": "^3.1.1", - "liftoff": "^5.0.0", + "liftoff": "^5.0.1", "mute-stdout": "^2.0.0", "replace-homedir": "^2.0.0", "semver-greatest-satisfied-range": "^2.0.0", @@ -23245,7 +23270,9 @@ } }, "node_modules/liftoff": { - "version": "5.0.0", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-5.0.1.tgz", + "integrity": "sha512-wwLXMbuxSF8gMvubFcFRp56lkFV69twvbU5vDPbaw+Q+/rF8j0HKjGbIdlSi+LuJm9jf7k9PB+nTxnsLMPcv2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -23263,6 +23290,8 @@ }, "node_modules/liftoff/node_modules/findup-sync": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", + "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", "dev": true, "license": "MIT", "dependencies": { @@ -23637,6 +23666,8 @@ }, "node_modules/map-cache": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, "license": "MIT", "engines": { @@ -28020,6 +28051,8 @@ }, "node_modules/parse-filepath": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -28156,6 +28189,8 @@ }, "node_modules/path-root": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", "dev": true, "license": "MIT", "dependencies": { @@ -28167,6 +28202,8 @@ }, "node_modules/path-root-regex": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", "dev": true, "license": "MIT", "engines": { @@ -29677,6 +29714,8 @@ }, "node_modules/rechoir": { "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, "license": "MIT", "dependencies": { @@ -31501,7 +31540,9 @@ } }, "node_modules/shell-quote": { - "version": "1.8.2", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", "dev": true, "license": "MIT", "engines": { @@ -34429,12 +34470,14 @@ } }, "node_modules/vinyl-fs": { - "version": "4.0.0", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-4.0.2.tgz", + "integrity": "sha512-XRFwBLLTl8lRAOYiBqxY279wY46tVxLaRhSwo3GzKEuLz1giffsOquWWboD/haGf5lx+JyTigCFfe7DWHoARIA==", "dev": true, "license": "MIT", "dependencies": { "fs-mkdirp-stream": "^2.0.1", - "glob-stream": "^8.0.0", + "glob-stream": "^8.0.3", "graceful-fs": "^4.2.11", "iconv-lite": "^0.6.3", "is-valid-glob": "^1.0.0", @@ -34445,7 +34488,7 @@ "streamx": "^2.14.0", "to-through": "^3.0.0", "value-or-function": "^4.0.0", - "vinyl": "^3.0.0", + "vinyl": "^3.0.1", "vinyl-sourcemap": "^2.0.0" }, "engines": { @@ -34465,6 +34508,8 @@ }, "node_modules/vinyl-fs/node_modules/replace-ext": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", "dev": true, "license": "MIT", "engines": { @@ -34472,12 +34517,13 @@ } }, "node_modules/vinyl-fs/node_modules/vinyl": { - "version": "3.0.0", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz", + "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==", "dev": true, "license": "MIT", "dependencies": { "clone": "^2.1.2", - "clone-stats": "^1.0.0", "remove-trailing-separator": "^1.1.0", "replace-ext": "^2.0.0", "teex": "^1.0.1" diff --git a/package.json b/package.json index 1263abdc9..53c784554 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "babel-jest": "^29.7.0", "clipboard": "^2.0.11", "commitizen": "^4.3.1", - "concurrently": "^9.1.2", + "concurrently": "^9.2.1", "cssnano": "^7.0.7", "cz-conventional-changelog": "^3.3.0", "dayjs": "^1.11.13", @@ -141,7 +141,7 @@ "glob": "^11.0.2", "govuk-prototype-kit": "^13.16.2", "gray-matter": "^4.0.3", - "gulp": "^5.0.0", + "gulp": "^5.0.1", "gulp-cache": "^1.1.3", "gulp-filter": "^9.0.1", "gulp-imagemin": "^9.1.0", From 584364d223ee02753762a5458d9a7dbd6dd7055f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 06:51:25 +0100 Subject: [PATCH 02/28] build(deps): update lint (#1489) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 509 ++++++++++++++++++++++++++++++++-------------- package.json | 18 +- 2 files changed, 370 insertions(+), 157 deletions(-) diff --git a/package-lock.json b/package-lock.json index 357dbc7f1..7aaa62963 100644 --- a/package-lock.json +++ b/package-lock.json @@ -64,8 +64,8 @@ "@types/node": "^22.13.10", "@types/nunjucks": "^3.2.6", "@types/sinon": "^17.0.4", - "@typescript-eslint/eslint-plugin": "^8.32.1", - "@typescript-eslint/parser": "^8.32.1", + "@typescript-eslint/eslint-plugin": "^8.44.1", + "@typescript-eslint/parser": "^8.44.1", "autoprefixer": "^10.4.21", "babel-jest": "^29.7.0", "clipboard": "^2.0.11", @@ -76,13 +76,13 @@ "dayjs": "^1.11.13", "del": "^8.0.0", "eslint": "^8.57.1", - "eslint-config-prettier": "^10.1.5", + "eslint-config-prettier": "^10.1.8", "eslint-config-standard": "^17.1.0", - "eslint-plugin-es-x": "^8.6.2", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jest": "^28.11.0", + "eslint-plugin-es-x": "^8.7.0", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jest": "^28.14.0", "eslint-plugin-jest-dom": "^5.5.0", - "eslint-plugin-jsdoc": "^50.6.17", + "eslint-plugin-jsdoc": "^50.8.0", "eslint-plugin-markdown": "^5.1.0", "eslint-plugin-n": "^16.6.2", "eslint-plugin-promise": "^6.6.0", @@ -114,7 +114,7 @@ "postcss-load-config": "^6.0.1", "postcss-markdown": "^1.3.0", "postcss-scss": "^4.0.9", - "prettier": "^3.5.3", + "prettier": "^3.6.2", "puppeteer": "^24.8.2", "puppeteer-core": "^24.8.2", "require-dir": "^1.2.0", @@ -122,7 +122,7 @@ "sass-embedded": "^1.89.0", "semantic-release": "^24.2.4", "sinon": "^21.0.0", - "stylelint": "^16.19.1", + "stylelint": "^16.24.0", "stylelint-config-gds": "^2.0.0", "stylelint-order": "^6.0.4", "supertest": "^7.1.1", @@ -1915,6 +1915,47 @@ "dev": true, "license": "(Apache-2.0 AND BSD-3-Clause)" }, + "node_modules/@cacheable/memoize": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@cacheable/memoize/-/memoize-2.0.2.tgz", + "integrity": "sha512-wPrr7FUiq3Qt4yQyda2/NcOLTJCFcQSU3Am2adP+WLy+sz93/fKTokVTHmtz+rjp4PD7ee0AEOeRVNN6IvIfsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cacheable/utils": "^2.0.2" + } + }, + "node_modules/@cacheable/memory": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@cacheable/memory/-/memory-2.0.2.tgz", + "integrity": "sha512-sJTITLfeCI1rg7P3ssaGmQryq235EGT8dXGcx6oZwX5NRnKq9IE6lddlllcOl+oXW+yaeTRddCjo0xrfU6ZySA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cacheable/memoize": "^2.0.1", + "@cacheable/utils": "^2.0.2", + "@keyv/bigmap": "^1.0.2", + "hookified": "^1.12.1", + "keyv": "^5.5.2" + } + }, + "node_modules/@cacheable/memory/node_modules/keyv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.2.tgz", + "integrity": "sha512-TXcFHbmm/z7MGd1u9ASiCSfTS+ei6Z8B3a5JHzx3oPa/o7QzWVtPRpc4KGER5RR469IC+/nfg4U5YLIuDUua2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@keyv/serialize": "^1.1.1" + } + }, + "node_modules/@cacheable/utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.0.2.tgz", + "integrity": "sha512-JTFM3raFhVv8LH95T7YnZbf2YoE9wEtkPPStuRF9a6ExZ103hFvs+QyCuYJ6r0hA9wRtbzgZtwUCoDWxssZd4Q==", + "dev": true, + "license": "MIT" + }, "node_modules/@colors/colors": { "version": "1.5.0", "dev": true, @@ -2263,7 +2304,9 @@ } }, "node_modules/@csstools/media-query-list-parser": { - "version": "4.0.2", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz", + "integrity": "sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==", "dev": true, "funding": [ { @@ -2280,8 +2323,8 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, "node_modules/@csstools/selector-specificity": { @@ -5073,36 +5116,25 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@keyv/serialize": { - "version": "1.0.3", + "node_modules/@keyv/bigmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.0.2.tgz", + "integrity": "sha512-KR03xkEZlAZNF4IxXgVXb+uNIVNvwdh8UwI0cnc7WI6a+aQcDp8GL80qVfeB4E5NpsKJzou5jU0r6yLSSbMOtA==", "dev": true, "license": "MIT", "dependencies": { - "buffer": "^6.0.3" + "hookified": "^1.12.1" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/@keyv/serialize/node_modules/buffer": { - "version": "6.0.3", + "node_modules/@keyv/serialize": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz", + "integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } + "license": "MIT" }, "node_modules/@ministryofjustice/frontend": { "resolved": "package", @@ -8173,15 +8205,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.32.1", + "version": "8.44.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.44.1.tgz", + "integrity": "sha512-molgphGqOBT7t4YKCSkbasmu1tb1MgrZ2szGzHbclF7PNmOkSTQVHy+2jXOSnxvR3+Xe1yySHFZoqMpz3TfQsw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.32.1", - "@typescript-eslint/type-utils": "8.32.1", - "@typescript-eslint/utils": "8.32.1", - "@typescript-eslint/visitor-keys": "8.32.1", + "@typescript-eslint/scope-manager": "8.44.1", + "@typescript-eslint/type-utils": "8.44.1", + "@typescript-eslint/utils": "8.44.1", + "@typescript-eslint/visitor-keys": "8.44.1", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", @@ -8195,13 +8229,15 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "@typescript-eslint/parser": "^8.44.1", "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.4", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, "license": "MIT", "engines": { @@ -8209,14 +8245,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.32.1", + "version": "8.44.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.44.1.tgz", + "integrity": "sha512-EHrrEsyhOhxYt8MTg4zTF+DJMuNBzWwgvvOYNj/zm1vnaD/IC5zCXFehZv94Piqa2cRFfXrTFxIvO95L7Qc/cw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.32.1", - "@typescript-eslint/types": "8.32.1", - "@typescript-eslint/typescript-estree": "8.32.1", - "@typescript-eslint/visitor-keys": "8.32.1", + "@typescript-eslint/scope-manager": "8.44.1", + "@typescript-eslint/types": "8.44.1", + "@typescript-eslint/typescript-estree": "8.44.1", + "@typescript-eslint/visitor-keys": "8.44.1", "debug": "^4.3.4" }, "engines": { @@ -8228,16 +8266,40 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.44.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.44.1.tgz", + "integrity": "sha512-ycSa60eGg8GWAkVsKV4E6Nz33h+HjTXbsDT4FILyL8Obk5/mx4tbvCNsLf9zret3ipSumAOG89UcCs/KRaKYrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.44.1", + "@typescript-eslint/types": "^8.44.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.32.1", + "version": "8.44.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.44.1.tgz", + "integrity": "sha512-NdhWHgmynpSvyhchGLXh+w12OMT308Gm25JoRIyTZqEbApiBiQHD/8xgb6LqCWCFcxFtWwaVdFsLPQI3jvhywg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.32.1", - "@typescript-eslint/visitor-keys": "8.32.1" + "@typescript-eslint/types": "8.44.1", + "@typescript-eslint/visitor-keys": "8.44.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -8247,13 +8309,33 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.44.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.44.1.tgz", + "integrity": "sha512-B5OyACouEjuIvof3o86lRMvyDsFwZm+4fBOqFHccIctYgBjqR3qT39FBYGN87khcgf0ExpdCBeGKpKRhSFTjKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.32.1", + "version": "8.44.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.44.1.tgz", + "integrity": "sha512-KdEerZqHWXsRNKjF9NYswNISnFzXfXNDfPxoTh7tqohU/PRIbwTmsjGK6V9/RTYWau7NZvfo52lgVk+sJh0K3g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.32.1", - "@typescript-eslint/utils": "8.32.1", + "@typescript-eslint/types": "8.44.1", + "@typescript-eslint/typescript-estree": "8.44.1", + "@typescript-eslint/utils": "8.44.1", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -8266,11 +8348,13 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.32.1", + "version": "8.44.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.44.1.tgz", + "integrity": "sha512-Lk7uj7y9uQUOEguiDIDLYLJOrYHQa7oBiURYVFqIpGxclAFQ78f6VUOM8lI2XEuNOKNB7XuvM2+2cMXAoq4ALQ==", "dev": true, "license": "MIT", "engines": { @@ -8282,12 +8366,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.32.1", + "version": "8.44.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.44.1.tgz", + "integrity": "sha512-qnQJ+mVa7szevdEyvfItbO5Vo+GfZ4/GZWWDRRLjrxYPkhM+6zYB2vRYwCsoJLzqFCdZT4mEqyJoyzkunsZ96A==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.32.1", - "@typescript-eslint/visitor-keys": "8.32.1", + "@typescript-eslint/project-service": "8.44.1", + "@typescript-eslint/tsconfig-utils": "8.44.1", + "@typescript-eslint/types": "8.44.1", + "@typescript-eslint/visitor-keys": "8.44.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -8303,7 +8391,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { @@ -8318,6 +8406,8 @@ }, "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, "license": "ISC", "dependencies": { @@ -8331,14 +8421,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.32.1", + "version": "8.44.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.44.1.tgz", + "integrity": "sha512-DpX5Fp6edTlocMCwA+mHY8Mra+pPjRZ0TfHkXI8QFelIKcbADQz1LUPNtzOFUriBB2UYqw4Pi9+xV4w9ZczHFg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.32.1", - "@typescript-eslint/types": "8.32.1", - "@typescript-eslint/typescript-estree": "8.32.1" + "@typescript-eslint/scope-manager": "8.44.1", + "@typescript-eslint/types": "8.44.1", + "@typescript-eslint/typescript-estree": "8.44.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -8349,16 +8441,18 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.32.1", + "version": "8.44.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.44.1.tgz", + "integrity": "sha512-576+u0QD+Jp3tZzvfRfxon0EA2lzcDt3lhUbsC6Lgzy9x2VR4E+JUiNyGHi5T8vk0TV+fpJ5GLG1JsJuWCaKhw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.32.1", - "eslint-visitor-keys": "^4.2.0" + "@typescript-eslint/types": "8.44.1", + "eslint-visitor-keys": "^4.2.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -8369,7 +8463,9 @@ } }, "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "4.2.0", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -8677,9 +8773,9 @@ } }, "node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -8956,16 +9052,20 @@ "license": "MIT" }, "node_modules/array-includes": { - "version": "3.1.8", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -9006,16 +9106,19 @@ } }, "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", + "es-abstract": "^1.23.9", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -10685,12 +10788,17 @@ } }, "node_modules/cacheable": { - "version": "1.9.0", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.0.2.tgz", + "integrity": "sha512-dWjhLx8RWnPsAWVKwW/wI6OJpQ/hSVb1qS0NUif8TR9vRiSwci7Gey8x04kRU9iAF+Rnbtex5Kjjfg/aB5w8Pg==", "dev": true, "license": "MIT", "dependencies": { - "hookified": "^1.8.2", - "keyv": "^5.3.3" + "@cacheable/memoize": "^2.0.2", + "@cacheable/memory": "^2.0.2", + "@cacheable/utils": "^2.0.2", + "hookified": "^1.12.1", + "keyv": "^5.5.2" } }, "node_modules/cacheable-request": { @@ -10777,11 +10885,13 @@ } }, "node_modules/cacheable/node_modules/keyv": { - "version": "5.3.3", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.2.tgz", + "integrity": "sha512-TXcFHbmm/z7MGd1u9ASiCSfTS+ei6Z8B3a5JHzx3oPa/o7QzWVtPRpc4KGER5RR469IC+/nfg4U5YLIuDUua2g==", "dev": true, "license": "MIT", "dependencies": { - "@keyv/serialize": "^1.0.3" + "@keyv/serialize": "^1.1.1" } }, "node_modules/cachedir": { @@ -10821,11 +10931,13 @@ } }, "node_modules/call-bound": { - "version": "1.0.3", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "get-intrinsic": "^1.2.6" + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -13568,7 +13680,9 @@ } }, "node_modules/es-abstract": { - "version": "1.23.9", + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", "dev": true, "license": "MIT", "dependencies": { @@ -13576,18 +13690,18 @@ "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", - "call-bound": "^1.0.3", + "call-bound": "^1.0.4", "data-view-buffer": "^1.0.2", "data-view-byte-length": "^1.0.2", "data-view-byte-offset": "^1.0.1", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", + "es-object-atoms": "^1.1.1", "es-set-tostringtag": "^2.1.0", "es-to-primitive": "^1.3.0", "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.0", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", @@ -13599,21 +13713,24 @@ "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", "is-regex": "^1.2.1", + "is-set": "^2.0.3", "is-shared-array-buffer": "^1.0.4", "is-string": "^1.1.1", "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.0", + "is-weakref": "^1.1.1", "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.3", + "object-inspect": "^1.13.4", "object-keys": "^1.1.1", "object.assign": "^4.1.7", "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.3", + "regexp.prototype.flags": "^1.5.4", "safe-array-concat": "^1.1.3", "safe-push-apply": "^1.0.0", "safe-regex-test": "^1.1.0", "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", "string.prototype.trim": "^1.2.10", "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", @@ -13622,7 +13739,7 @@ "typed-array-byte-offset": "^1.0.4", "typed-array-length": "^1.0.7", "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.18" + "which-typed-array": "^1.1.19" }, "engines": { "node": ">= 0.4" @@ -13806,7 +13923,9 @@ } }, "node_modules/eslint-config-prettier": { - "version": "10.1.5", + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", + "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", "dev": true, "license": "MIT", "bin": { @@ -13866,7 +13985,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.12.0", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", "dev": true, "license": "MIT", "dependencies": { @@ -13890,7 +14011,9 @@ } }, "node_modules/eslint-plugin-es-x": { - "version": "8.6.2", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-8.7.0.tgz", + "integrity": "sha512-Du5Sb067sjqzmglaPhsfcEQgE1EYfL8sko+4jOMcAB/XKGoCxntSrOmTYuVzswA1rzM9+MZwH6+GOp0G3/wVCg==", "dev": true, "funding": [ "https://github.com/sponsors/ota-meshi", @@ -13910,28 +14033,30 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.31.0", + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", "dependencies": { "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.0", + "eslint-module-utils": "^2.12.1", "hasown": "^2.0.2", - "is-core-module": "^2.15.1", + "is-core-module": "^2.16.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "object.groupby": "^1.0.3", - "object.values": "^1.2.0", + "object.values": "^1.2.1", "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.8", + "string.prototype.trimend": "^1.0.9", "tsconfig-paths": "^3.15.0" }, "engines": { @@ -13943,6 +14068,8 @@ }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "license": "MIT", "dependencies": { @@ -13951,6 +14078,8 @@ }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -13962,6 +14091,8 @@ }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "license": "ISC", "bin": { @@ -13969,7 +14100,9 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "28.11.0", + "version": "28.14.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.14.0.tgz", + "integrity": "sha512-P9s/qXSMTpRTerE2FQ0qJet2gKbcGyFTPAJipoKxmWqR6uuFqIqk8FuEfg5yBieOezVrEfAMZrEwJ6yEp+1MFQ==", "dev": true, "license": "MIT", "dependencies": { @@ -14016,19 +14149,21 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "50.6.17", + "version": "50.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.8.0.tgz", + "integrity": "sha512-UyGb5755LMFWPrZTEqqvTJ3urLz1iqj+bYOHFNag+sw3NvaMWP9K2z+uIn37XfNALmQLQyrBlJ5mkiVPL7ADEg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@es-joy/jsdoccomment": "~0.50.1", + "@es-joy/jsdoccomment": "~0.50.2", "are-docs-informative": "^0.0.2", "comment-parser": "1.4.1", - "debug": "^4.3.6", + "debug": "^4.4.1", "escape-string-regexp": "^4.0.0", - "espree": "^10.1.0", + "espree": "^10.3.0", "esquery": "^1.6.0", "parse-imports-exports": "^0.2.4", - "semver": "^7.6.3", + "semver": "^7.7.2", "spdx-expression-parse": "^4.0.0" }, "engines": { @@ -14040,6 +14175,8 @@ }, "node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "license": "MIT", "engines": { @@ -14050,7 +14187,9 @@ } }, "node_modules/eslint-plugin-jsdoc/node_modules/eslint-visitor-keys": { - "version": "4.2.0", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -14061,13 +14200,15 @@ } }, "node_modules/eslint-plugin-jsdoc/node_modules/espree": { - "version": "10.3.0", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.14.0", + "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" + "eslint-visitor-keys": "^4.2.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -17385,7 +17526,9 @@ } }, "node_modules/hookified": { - "version": "1.9.0", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.12.1.tgz", + "integrity": "sha512-xnKGl+iMIlhrZmGHB729MqlmPoWBznctSQTYCpFKqNsCgimJQmithcW0xSQMMFzYnV2iKUh25alswn6epgxS0Q==", "dev": true, "license": "MIT" }, @@ -18637,6 +18780,19 @@ "node": ">=0.10.0" } }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "7.0.0", "license": "MIT", @@ -24238,7 +24394,9 @@ } }, "node_modules/nanoid": { - "version": "3.3.8", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "funding": [ { "type": "github", @@ -28597,7 +28755,9 @@ } }, "node_modules/postcss": { - "version": "8.5.3", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "funding": [ { "type": "opencollective", @@ -28614,7 +28774,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.8", + "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -29241,7 +29401,9 @@ } }, "node_modules/prettier": { - "version": "3.5.3", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", "bin": { @@ -32180,6 +32342,20 @@ "node": ">= 0.8" } }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/stream-combiner2": { "version": "1.1.1", "dev": true, @@ -32574,7 +32750,9 @@ } }, "node_modules/stylelint": { - "version": "16.19.1", + "version": "16.24.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.24.0.tgz", + "integrity": "sha512-7ksgz3zJaSbTUGr/ujMXvLVKdDhLbGl3R/3arNudH7z88+XZZGNLMTepsY28WlnvEFcuOmUe7fg40Q3lfhOfSQ==", "dev": true, "funding": [ { @@ -32588,9 +32766,9 @@ ], "license": "MIT", "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/media-query-list-parser": "^4.0.2", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3", "@csstools/selector-specificity": "^5.0.0", "@dual-bundle/import-meta-resolve": "^4.1.0", "balanced-match": "^2.0.0", @@ -32598,24 +32776,24 @@ "cosmiconfig": "^9.0.0", "css-functions-list": "^3.2.3", "css-tree": "^3.1.0", - "debug": "^4.3.7", + "debug": "^4.4.1", "fast-glob": "^3.3.3", "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^10.0.8", + "file-entry-cache": "^10.1.4", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", "html-tags": "^3.3.1", - "ignore": "^7.0.3", + "ignore": "^7.0.5", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.36.0", + "known-css-properties": "^0.37.0", "mathml-tag-names": "^2.1.3", "meow": "^13.2.0", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "picocolors": "^1.1.1", - "postcss": "^8.5.3", + "postcss": "^8.5.6", "postcss-resolve-nested-selector": "^0.1.6", "postcss-safe-parser": "^7.0.1", "postcss-selector-parser": "^7.1.0", @@ -32774,6 +32952,8 @@ }, "node_modules/stylelint/node_modules/array-union": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, "license": "MIT", "engines": { @@ -32782,29 +32962,37 @@ }, "node_modules/stylelint/node_modules/balanced-match": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", "dev": true, "license": "MIT" }, "node_modules/stylelint/node_modules/file-entry-cache": { - "version": "10.1.0", + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.4.tgz", + "integrity": "sha512-5XRUFc0WTtUbjfGzEwXc42tiGxQHBmtbUG1h9L2apu4SulCGN3Hqm//9D6FAolf8MYNL7f/YlJl9vy08pj5JuA==", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^6.1.9" + "flat-cache": "^6.1.13" } }, "node_modules/stylelint/node_modules/flat-cache": { - "version": "6.1.9", + "version": "6.1.14", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.14.tgz", + "integrity": "sha512-ExZSCSV9e7v/Zt7RzCbX57lY2dnPdxzU/h3UE6WJ6NtEMfwBd8jmi1n4otDEUfz+T/R+zxrFDpICFdjhD3H/zw==", "dev": true, "license": "MIT", "dependencies": { - "cacheable": "^1.9.0", + "cacheable": "^2.0.1", "flatted": "^3.3.3", - "hookified": "^1.8.2" + "hookified": "^1.12.0" } }, "node_modules/stylelint/node_modules/global-modules": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, "license": "MIT", "dependencies": { @@ -32816,6 +33004,8 @@ }, "node_modules/stylelint/node_modules/global-prefix": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dev": true, "license": "MIT", "dependencies": { @@ -32829,6 +33019,8 @@ }, "node_modules/stylelint/node_modules/globby": { "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "license": "MIT", "dependencies": { @@ -32848,6 +33040,8 @@ }, "node_modules/stylelint/node_modules/globby/node_modules/ignore": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "license": "MIT", "engines": { @@ -32855,7 +33049,9 @@ } }, "node_modules/stylelint/node_modules/ignore": { - "version": "7.0.3", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, "license": "MIT", "engines": { @@ -32864,16 +33060,22 @@ }, "node_modules/stylelint/node_modules/ini": { "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true, "license": "ISC" }, "node_modules/stylelint/node_modules/known-css-properties": { - "version": "0.36.0", + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz", + "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==", "dev": true, "license": "MIT" }, "node_modules/stylelint/node_modules/meow": { "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, "license": "MIT", "engines": { @@ -32885,6 +33087,8 @@ }, "node_modules/stylelint/node_modules/postcss-safe-parser": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", "dev": true, "funding": [ { @@ -32910,6 +33114,8 @@ }, "node_modules/stylelint/node_modules/signal-exit": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "license": "ISC", "engines": { @@ -32921,6 +33127,8 @@ }, "node_modules/stylelint/node_modules/which": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "license": "ISC", "dependencies": { @@ -32932,6 +33140,8 @@ }, "node_modules/stylelint/node_modules/write-file-atomic": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", "dev": true, "license": "ISC", "dependencies": { @@ -34746,14 +34956,17 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.18", + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "for-each": "^0.3.3", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" }, diff --git a/package.json b/package.json index 53c784554..fb06faa56 100644 --- a/package.json +++ b/package.json @@ -116,8 +116,8 @@ "@types/node": "^22.13.10", "@types/nunjucks": "^3.2.6", "@types/sinon": "^17.0.4", - "@typescript-eslint/eslint-plugin": "^8.32.1", - "@typescript-eslint/parser": "^8.32.1", + "@typescript-eslint/eslint-plugin": "^8.44.1", + "@typescript-eslint/parser": "^8.44.1", "autoprefixer": "^10.4.21", "babel-jest": "^29.7.0", "clipboard": "^2.0.11", @@ -128,13 +128,13 @@ "dayjs": "^1.11.13", "del": "^8.0.0", "eslint": "^8.57.1", - "eslint-config-prettier": "^10.1.5", + "eslint-config-prettier": "^10.1.8", "eslint-config-standard": "^17.1.0", - "eslint-plugin-es-x": "^8.6.2", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jest": "^28.11.0", + "eslint-plugin-es-x": "^8.7.0", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jest": "^28.14.0", "eslint-plugin-jest-dom": "^5.5.0", - "eslint-plugin-jsdoc": "^50.6.17", + "eslint-plugin-jsdoc": "^50.8.0", "eslint-plugin-markdown": "^5.1.0", "eslint-plugin-n": "^16.6.2", "eslint-plugin-promise": "^6.6.0", @@ -166,7 +166,7 @@ "postcss-load-config": "^6.0.1", "postcss-markdown": "^1.3.0", "postcss-scss": "^4.0.9", - "prettier": "^3.5.3", + "prettier": "^3.6.2", "puppeteer": "^24.8.2", "puppeteer-core": "^24.8.2", "require-dir": "^1.2.0", @@ -174,7 +174,7 @@ "sass-embedded": "^1.89.0", "semantic-release": "^24.2.4", "sinon": "^21.0.0", - "stylelint": "^16.19.1", + "stylelint": "^16.24.0", "stylelint-config-gds": "^2.0.0", "stylelint-order": "^6.0.4", "supertest": "^7.1.1", From c23341b10937b6a410b4eb5436319ff6d21d3c1c Mon Sep 17 00:00:00 2001 From: Chris Pymm Date: Thu, 25 Sep 2025 08:12:55 +0100 Subject: [PATCH 03/28] chore: update renovate minimum release age (#1811) --- renovate.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 06d1735b5..96f0026ea 100644 --- a/renovate.json +++ b/renovate.json @@ -3,7 +3,7 @@ "extends": ["config:recommended", ":semanticCommitTypeAll(build)"], "ignoreDeps": ["eslint", "eslint-plugin-promise", "eslint-plugin-n"], "labels": ["dependencies"], - "minimumReleaseAge": "7", + "minimumReleaseAge": "7 days", "packageRules": [ { "groupName": "Build", From 2da4a2c8e1605b20e8b7e3363fc4a842264cc485 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 09:28:45 +0100 Subject: [PATCH 04/28] build(deps): update puppeteer to ^24.22.0 (#1456) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 117 ++++++++++++++++++++++++++++++++-------------- package.json | 4 +- 2 files changed, 85 insertions(+), 36 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7aaa62963..1cadb8d89 100644 --- a/package-lock.json +++ b/package-lock.json @@ -115,8 +115,8 @@ "postcss-markdown": "^1.3.0", "postcss-scss": "^4.0.9", "prettier": "^3.6.2", - "puppeteer": "^24.8.2", - "puppeteer-core": "^24.8.2", + "puppeteer": "^24.22.0", + "puppeteer-core": "^24.22.0", "require-dir": "^1.2.0", "rollup": "^4.41.0", "sass-embedded": "^1.89.0", @@ -366,6 +366,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", @@ -2276,6 +2277,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" }, @@ -2299,6 +2301,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" } @@ -5208,6 +5211,7 @@ "version": "6.1.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@octokit/auth-token": "^5.0.0", "@octokit/graphql": "^8.1.2", @@ -5338,6 +5342,7 @@ "node_modules/@opentelemetry/api": { "version": "1.9.0", "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=8.0.0" } @@ -5355,6 +5360,7 @@ "node_modules/@opentelemetry/context-async-hooks": { "version": "1.30.1", "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=14" }, @@ -5385,6 +5391,7 @@ "node_modules/@opentelemetry/instrumentation": { "version": "0.57.2", "license": "Apache-2.0", + "peer": true, "dependencies": { "@opentelemetry/api-logs": "0.57.2", "@types/shimmer": "^1.2.0", @@ -5798,6 +5805,7 @@ "node_modules/@opentelemetry/semantic-conventions": { "version": "1.33.0", "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=14" } @@ -5944,18 +5952,18 @@ } }, "node_modules/@puppeteer/browsers": { - "version": "2.10.5", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.10.5.tgz", - "integrity": "sha512-eifa0o+i8dERnngJwKrfp3dEq7ia5XFyoqB17S4gK8GhsQE4/P8nxOfQSE0zQHxzzLo/cmF+7+ywEQ7wK7Fb+w==", + "version": "2.10.10", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.10.10.tgz", + "integrity": "sha512-3ZG500+ZeLql8rE0hjfhkycJjDj0pI/btEh3L9IkWUYcOrgP0xCNRq3HbtbqOPbvDhFaAWD88pDFtlLv8ns8gA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "debug": "^4.4.1", + "debug": "^4.4.3", "extract-zip": "^2.0.1", "progress": "^2.0.3", "proxy-agent": "^6.5.0", "semver": "^7.7.2", - "tar-fs": "^3.0.8", + "tar-fs": "^3.1.0", "yargs": "^17.7.2" }, "bin": { @@ -7527,6 +7535,7 @@ "version": "10.4.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -7672,6 +7681,7 @@ "version": "7.20.5", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -7959,8 +7969,7 @@ "node_modules/@types/linkify-it": { "version": "5.0.0", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/markdown-it": { "version": "14.1.2", @@ -7983,8 +7992,7 @@ "node_modules/@types/mdurl": { "version": "2.0.0", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/mime": { "version": "1.3.5", @@ -8008,6 +8016,7 @@ "node_modules/@types/node": { "version": "22.15.3", "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -8250,6 +8259,7 @@ "integrity": "sha512-EHrrEsyhOhxYt8MTg4zTF+DJMuNBzWwgvvOYNj/zm1vnaD/IC5zCXFehZv94Piqa2cRFfXrTFxIvO95L7Qc/cw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.44.1", "@typescript-eslint/types": "8.44.1", @@ -8777,6 +8787,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -10608,6 +10619,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001716", "electron-to-chromium": "^1.5.149", @@ -11098,7 +11110,9 @@ } }, "node_modules/chromium-bidi": { - "version": "5.1.0", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-9.1.0.tgz", + "integrity": "sha512-rlUzQ4WzIAWdIbY/viPShhZU2n21CxDUgazXVbw4Hu1MwaeUSEksSeM6DqPgpRjCLXRk702AVRxJxoOz0dw4OA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -11986,6 +12000,7 @@ "version": "9.0.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", @@ -12484,9 +12499,9 @@ "license": "MIT" }, "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -12966,9 +12981,12 @@ } }, "node_modules/devtools-protocol": { - "version": "0.0.1439962", + "version": "0.0.1495869", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1495869.tgz", + "integrity": "sha512-i+bkd9UYFis40RcnkW7XrOprCujXRAHg62IVh/Ah3G8MmNXpCGt1m0dTFhSdx/AVs8XEMbdOGRwdkR1Bcta8AA==", "dev": true, - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "peer": true }, "node_modules/dezalgo": { "version": "1.0.4", @@ -13858,6 +13876,7 @@ "version": "8.57.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -14038,6 +14057,7 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -14235,6 +14255,7 @@ "version": "16.6.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "builtins": "^5.0.1", @@ -14321,6 +14342,7 @@ "version": "6.6.0", "dev": true, "license": "ISC", + "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -14930,6 +14952,7 @@ "node_modules/express": { "version": "4.21.2", "license": "MIT", + "peer": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -16587,6 +16610,7 @@ "node_modules/govuk-frontend": { "version": "5.9.0", "license": "MIT", + "peer": true, "engines": { "node": ">= 4.2.0" } @@ -16879,6 +16903,7 @@ "integrity": "sha512-PErok3DZSA5WGMd6XXV3IRNO0mlB+wW3OzhFJLEec1jSERg2j1bxJ6e5Fh6N6fn3FH2T9AP4UYNb/pYlADB9sA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "glob-watcher": "^6.0.0", "gulp-cli": "^3.1.0", @@ -18326,6 +18351,7 @@ "node_modules/ioredis": { "version": "5.6.0", "license": "MIT", + "peer": true, "dependencies": { "@ioredis/commands": "^1.1.1", "cluster-key-slot": "^1.1.0", @@ -19292,6 +19318,7 @@ "integrity": "sha512-Ry+p2+NLk6u8Agh5yVqELfUJvRfV51hhVBRIB5yZPY7mU0DGBmOuFG5GebZbMbm86cdQNK0fhJuDX8/1YorISQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/core": "30.1.3", "@jest/types": "30.0.5", @@ -23169,6 +23196,7 @@ "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", @@ -23870,6 +23898,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "bin": { "marked": "bin/marked.js" }, @@ -24228,6 +24257,7 @@ "node_modules/moment": { "version": "2.30.1", "license": "MIT", + "peer": true, "engines": { "node": "*" } @@ -27502,6 +27532,7 @@ "node_modules/nunjucks": { "version": "3.2.4", "license": "BSD-2-Clause", + "peer": true, "dependencies": { "a-sync-waterfall": "^1.0.0", "asap": "^2.0.3", @@ -28773,6 +28804,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -29249,6 +29281,7 @@ "version": "7.1.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -29336,6 +29369,7 @@ "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "posthtml-parser": "^0.11.0", "posthtml-render": "^3.0.0" @@ -29593,18 +29627,18 @@ } }, "node_modules/puppeteer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.9.0.tgz", - "integrity": "sha512-L0pOtALIx8rgDt24Y+COm8X52v78gNtBOW6EmUcEPci0TYD72SAuaXKqasRIx4JXxmg2Tkw5ySKcpPOwN8xXnQ==", + "version": "24.22.3", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.22.3.tgz", + "integrity": "sha512-mnhXzIqSYSJ1SMv1RYH07YMzWP81xCmmQj91Q8iQMZqnf97eVzeHgsGL6kpywiGCi+nQafta/+NkwM4URMy/XQ==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@puppeteer/browsers": "2.10.5", - "chromium-bidi": "5.1.0", + "@puppeteer/browsers": "2.10.10", + "chromium-bidi": "9.1.0", "cosmiconfig": "^9.0.0", - "devtools-protocol": "0.0.1439962", - "puppeteer-core": "24.9.0", + "devtools-protocol": "0.0.1495869", + "puppeteer-core": "24.22.3", "typed-query-selector": "^2.12.0" }, "bin": { @@ -29615,18 +29649,19 @@ } }, "node_modules/puppeteer-core": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.9.0.tgz", - "integrity": "sha512-HFdCeH/wx6QPz8EncafbCqJBqaCG1ENW75xg3cLFMRUoqZDgByT6HSueiumetT2uClZxwqj0qS4qMVZwLHRHHw==", + "version": "24.22.3", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.22.3.tgz", + "integrity": "sha512-M/Jhg4PWRANSbL/C9im//Yb55wsWBS5wdp+h59iwM+EPicVQQCNs56iC5aEAO7avfDPRfxs4MM16wHjOYHNJEw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@puppeteer/browsers": "2.10.5", - "chromium-bidi": "5.1.0", - "debug": "^4.4.1", - "devtools-protocol": "0.0.1439962", + "@puppeteer/browsers": "2.10.10", + "chromium-bidi": "9.1.0", + "debug": "^4.4.3", + "devtools-protocol": "0.0.1495869", "typed-query-selector": "^2.12.0", - "ws": "^8.18.2" + "webdriver-bidi-protocol": "0.2.11", + "ws": "^8.18.3" }, "engines": { "node": ">=18" @@ -30257,6 +30292,7 @@ "node_modules/rollup": { "version": "4.41.0", "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "1.0.7" }, @@ -31054,6 +31090,7 @@ "version": "24.2.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", @@ -31892,6 +31929,7 @@ "integrity": "sha512-TOgRcwFPbfGtpqvZw+hyqJDvqfapr1qUlOizROIk4bBLjlsjlB00Pg6wMFXNtJRpu+eCZuVOaLatG7M8105kAw==", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "@sinonjs/commons": "^3.0.1", "@sinonjs/fake-timers": "^13.0.5", @@ -32765,6 +32803,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", @@ -34084,6 +34123,7 @@ "version": "5.8.3", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -34810,6 +34850,13 @@ "defaults": "^1.0.3" } }, + "node_modules/webdriver-bidi-protocol": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/webdriver-bidi-protocol/-/webdriver-bidi-protocol-0.2.11.tgz", + "integrity": "sha512-Y9E1/oi4XMxcR8AT0ZC4OvYntl34SPgwjmELH+owjBr0korAX4jKgZULBWILGCVGdVCQ0dodTToIETozhG8zvA==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", @@ -35069,7 +35116,9 @@ } }, "node_modules/ws": { - "version": "8.18.2", + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "dev": true, "license": "MIT", "engines": { @@ -35212,7 +35261,7 @@ }, "package": { "name": "@ministryofjustice/frontend", - "version": "5.2.0", + "version": "5.2.1", "license": "MIT", "engines": { "node": ">= 4.2.0" diff --git a/package.json b/package.json index fb06faa56..58b76a59d 100644 --- a/package.json +++ b/package.json @@ -167,8 +167,8 @@ "postcss-markdown": "^1.3.0", "postcss-scss": "^4.0.9", "prettier": "^3.6.2", - "puppeteer": "^24.8.2", - "puppeteer-core": "^24.8.2", + "puppeteer": "^24.22.0", + "puppeteer-core": "^24.22.0", "require-dir": "^1.2.0", "rollup": "^4.41.0", "sass-embedded": "^1.89.0", From 0c966a8b7f8bf0fb92848878f14cfe73a4f571e6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 10:27:57 +0100 Subject: [PATCH 05/28] build(deps): update production (#1348) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 381 +++++++++++++++++++++++++++++++++---------- package.json | 18 +- package/package.json | 2 +- 3 files changed, 302 insertions(+), 99 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1cadb8d89..b574e883e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,26 +11,26 @@ ], "dependencies": { "@ministryofjustice/frontend": "*", - "@sentry/node": "^9.15.0", - "@sentry/rollup-plugin": "^3.3.1", + "@sentry/node": "^9.46.0", + "@sentry/rollup-plugin": "^3.6.1", "connect-redis": "^6.1.3", - "dotenv": "^17.2.1", + "dotenv": "^17.2.2", "express": "^4.21.2", "express-nunjucks": "^3.1.2", - "express-rate-limit": "^7.5.0", - "express-session": "^1.18.1", + "express-rate-limit": "^7.5.1", + "express-session": "^1.18.2", "express-xss-sanitizer": "^2.0.0", - "govuk-frontend": "^5.9.0", + "govuk-frontend": "^5.11.2", "helmet": "^8.1.0", - "ioredis": "^5.6.0", + "ioredis": "^5.7.0", "joi": "^17.13.3", "moment": "^2.30.1", - "multer": "^2.0.0", + "multer": "^2.0.2", "node-fetch": "2.7.0", "notifications-node-client": "^8.2.1", "nunjucks": "^3.2.4", "sanitize-filename": "^1.6.3", - "sanitize-html": "^2.15.0" + "sanitize-html": "^2.17.0" }, "devDependencies": { "@11ty/eleventy": "^3.1.0", @@ -2614,7 +2614,9 @@ "license": "MIT" }, "node_modules/@ioredis/commands": { - "version": "1.2.0", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.4.0.tgz", + "integrity": "sha512-aFT2yemJJo+TZCmieA7qnYGQooOS7QfNmYrzGtsYd3g9j5iDP8AimYYAesf79ohjbLG12XxC4nG5DyEnC88AsQ==", "license": "MIT" }, "node_modules/@isaacs/cliui": { @@ -5371,6 +5373,7 @@ "node_modules/@opentelemetry/core": { "version": "1.30.1", "license": "Apache-2.0", + "peer": true, "dependencies": { "@opentelemetry/semantic-conventions": "1.28.0" }, @@ -5466,21 +5469,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-fastify": { - "version": "0.44.2", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, "node_modules/@opentelemetry/instrumentation-fs": { "version": "0.19.1", "license": "Apache-2.0", @@ -5762,6 +5750,7 @@ "node_modules/@opentelemetry/resources": { "version": "1.30.1", "license": "Apache-2.0", + "peer": true, "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/semantic-conventions": "1.28.0" @@ -5783,6 +5772,7 @@ "node_modules/@opentelemetry/sdk-trace-base": { "version": "1.30.1", "license": "Apache-2.0", + "peer": true, "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/resources": "1.30.1", @@ -5803,7 +5793,9 @@ } }, "node_modules/@opentelemetry/semantic-conventions": { - "version": "1.33.0", + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.37.0.tgz", + "integrity": "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA==", "license": "Apache-2.0", "peer": true, "engines": { @@ -5942,7 +5934,9 @@ } }, "node_modules/@prisma/instrumentation": { - "version": "6.6.0", + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/@prisma/instrumentation/-/instrumentation-6.11.1.tgz", + "integrity": "sha512-mrZOev24EDhnefmnZX7WVVT7v+r9LttPRqf54ONvj6re4XMF7wFTpK2tLJi4XHB7fFp/6xhYbgRel8YV7gQiyA==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/instrumentation": "^0.52.0 || ^0.53.0 || ^0.54.0 || ^0.55.0 || ^0.56.0 || ^0.57.0" @@ -7130,19 +7124,23 @@ } }, "node_modules/@sentry/babel-plugin-component-annotate": { - "version": "3.3.1", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-3.6.1.tgz", + "integrity": "sha512-zmvUa4RpzDG3LQJFpGCE8lniz8Rk1Wa6ZvvK+yEH+snZeaHHRbSnAQBMR607GOClP+euGHNO2YtaY4UAdNTYbg==", "license": "MIT", "engines": { "node": ">= 14" } }, "node_modules/@sentry/bundler-plugin-core": { - "version": "3.3.1", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@sentry/bundler-plugin-core/-/bundler-plugin-core-3.6.1.tgz", + "integrity": "sha512-/ubWjPwgLep84sUPzHfKL2Ns9mK9aQrEX4aBFztru7ygiJidKJTxYGtvjh4dL2M1aZ0WRQYp+7PF6+VKwdZXcQ==", "license": "MIT", "dependencies": { "@babel/core": "^7.18.5", - "@sentry/babel-plugin-component-annotate": "3.3.1", - "@sentry/cli": "2.42.2", + "@sentry/babel-plugin-component-annotate": "3.6.1", + "@sentry/cli": "^2.49.0", "dotenv": "^16.3.1", "find-up": "^5.0.0", "glob": "^9.3.2", @@ -7293,7 +7291,9 @@ } }, "node_modules/@sentry/cli": { - "version": "2.42.2", + "version": "2.55.0", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.55.0.tgz", + "integrity": "sha512-cynvcIM2xL8ddwELyFRSpZQw4UtFZzoM2rId2l9vg7+wDREPDocMJB9lEQpBIo3eqhp9JswqUT037yjO6iJ5Sw==", "hasInstallScript": true, "license": "BSD-3-Clause", "dependencies": { @@ -7310,17 +7310,20 @@ "node": ">= 10" }, "optionalDependencies": { - "@sentry/cli-darwin": "2.42.2", - "@sentry/cli-linux-arm": "2.42.2", - "@sentry/cli-linux-arm64": "2.42.2", - "@sentry/cli-linux-i686": "2.42.2", - "@sentry/cli-linux-x64": "2.42.2", - "@sentry/cli-win32-i686": "2.42.2", - "@sentry/cli-win32-x64": "2.42.2" + "@sentry/cli-darwin": "2.55.0", + "@sentry/cli-linux-arm": "2.55.0", + "@sentry/cli-linux-arm64": "2.55.0", + "@sentry/cli-linux-i686": "2.55.0", + "@sentry/cli-linux-x64": "2.55.0", + "@sentry/cli-win32-arm64": "2.55.0", + "@sentry/cli-win32-i686": "2.55.0", + "@sentry/cli-win32-x64": "2.55.0" } }, "node_modules/@sentry/cli-darwin": { - "version": "2.42.2", + "version": "2.55.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.55.0.tgz", + "integrity": "sha512-jGHE7SHHzqXUmnsmRLgorVH6nmMmTjQQXdPZbSL5tRtH8d3OIYrVNr5D72DSgD26XAPBDMV0ibqOQ9NKoiSpfA==", "license": "BSD-3-Clause", "optional": true, "os": [ @@ -7330,15 +7333,141 @@ "node": ">=10" } }, + "node_modules/@sentry/cli-linux-arm": { + "version": "2.55.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.55.0.tgz", + "integrity": "sha512-ATjU0PsiWADSPLF/kZroLZ7FPKd5W9TDWHVkKNwIUNTei702LFgTjNeRwOIzTgSvG3yTmVEqtwFQfFN/7hnVXQ==", + "cpu": [ + "arm" + ], + "license": "BSD-3-Clause", + "optional": true, + "os": [ + "linux", + "freebsd", + "android" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-linux-arm64": { + "version": "2.55.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.55.0.tgz", + "integrity": "sha512-jNB/0/gFcOuDCaY/TqeuEpsy/k52dwyk1SOV3s1ku4DUsln6govTppeAGRewY3T1Rj9B2vgIWTrnB8KVh9+Rgg==", + "cpu": [ + "arm64" + ], + "license": "BSD-3-Clause", + "optional": true, + "os": [ + "linux", + "freebsd", + "android" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-linux-i686": { + "version": "2.55.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.55.0.tgz", + "integrity": "sha512-8LZjo6PncTM6bWdaggscNOi5r7F/fqRREsCwvd51dcjGj7Kp1plqo9feEzYQ+jq+KUzVCiWfHrUjddFmYyZJrg==", + "cpu": [ + "x86", + "ia32" + ], + "license": "BSD-3-Clause", + "optional": true, + "os": [ + "linux", + "freebsd", + "android" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-linux-x64": { + "version": "2.55.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.55.0.tgz", + "integrity": "sha512-5LUVvq74Yj2cZZy5g5o/54dcWEaX4rf3myTHy73AKhRj1PABtOkfexOLbF9xSrZy95WXWaXyeH+k5n5z/vtHfA==", + "cpu": [ + "x64" + ], + "license": "BSD-3-Clause", + "optional": true, + "os": [ + "linux", + "freebsd", + "android" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-win32-arm64": { + "version": "2.55.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-arm64/-/cli-win32-arm64-2.55.0.tgz", + "integrity": "sha512-cWIQdzm1pfLwPARsV6dUb8TVd6Y3V1A2VWxjTons3Ift6GvtVmiAe0OWL8t2Yt95i8v61kTD/6Tq21OAaogqzA==", + "cpu": [ + "arm64" + ], + "license": "BSD-3-Clause", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-win32-i686": { + "version": "2.55.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.55.0.tgz", + "integrity": "sha512-ldepCn2t9r4I0wvgk7NRaA7coJyy4rTQAzM66u9j5nTEsUldf66xym6esd5ZZRAaJUjffqvHqUIr/lrieTIrVg==", + "cpu": [ + "x86", + "ia32" + ], + "license": "BSD-3-Clause", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-win32-x64": { + "version": "2.55.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.55.0.tgz", + "integrity": "sha512-4hPc/I/9tXx+HLTdTGwlagtAfDSIa2AoTUP30tl32NAYQhx9a6niUbPAemK2qfxesiufJ7D2djX83rCw6WnJVA==", + "cpu": [ + "x64" + ], + "license": "BSD-3-Clause", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, "node_modules/@sentry/core": { - "version": "9.15.0", + "version": "9.46.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-9.46.0.tgz", + "integrity": "sha512-it7JMFqxVproAgEtbLgCVBYtQ9fIb+Bu0JD+cEplTN/Ukpe6GaolyYib5geZqslVxhp2sQgT+58aGvfd/k0N8Q==", "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/@sentry/node": { - "version": "9.15.0", + "version": "9.46.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-9.46.0.tgz", + "integrity": "sha512-pRLqAcd7GTGvN8gex5FtkQR5Mcol8gOy1WlyZZFq4rBbVtMbqKOQRhohwqnb+YrnmtFpj7IZ7KNDo077MvNeOQ==", "license": "MIT", "dependencies": { "@opentelemetry/api": "^1.9.0", @@ -7349,7 +7478,6 @@ "@opentelemetry/instrumentation-connect": "0.43.1", "@opentelemetry/instrumentation-dataloader": "0.16.1", "@opentelemetry/instrumentation-express": "0.47.1", - "@opentelemetry/instrumentation-fastify": "0.44.2", "@opentelemetry/instrumentation-fs": "0.19.1", "@opentelemetry/instrumentation-generic-pool": "0.43.1", "@opentelemetry/instrumentation-graphql": "0.47.1", @@ -7370,39 +7498,91 @@ "@opentelemetry/instrumentation-undici": "0.10.1", "@opentelemetry/resources": "^1.30.1", "@opentelemetry/sdk-trace-base": "^1.30.1", - "@opentelemetry/semantic-conventions": "^1.30.0", - "@prisma/instrumentation": "6.6.0", - "@sentry/core": "9.15.0", - "@sentry/opentelemetry": "9.15.0", - "import-in-the-middle": "^1.13.0" + "@opentelemetry/semantic-conventions": "^1.34.0", + "@prisma/instrumentation": "6.11.1", + "@sentry/core": "9.46.0", + "@sentry/node-core": "9.46.0", + "@sentry/opentelemetry": "9.46.0", + "import-in-the-middle": "^1.14.2", + "minimatch": "^9.0.0" }, "engines": { "node": ">=18" } }, + "node_modules/@sentry/node-core": { + "version": "9.46.0", + "resolved": "https://registry.npmjs.org/@sentry/node-core/-/node-core-9.46.0.tgz", + "integrity": "sha512-XRVu5pqoklZeh4wqhxCLZkz/ipoKhitctgEFXX9Yh1e1BoHM2pIxT52wf+W6hHM676TFmFXW3uKBjsmRM3AjgA==", + "license": "MIT", + "dependencies": { + "@sentry/core": "9.46.0", + "@sentry/opentelemetry": "9.46.0", + "import-in-the-middle": "^1.14.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.9.0", + "@opentelemetry/context-async-hooks": "^1.30.1 || ^2.0.0", + "@opentelemetry/core": "^1.30.1 || ^2.0.0", + "@opentelemetry/instrumentation": ">=0.57.1 <1", + "@opentelemetry/resources": "^1.30.1 || ^2.0.0", + "@opentelemetry/sdk-trace-base": "^1.30.1 || ^2.0.0", + "@opentelemetry/semantic-conventions": "^1.34.0" + } + }, + "node_modules/@sentry/node/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@sentry/node/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@sentry/opentelemetry": { - "version": "9.15.0", + "version": "9.46.0", + "resolved": "https://registry.npmjs.org/@sentry/opentelemetry/-/opentelemetry-9.46.0.tgz", + "integrity": "sha512-w2zTxqrdmwRok0cXBoh+ksXdGRUHUZhlpfL/H2kfTodOL+Mk8rW72qUmfqQceXoqgbz8UyK8YgJbyt+XS5H4Qg==", "license": "MIT", "dependencies": { - "@sentry/core": "9.15.0" + "@sentry/core": "9.46.0" }, "engines": { "node": ">=18" }, "peerDependencies": { "@opentelemetry/api": "^1.9.0", - "@opentelemetry/context-async-hooks": "^1.30.1", - "@opentelemetry/core": "^1.30.1", - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/sdk-trace-base": "^1.30.1", - "@opentelemetry/semantic-conventions": "^1.28.0" + "@opentelemetry/context-async-hooks": "^1.30.1 || ^2.0.0", + "@opentelemetry/core": "^1.30.1 || ^2.0.0", + "@opentelemetry/sdk-trace-base": "^1.30.1 || ^2.0.0", + "@opentelemetry/semantic-conventions": "^1.34.0" } }, "node_modules/@sentry/rollup-plugin": { - "version": "3.3.1", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@sentry/rollup-plugin/-/rollup-plugin-3.6.1.tgz", + "integrity": "sha512-vzxUNtLusD5Aa/gW+0q+qHhAe488uRJQQIWInmebLnUCbgmZxhBmPATBIyrnfeF2sWyShGl3sZonsDm1w436OA==", "license": "MIT", "dependencies": { - "@sentry/bundler-plugin-core": "3.3.1", + "@sentry/bundler-plugin-core": "3.6.1", "unplugin": "1.0.1" }, "engines": { @@ -8823,6 +9003,8 @@ }, "node_modules/agent-base": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "license": "MIT", "dependencies": { "debug": "4" @@ -10777,17 +10959,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/cache-swap/node_modules/mkdirp": { - "version": "0.5.6", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/cache-swap/node_modules/rimraf": { "version": "2.7.1", "dev": true, @@ -13110,9 +13281,9 @@ } }, "node_modules/dotenv": { - "version": "17.2.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.1.tgz", - "integrity": "sha512-kQhDYKZecqnM0fCnzI5eIv5L4cAe/iRI+HqMbO/hbRdTAeXDG+M9FjipUxNfbARuEg4iHIbhnhs78BCHNbSxEQ==", + "version": "17.2.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.2.tgz", + "integrity": "sha512-Sf2LSQP+bOlhKWWyhFsn0UsfdK/kCWRv1iuA2gXAwt3dyNabr6QSj00I2V10pidqz69soatm9ZwZvpQMTIOd5Q==", "license": "BSD-2-Clause", "engines": { "node": ">=12" @@ -15009,7 +15180,9 @@ } }, "node_modules/express-rate-limit": { - "version": "7.5.0", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz", + "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==", "license": "MIT", "engines": { "node": ">= 16" @@ -15018,7 +15191,7 @@ "url": "https://github.com/sponsors/express-rate-limit" }, "peerDependencies": { - "express": "^4.11 || 5 || ^5.0.0-beta.1" + "express": ">= 4.11" } }, "node_modules/express-session": { @@ -15042,10 +15215,14 @@ }, "node_modules/express-session/node_modules/cookie-signature": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", "license": "MIT" }, "node_modules/express-session/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "license": "MIT", "dependencies": { "ms": "2.0.0" @@ -15053,6 +15230,8 @@ }, "node_modules/express-session/node_modules/ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, "node_modules/express-xss-sanitizer": { @@ -16608,7 +16787,9 @@ } }, "node_modules/govuk-frontend": { - "version": "5.9.0", + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-5.12.0.tgz", + "integrity": "sha512-gNr/UVDoORVOqVKTC9i9HOKKPeM4IDTAqtnd3t6U8LQibEr+8Q+FB7Id0u/MfR/5mqPfenG/+VGLW96vJXok/g==", "license": "MIT", "peer": true, "engines": { @@ -17731,6 +17912,8 @@ }, "node_modules/https-proxy-agent": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "license": "MIT", "dependencies": { "agent-base": "6", @@ -18165,7 +18348,9 @@ } }, "node_modules/import-in-the-middle": { - "version": "1.13.2", + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.14.3.tgz", + "integrity": "sha512-ajmxBgfBxVO9GWzD79xktBvMk2kTrqsXPKV0jg5pcwwcFpuLNSHwcPPvp4cgCQshlWz2ivgu5JiuRgDh+2ixGQ==", "license": "Apache-2.0", "dependencies": { "acorn": "^8.14.0", @@ -18349,11 +18534,13 @@ } }, "node_modules/ioredis": { - "version": "5.6.0", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.8.0.tgz", + "integrity": "sha512-AUXbKn9gvo9hHKvk6LbZJQSKn/qIfkWXrnsyL9Yrf+oeXmla9Nmf6XEumOddyhM8neynpK5oAV6r9r99KBuwzA==", "license": "MIT", "peer": true, "dependencies": { - "@ioredis/commands": "^1.1.1", + "@ioredis/commands": "1.4.0", "cluster-key-slot": "^1.1.0", "debug": "^4.3.4", "denque": "^2.1.0", @@ -24232,6 +24419,18 @@ "dev": true, "license": "MIT" }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, "node_modules/mock-match-media": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/mock-match-media/-/mock-match-media-1.0.2.tgz", @@ -24328,16 +24527,6 @@ "typedarray": "^0.0.6" } }, - "node_modules/multer/node_modules/mkdirp": { - "version": "0.5.6", - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/multimatch": { "version": "7.0.0", "dev": true, @@ -30469,7 +30658,9 @@ } }, "node_modules/sanitize-html": { - "version": "2.15.0", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.17.0.tgz", + "integrity": "sha512-dLAADUSS8rBwhaevT12yCezvioCA+bmUTPH/u57xKPT8d++voeYE6HeluA/bPbQ15TwDBG2ii+QZIEmYx8VdxA==", "license": "MIT", "dependencies": { "deepmerge": "^4.2.2", @@ -30482,6 +30673,8 @@ }, "node_modules/sanitize-html/node_modules/dom-serializer": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "license": "MIT", "dependencies": { "domelementtype": "^2.3.0", @@ -30494,6 +30687,8 @@ }, "node_modules/sanitize-html/node_modules/domhandler": { "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.3.0" @@ -30507,6 +30702,8 @@ }, "node_modules/sanitize-html/node_modules/domutils": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^2.0.0", @@ -30519,6 +30716,8 @@ }, "node_modules/sanitize-html/node_modules/entities": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "license": "BSD-2-Clause", "engines": { "node": ">=0.12" @@ -30529,6 +30728,8 @@ }, "node_modules/sanitize-html/node_modules/escape-string-regexp": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "license": "MIT", "engines": { "node": ">=10" @@ -30539,6 +30740,8 @@ }, "node_modules/sanitize-html/node_modules/htmlparser2": { "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", { @@ -35267,7 +35470,7 @@ "node": ">= 4.2.0" }, "peerDependencies": { - "govuk-frontend": "^5.8.0", + "govuk-frontend": "^5.11.2", "moment": "2.30.1" } } diff --git a/package.json b/package.json index 58b76a59d..17e816814 100644 --- a/package.json +++ b/package.json @@ -63,26 +63,26 @@ "homepage": "https://github.com/ministryofjustice/moj-frontend#readme", "dependencies": { "@ministryofjustice/frontend": "*", - "@sentry/node": "^9.15.0", - "@sentry/rollup-plugin": "^3.3.1", + "@sentry/node": "^9.46.0", + "@sentry/rollup-plugin": "^3.6.1", "connect-redis": "^6.1.3", - "dotenv": "^17.2.1", + "dotenv": "^17.2.2", "express": "^4.21.2", "express-nunjucks": "^3.1.2", - "express-rate-limit": "^7.5.0", - "express-session": "^1.18.1", + "express-rate-limit": "^7.5.1", + "express-session": "^1.18.2", "express-xss-sanitizer": "^2.0.0", - "govuk-frontend": "^5.9.0", + "govuk-frontend": "^5.11.2", "helmet": "^8.1.0", - "ioredis": "^5.6.0", + "ioredis": "^5.7.0", "joi": "^17.13.3", "moment": "^2.30.1", - "multer": "^2.0.0", + "multer": "^2.0.2", "node-fetch": "2.7.0", "notifications-node-client": "^8.2.1", "nunjucks": "^3.2.4", "sanitize-filename": "^1.6.3", - "sanitize-html": "^2.15.0" + "sanitize-html": "^2.17.0" }, "devDependencies": { "@11ty/eleventy": "^3.1.0", diff --git a/package/package.json b/package/package.json index 7c4394e16..a3092c5ce 100755 --- a/package/package.json +++ b/package/package.json @@ -41,7 +41,7 @@ "access": "public" }, "peerDependencies": { - "govuk-frontend": "^5.8.0", + "govuk-frontend": "^5.11.2", "moment": "2.30.1" } } From 5d9dfec519ce9def06d3b4bf1cad6ded29c1f3c2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 10:30:33 +0100 Subject: [PATCH 06/28] build(deps): update release (#1487) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 540 +++++++++++++++++++++++----------------------- package.json | 4 +- 2 files changed, 278 insertions(+), 266 deletions(-) diff --git a/package-lock.json b/package-lock.json index b574e883e..4a1f3003b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -48,7 +48,7 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^7.1.0", "@semantic-release/git": "^10.0.1", - "@semantic-release/npm": "^12.0.1", + "@semantic-release/npm": "^12.0.2", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/user-event": "^14.6.1", @@ -120,7 +120,7 @@ "require-dir": "^1.2.0", "rollup": "^4.41.0", "sass-embedded": "^1.89.0", - "semantic-release": "^24.2.4", + "semantic-release": "^24.2.8", "sinon": "^21.0.0", "stylelint": "^16.24.0", "stylelint-config-gds": "^2.0.0", @@ -6815,7 +6815,9 @@ } }, "node_modules/@semantic-release/npm": { - "version": "12.0.1", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.2.tgz", + "integrity": "sha512-+M9/Lb35IgnlUO6OSJ40Ie+hUsZLuph2fqXC/qrKn0fMvUU/jiCjpoL6zEm69vzcmaZJ8yNKtMBEKHWN49WBbQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6826,7 +6828,7 @@ "lodash-es": "^4.17.21", "nerf-dart": "^1.0.0", "normalize-url": "^8.0.0", - "npm": "^10.5.0", + "npm": "^10.9.3", "rc": "^1.2.8", "read-pkg": "^9.0.0", "registry-auth-token": "^5.0.0", @@ -6842,6 +6844,8 @@ }, "node_modules/@semantic-release/npm/node_modules/@semantic-release/error": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", + "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", "dev": true, "license": "MIT", "engines": { @@ -6850,6 +6854,8 @@ }, "node_modules/@semantic-release/npm/node_modules/@sindresorhus/merge-streams": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", "dev": true, "license": "MIT", "engines": { @@ -6861,6 +6867,8 @@ }, "node_modules/@semantic-release/npm/node_modules/aggregate-error": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, "license": "MIT", "dependencies": { @@ -6875,7 +6883,9 @@ } }, "node_modules/@semantic-release/npm/node_modules/clean-stack": { - "version": "5.2.0", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.3.0.tgz", + "integrity": "sha512-9ngPTOhYGQqNVSfeJkYXHmF7AGWp4/nN5D/QqNQs3Dvxd1Kk/WpjHfNujKHYUQ/5CoGyOyFNoWSPk5afzP0QVg==", "dev": true, "license": "MIT", "dependencies": { @@ -6889,22 +6899,24 @@ } }, "node_modules/@semantic-release/npm/node_modules/execa": { - "version": "9.5.2", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.0.tgz", + "integrity": "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==", "dev": true, "license": "MIT", "dependencies": { "@sindresorhus/merge-streams": "^4.0.0", - "cross-spawn": "^7.0.3", + "cross-spawn": "^7.0.6", "figures": "^6.1.0", "get-stream": "^9.0.0", - "human-signals": "^8.0.0", + "human-signals": "^8.0.1", "is-plain-obj": "^4.1.0", "is-stream": "^4.0.1", "npm-run-path": "^6.0.0", - "pretty-ms": "^9.0.0", + "pretty-ms": "^9.2.0", "signal-exit": "^4.1.0", "strip-final-newline": "^4.0.0", - "yoctocolors": "^2.0.0" + "yoctocolors": "^2.1.1" }, "engines": { "node": "^18.19.0 || >=20.5.0" @@ -6915,6 +6927,8 @@ }, "node_modules/@semantic-release/npm/node_modules/figures": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dev": true, "license": "MIT", "dependencies": { @@ -6929,6 +6943,8 @@ }, "node_modules/@semantic-release/npm/node_modules/get-stream": { "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, "license": "MIT", "dependencies": { @@ -6943,7 +6959,9 @@ } }, "node_modules/@semantic-release/npm/node_modules/human-signals": { - "version": "8.0.0", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -6952,6 +6970,8 @@ }, "node_modules/@semantic-release/npm/node_modules/indent-string": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true, "license": "MIT", "engines": { @@ -6963,6 +6983,8 @@ }, "node_modules/@semantic-release/npm/node_modules/is-plain-obj": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, "license": "MIT", "engines": { @@ -6974,6 +6996,8 @@ }, "node_modules/@semantic-release/npm/node_modules/is-stream": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, "license": "MIT", "engines": { @@ -6985,6 +7009,8 @@ }, "node_modules/@semantic-release/npm/node_modules/is-unicode-supported": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "dev": true, "license": "MIT", "engines": { @@ -6996,6 +7022,8 @@ }, "node_modules/@semantic-release/npm/node_modules/npm-run-path": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", "dev": true, "license": "MIT", "dependencies": { @@ -7011,6 +7039,8 @@ }, "node_modules/@semantic-release/npm/node_modules/path-key": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, "license": "MIT", "engines": { @@ -7022,6 +7052,8 @@ }, "node_modules/@semantic-release/npm/node_modules/signal-exit": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "license": "ISC", "engines": { @@ -7033,6 +7065,8 @@ }, "node_modules/@semantic-release/npm/node_modules/strip-final-newline": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", "dev": true, "license": "MIT", "engines": { @@ -7044,6 +7078,8 @@ }, "node_modules/@semantic-release/npm/node_modules/unicorn-magic": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", "dev": true, "license": "MIT", "engines": { @@ -17721,11 +17757,13 @@ } }, "node_modules/hook-std": { - "version": "3.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-4.0.0.tgz", + "integrity": "sha512-IHI4bEVOt3vRUDJ+bFA9VUJlo7SzvFARPNLw75pqSmAOP2HmTWfFJtPvLBrDrlgjEYXY9zs7SFdHPQaJShkSCQ==", "dev": true, "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -24916,7 +24954,9 @@ } }, "node_modules/npm": { - "version": "10.9.2", + "version": "10.9.3", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.3.tgz", + "integrity": "sha512-6Eh1u5Q+kIVXeA8e7l2c/HpnFFcwrkt37xDMujD5be1gloWa9p6j3Fsv3mByXXmqJHy+2cElRMML8opNT7xIJQ==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", @@ -24998,37 +25038,37 @@ ], "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^8.0.0", + "@npmcli/arborist": "^8.0.1", "@npmcli/config": "^9.0.0", "@npmcli/fs": "^4.0.0", "@npmcli/map-workspaces": "^4.0.2", - "@npmcli/package-json": "^6.1.0", + "@npmcli/package-json": "^6.2.0", "@npmcli/promise-spawn": "^8.0.2", - "@npmcli/redact": "^3.0.0", - "@npmcli/run-script": "^9.0.1", - "@sigstore/tuf": "^3.0.0", - "abbrev": "^3.0.0", + "@npmcli/redact": "^3.2.2", + "@npmcli/run-script": "^9.1.0", + "@sigstore/tuf": "^3.1.1", + "abbrev": "^3.0.1", "archy": "~1.0.0", "cacache": "^19.0.1", - "chalk": "^5.3.0", - "ci-info": "^4.1.0", + "chalk": "^5.4.1", + "ci-info": "^4.2.0", "cli-columns": "^4.0.0", "fastest-levenshtein": "^1.0.16", "fs-minipass": "^3.0.3", "glob": "^10.4.5", "graceful-fs": "^4.2.11", - "hosted-git-info": "^8.0.2", + "hosted-git-info": "^8.1.0", "ini": "^5.0.0", "init-package-json": "^7.0.2", - "is-cidr": "^5.1.0", + "is-cidr": "^5.1.1", "json-parse-even-better-errors": "^4.0.0", "libnpmaccess": "^9.0.0", - "libnpmdiff": "^7.0.0", - "libnpmexec": "^9.0.0", - "libnpmfund": "^6.0.0", + "libnpmdiff": "^7.0.1", + "libnpmexec": "^9.0.1", + "libnpmfund": "^6.0.1", "libnpmhook": "^11.0.0", "libnpmorg": "^7.0.0", - "libnpmpack": "^8.0.0", + "libnpmpack": "^8.0.1", "libnpmpublish": "^10.0.1", "libnpmsearch": "^8.0.0", "libnpmteam": "^7.0.0", @@ -25038,23 +25078,23 @@ "minipass": "^7.1.1", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", - "node-gyp": "^11.0.0", - "nopt": "^8.0.0", + "node-gyp": "^11.2.0", + "nopt": "^8.1.0", "normalize-package-data": "^7.0.0", "npm-audit-report": "^6.0.0", "npm-install-checks": "^7.1.1", - "npm-package-arg": "^12.0.0", + "npm-package-arg": "^12.0.2", "npm-pick-manifest": "^10.0.0", "npm-profile": "^11.0.1", "npm-registry-fetch": "^18.0.2", "npm-user-validate": "^3.0.0", - "p-map": "^4.0.0", + "p-map": "^7.0.3", "pacote": "^19.0.1", "parse-conflict-json": "^4.0.0", "proc-log": "^5.0.0", "qrcode-terminal": "^0.12.0", - "read": "^4.0.0", - "semver": "^7.6.3", + "read": "^4.1.0", + "semver": "^7.7.2", "spdx-expression-parse": "^4.0.0", "ssri": "^12.0.0", "supports-color": "^9.4.0", @@ -25062,7 +25102,7 @@ "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^3.0.0", - "validate-npm-package-name": "^6.0.0", + "validate-npm-package-name": "^6.0.1", "which": "^5.0.0", "write-file-atomic": "^6.0.0" }, @@ -25209,7 +25249,7 @@ } }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "8.0.0", + "version": "8.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -25289,7 +25329,7 @@ } }, "node_modules/npm/node_modules/@npmcli/git": { - "version": "6.0.1", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -25299,7 +25339,6 @@ "lru-cache": "^10.0.1", "npm-pick-manifest": "^10.0.0", "proc-log": "^5.0.0", - "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", "which": "^5.0.0" @@ -25405,7 +25444,7 @@ } }, "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "6.1.0", + "version": "6.2.0", "dev": true, "inBundle": true, "license": "ISC", @@ -25414,9 +25453,9 @@ "glob": "^10.2.2", "hosted-git-info": "^8.0.0", "json-parse-even-better-errors": "^4.0.0", - "normalize-package-data": "^7.0.0", "proc-log": "^5.0.0", - "semver": "^7.5.3" + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" }, "engines": { "node": "^18.17.0 || >=20.5.0" @@ -25435,19 +25474,19 @@ } }, "node_modules/npm/node_modules/@npmcli/query": { - "version": "4.0.0", + "version": "4.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "postcss-selector-parser": "^6.1.2" + "postcss-selector-parser": "^7.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/redact": { - "version": "3.0.0", + "version": "3.2.2", "dev": true, "inBundle": true, "license": "ISC", @@ -25456,7 +25495,7 @@ } }, "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "9.0.2", + "version": "9.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -25483,21 +25522,21 @@ } }, "node_modules/npm/node_modules/@sigstore/protobuf-specs": { - "version": "0.3.2", + "version": "0.4.3", "dev": true, "inBundle": true, "license": "Apache-2.0", "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@sigstore/tuf": { - "version": "3.0.0", + "version": "3.1.1", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2", + "@sigstore/protobuf-specs": "^0.4.1", "tuf-js": "^3.0.1" }, "engines": { @@ -25514,7 +25553,7 @@ } }, "node_modules/npm/node_modules/abbrev": { - "version": "3.0.0", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -25523,30 +25562,14 @@ } }, "node_modules/npm/node_modules/agent-base": { - "version": "7.1.1", + "version": "7.1.3", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, "engines": { "node": ">= 14" } }, - "node_modules/npm/node_modules/aggregate-error": { - "version": "3.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/npm/node_modules/ansi-regex": { "version": "5.0.1", "dev": true, @@ -25615,7 +25638,7 @@ } }, "node_modules/npm/node_modules/brace-expansion": { - "version": "2.0.1", + "version": "2.0.2", "dev": true, "inBundle": true, "license": "MIT", @@ -25655,19 +25678,6 @@ "node": ">=18" } }, - "node_modules/npm/node_modules/cacache/node_modules/minizlib": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/npm/node_modules/cacache/node_modules/mkdirp": { "version": "3.0.1", "dev": true, @@ -25683,18 +25693,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/cacache/node_modules/p-map": { - "version": "7.0.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/npm/node_modules/cacache/node_modules/tar": { "version": "7.4.3", "dev": true, @@ -25722,7 +25720,7 @@ } }, "node_modules/npm/node_modules/chalk": { - "version": "5.3.0", + "version": "5.4.1", "dev": true, "inBundle": true, "license": "MIT", @@ -25743,7 +25741,7 @@ } }, "node_modules/npm/node_modules/ci-info": { - "version": "4.1.0", + "version": "4.2.0", "dev": true, "funding": [ { @@ -25758,7 +25756,7 @@ } }, "node_modules/npm/node_modules/cidr-regex": { - "version": "4.1.1", + "version": "4.1.3", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -25769,15 +25767,6 @@ "node": ">=14" } }, - "node_modules/npm/node_modules/clean-stack": { - "version": "2.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/npm/node_modules/cli-columns": { "version": "4.0.0", "dev": true, @@ -25866,7 +25855,7 @@ } }, "node_modules/npm/node_modules/debug": { - "version": "4.3.7", + "version": "4.4.1", "dev": true, "inBundle": true, "license": "MIT", @@ -25929,7 +25918,7 @@ "license": "MIT" }, "node_modules/npm/node_modules/exponential-backoff": { - "version": "3.1.1", + "version": "3.1.2", "dev": true, "inBundle": true, "license": "Apache-2.0" @@ -25944,12 +25933,12 @@ } }, "node_modules/npm/node_modules/foreground-child": { - "version": "3.3.0", + "version": "3.3.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "cross-spawn": "^7.0.0", + "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" }, "engines": { @@ -25998,7 +25987,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { - "version": "8.0.2", + "version": "8.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -26010,7 +25999,7 @@ } }, "node_modules/npm/node_modules/http-cache-semantics": { - "version": "4.1.1", + "version": "4.2.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause" @@ -26029,12 +26018,12 @@ } }, "node_modules/npm/node_modules/https-proxy-agent": { - "version": "7.0.5", + "version": "7.0.6", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.2", "debug": "4" }, "engines": { @@ -26075,15 +26064,6 @@ "node": ">=0.8.19" } }, - "node_modules/npm/node_modules/indent-string": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/npm/node_modules/ini": { "version": "5.0.0", "dev": true, @@ -26137,7 +26117,7 @@ } }, "node_modules/npm/node_modules/is-cidr": { - "version": "5.1.0", + "version": "5.1.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -26237,12 +26217,12 @@ } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "7.0.0", + "version": "7.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^8.0.0", + "@npmcli/arborist": "^8.0.1", "@npmcli/installed-package-contents": "^3.0.0", "binary-extensions": "^2.3.0", "diff": "^5.1.0", @@ -26256,12 +26236,12 @@ } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "9.0.0", + "version": "9.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^8.0.0", + "@npmcli/arborist": "^8.0.1", "@npmcli/run-script": "^9.0.1", "ci-info": "^4.0.0", "npm-package-arg": "^12.0.0", @@ -26277,12 +26257,12 @@ } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "6.0.0", + "version": "6.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^8.0.0" + "@npmcli/arborist": "^8.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" @@ -26315,12 +26295,12 @@ } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "8.0.0", + "version": "8.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^8.0.0", + "@npmcli/arborist": "^8.0.1", "@npmcli/run-script": "^9.0.1", "npm-package-arg": "^12.0.0", "pacote": "^19.0.0" @@ -26463,7 +26443,7 @@ } }, "node_modules/npm/node_modules/minipass-fetch": { - "version": "4.0.0", + "version": "4.0.1", "dev": true, "inBundle": true, "license": "MIT", @@ -26479,19 +26459,6 @@ "encoding": "^0.1.13" } }, - "node_modules/npm/node_modules/minipass-fetch/node_modules/minizlib": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/npm/node_modules/minipass-flush": { "version": "1.0.5", "dev": true, @@ -26565,28 +26532,15 @@ } }, "node_modules/npm/node_modules/minizlib": { - "version": "2.1.2", + "version": "3.0.2", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/npm/node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" + "minipass": "^7.1.2" }, "engines": { - "node": ">=8" + "node": ">= 18" } }, "node_modules/npm/node_modules/mkdirp": { @@ -26617,20 +26571,20 @@ } }, "node_modules/npm/node_modules/node-gyp": { - "version": "11.0.0", + "version": "11.2.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", - "glob": "^10.3.10", "graceful-fs": "^4.2.6", "make-fetch-happen": "^14.0.3", "nopt": "^8.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5", "tar": "^7.4.3", + "tinyglobby": "^0.2.12", "which": "^5.0.0" }, "bin": { @@ -26649,19 +26603,6 @@ "node": ">=18" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/minizlib": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/npm/node_modules/node-gyp/node_modules/mkdirp": { "version": "3.0.1", "dev": true, @@ -26704,12 +26645,12 @@ } }, "node_modules/npm/node_modules/nopt": { - "version": "8.0.0", + "version": "8.1.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "abbrev": "^2.0.0" + "abbrev": "^3.0.0" }, "bin": { "nopt": "bin/nopt.js" @@ -26718,15 +26659,6 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/nopt/node_modules/abbrev": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/normalize-package-data": { "version": "7.0.0", "dev": true, @@ -26784,7 +26716,7 @@ } }, "node_modules/npm/node_modules/npm-package-arg": { - "version": "12.0.0", + "version": "12.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -26857,19 +26789,6 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/npm-registry-fetch/node_modules/minizlib": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/npm/node_modules/npm-user-validate": { "version": "3.0.0", "dev": true, @@ -26880,15 +26799,12 @@ } }, "node_modules/npm/node_modules/p-map": { - "version": "4.0.0", + "version": "7.0.3", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -26971,7 +26887,7 @@ } }, "node_modules/npm/node_modules/postcss-selector-parser": { - "version": "6.1.2", + "version": "7.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -27019,12 +26935,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/promise-inflight": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "ISC" - }, "node_modules/npm/node_modules/promise-retry": { "version": "2.0.1", "dev": true, @@ -27059,7 +26969,7 @@ } }, "node_modules/npm/node_modules/read": { - "version": "4.0.0", + "version": "4.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -27101,21 +27011,6 @@ "node": ">= 4" } }, - "node_modules/npm/node_modules/rimraf": { - "version": "5.0.10", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "glob": "^10.3.7" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/npm/node_modules/safer-buffer": { "version": "2.1.2", "dev": true, @@ -27124,7 +27019,7 @@ "optional": true }, "node_modules/npm/node_modules/semver": { - "version": "7.6.3", + "version": "7.7.2", "dev": true, "inBundle": true, "license": "ISC", @@ -27169,29 +27064,29 @@ } }, "node_modules/npm/node_modules/sigstore": { - "version": "3.0.0", + "version": "3.1.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^3.0.0", + "@sigstore/bundle": "^3.1.0", "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "@sigstore/sign": "^3.0.0", - "@sigstore/tuf": "^3.0.0", - "@sigstore/verify": "^2.0.0" + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/bundle": { - "version": "3.0.0", + "version": "3.1.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2" + "@sigstore/protobuf-specs": "^0.4.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" @@ -27207,15 +27102,15 @@ } }, "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/sign": { - "version": "3.0.0", + "version": "3.1.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^3.0.0", + "@sigstore/bundle": "^3.1.0", "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "make-fetch-happen": "^14.0.1", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", "proc-log": "^5.0.0", "promise-retry": "^2.0.1" }, @@ -27224,14 +27119,14 @@ } }, "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/verify": { - "version": "2.0.0", + "version": "2.1.1", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^3.0.0", + "@sigstore/bundle": "^3.1.0", "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.3.2" + "@sigstore/protobuf-specs": "^0.4.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" @@ -27248,7 +27143,7 @@ } }, "node_modules/npm/node_modules/socks": { - "version": "2.8.3", + "version": "2.8.5", "dev": true, "inBundle": true, "license": "MIT", @@ -27262,12 +27157,12 @@ } }, "node_modules/npm/node_modules/socks-proxy-agent": { - "version": "8.0.4", + "version": "8.0.5", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.1", + "agent-base": "^7.1.2", "debug": "^4.3.4", "socks": "^2.8.3" }, @@ -27312,7 +27207,7 @@ } }, "node_modules/npm/node_modules/spdx-license-ids": { - "version": "3.0.20", + "version": "3.0.21", "dev": true, "inBundle": true, "license": "CC0-1.0" @@ -27451,6 +27346,31 @@ "node": ">=8" } }, + "node_modules/npm/node_modules/tar/node_modules/minizlib": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/npm/node_modules/text-table": { "version": "0.2.0", "dev": true, @@ -27463,6 +27383,49 @@ "inBundle": true, "license": "MIT" }, + "node_modules/npm/node_modules/tinyglobby": { + "version": "0.2.14", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/npm/node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/npm/node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/npm/node_modules/treeverse": { "version": "3.0.0", "dev": true, @@ -27550,7 +27513,7 @@ } }, "node_modules/npm/node_modules/validate-npm-package-name": { - "version": "6.0.0", + "version": "6.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -31290,7 +31253,9 @@ "license": "MIT" }, "node_modules/semantic-release": { - "version": "24.2.4", + "version": "24.2.9", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.9.tgz", + "integrity": "sha512-phCkJ6pjDi9ANdhuF5ElS10GGdAKY6R1Pvt9lT3SFhOwM4T7QZE7MLpBDbNruUx/Q3gFD92/UOFringGipRqZA==", "dev": true, "license": "MIT", "peer": true, @@ -31298,7 +31263,7 @@ "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", "@semantic-release/github": "^11.0.0", - "@semantic-release/npm": "^12.0.0", + "@semantic-release/npm": "^12.0.2", "@semantic-release/release-notes-generator": "^14.0.0-beta.1", "aggregate-error": "^5.0.0", "cosmiconfig": "^9.0.0", @@ -31309,19 +31274,19 @@ "find-versions": "^6.0.0", "get-stream": "^6.0.0", "git-log-parser": "^1.2.0", - "hook-std": "^3.0.0", + "hook-std": "^4.0.0", "hosted-git-info": "^8.0.0", "import-from-esm": "^2.0.0", "lodash-es": "^4.17.21", "marked": "^15.0.0", - "marked-terminal": "^7.0.0", + "marked-terminal": "^7.3.0", "micromatch": "^4.0.2", "p-each-series": "^3.0.0", "p-reduce": "^3.0.0", "read-package-up": "^11.0.0", "resolve-from": "^5.0.0", "semver": "^7.3.2", - "semver-diff": "^4.0.0", + "semver-diff": "^5.0.0", "signale": "^1.2.1", "yargs": "^17.5.1" }, @@ -31334,6 +31299,8 @@ }, "node_modules/semantic-release/node_modules/@semantic-release/error": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", + "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", "dev": true, "license": "MIT", "engines": { @@ -31342,6 +31309,8 @@ }, "node_modules/semantic-release/node_modules/@sindresorhus/merge-streams": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", "dev": true, "license": "MIT", "engines": { @@ -31353,6 +31322,8 @@ }, "node_modules/semantic-release/node_modules/aggregate-error": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, "license": "MIT", "dependencies": { @@ -31367,7 +31338,9 @@ } }, "node_modules/semantic-release/node_modules/clean-stack": { - "version": "5.2.0", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.3.0.tgz", + "integrity": "sha512-9ngPTOhYGQqNVSfeJkYXHmF7AGWp4/nN5D/QqNQs3Dvxd1Kk/WpjHfNujKHYUQ/5CoGyOyFNoWSPk5afzP0QVg==", "dev": true, "license": "MIT", "dependencies": { @@ -31381,22 +31354,24 @@ } }, "node_modules/semantic-release/node_modules/execa": { - "version": "9.5.2", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.0.tgz", + "integrity": "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==", "dev": true, "license": "MIT", "dependencies": { "@sindresorhus/merge-streams": "^4.0.0", - "cross-spawn": "^7.0.3", + "cross-spawn": "^7.0.6", "figures": "^6.1.0", "get-stream": "^9.0.0", - "human-signals": "^8.0.0", + "human-signals": "^8.0.1", "is-plain-obj": "^4.1.0", "is-stream": "^4.0.1", "npm-run-path": "^6.0.0", - "pretty-ms": "^9.0.0", + "pretty-ms": "^9.2.0", "signal-exit": "^4.1.0", "strip-final-newline": "^4.0.0", - "yoctocolors": "^2.0.0" + "yoctocolors": "^2.1.1" }, "engines": { "node": "^18.19.0 || >=20.5.0" @@ -31407,6 +31382,8 @@ }, "node_modules/semantic-release/node_modules/execa/node_modules/get-stream": { "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, "license": "MIT", "dependencies": { @@ -31422,6 +31399,8 @@ }, "node_modules/semantic-release/node_modules/figures": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dev": true, "license": "MIT", "dependencies": { @@ -31436,6 +31415,8 @@ }, "node_modules/semantic-release/node_modules/find-versions": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz", + "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==", "dev": true, "license": "MIT", "dependencies": { @@ -31450,7 +31431,9 @@ } }, "node_modules/semantic-release/node_modules/hosted-git-info": { - "version": "8.0.2", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", "dev": true, "license": "ISC", "dependencies": { @@ -31461,7 +31444,9 @@ } }, "node_modules/semantic-release/node_modules/human-signals": { - "version": "8.0.0", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -31470,6 +31455,8 @@ }, "node_modules/semantic-release/node_modules/indent-string": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true, "license": "MIT", "engines": { @@ -31481,6 +31468,8 @@ }, "node_modules/semantic-release/node_modules/is-plain-obj": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, "license": "MIT", "engines": { @@ -31492,6 +31481,8 @@ }, "node_modules/semantic-release/node_modules/is-stream": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, "license": "MIT", "engines": { @@ -31503,6 +31494,8 @@ }, "node_modules/semantic-release/node_modules/is-unicode-supported": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "dev": true, "license": "MIT", "engines": { @@ -31514,6 +31507,8 @@ }, "node_modules/semantic-release/node_modules/lru-cache": { "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, "license": "ISC" }, @@ -31532,6 +31527,8 @@ }, "node_modules/semantic-release/node_modules/npm-run-path": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", "dev": true, "license": "MIT", "dependencies": { @@ -31547,6 +31544,8 @@ }, "node_modules/semantic-release/node_modules/p-reduce": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", + "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", "dev": true, "license": "MIT", "engines": { @@ -31558,6 +31557,8 @@ }, "node_modules/semantic-release/node_modules/path-key": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, "license": "MIT", "engines": { @@ -31569,6 +31570,8 @@ }, "node_modules/semantic-release/node_modules/semver-regex": { "version": "4.0.5", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", + "integrity": "sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==", "dev": true, "license": "MIT", "engines": { @@ -31580,6 +31583,8 @@ }, "node_modules/semantic-release/node_modules/signal-exit": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "license": "ISC", "engines": { @@ -31591,6 +31596,8 @@ }, "node_modules/semantic-release/node_modules/strip-final-newline": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", "dev": true, "license": "MIT", "engines": { @@ -31602,6 +31609,8 @@ }, "node_modules/semantic-release/node_modules/unicorn-magic": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", "dev": true, "license": "MIT", "engines": { @@ -31629,7 +31638,10 @@ "license": "MIT" }, "node_modules/semver-diff": { - "version": "4.0.0", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-5.0.0.tgz", + "integrity": "sha512-0HbGtOm+S7T6NGQ/pxJSJipJvc4DK3FcRVMRkhsIwJDJ4Jcz5DQC1cPPzB5GhzyHjwttW878HaWQq46CkL3cqg==", + "deprecated": "Deprecated as the semver package now supports this built-in.", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 17e816814..12122a100 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^7.1.0", "@semantic-release/git": "^10.0.1", - "@semantic-release/npm": "^12.0.1", + "@semantic-release/npm": "^12.0.2", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/user-event": "^14.6.1", @@ -172,7 +172,7 @@ "require-dir": "^1.2.0", "rollup": "^4.41.0", "sass-embedded": "^1.89.0", - "semantic-release": "^24.2.4", + "semantic-release": "^24.2.8", "sinon": "^21.0.0", "stylelint": "^16.24.0", "stylelint-config-gds": "^2.0.0", From 9d3ccfb8aef4dcd18c56365d26fa451fcc6c7bcc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 10:49:23 +0100 Subject: [PATCH 07/28] build(deps): update build (#1488) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 853 +++++++++++++++++++++++++--------------------- package.json | 18 +- 2 files changed, 482 insertions(+), 389 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4a1f3003b..df86e0554 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,13 +35,13 @@ "devDependencies": { "@11ty/eleventy": "^3.1.0", "@11ty/eleventy-navigation": "^1.0.4", - "@babel/core": "^7.27.1", - "@babel/preset-env": "^7.27.2", + "@babel/core": "^7.28.4", + "@babel/preset-env": "^7.28.3", "@commitlint/cli": "^19.8.1", "@commitlint/config-conventional": "^19.8.1", "@playwright/test": "^1.54.2", "@rollup/plugin-babel": "^6.0.4", - "@rollup/plugin-commonjs": "^28.0.3", + "@rollup/plugin-commonjs": "^28.0.6", "@rollup/plugin-node-resolve": "^16.0.1", "@rollup/plugin-replace": "^6.0.2", "@rollup/plugin-terser": "^0.4.4", @@ -71,7 +71,7 @@ "clipboard": "^2.0.11", "commitizen": "^4.3.1", "concurrently": "^9.2.1", - "cssnano": "^7.0.7", + "cssnano": "^7.1.1", "cz-conventional-changelog": "^3.3.0", "dayjs": "^1.11.13", "del": "^8.0.0", @@ -110,7 +110,7 @@ "nodemon": "^3.1.10", "outdent": "^0.8.0", "plugin-error": "^2.0.1", - "postcss": "^8.5.3", + "postcss": "^8.5.6", "postcss-load-config": "^6.0.1", "postcss-markdown": "^1.3.0", "postcss-scss": "^4.0.9", @@ -118,20 +118,20 @@ "puppeteer": "^24.22.0", "puppeteer-core": "^24.22.0", "require-dir": "^1.2.0", - "rollup": "^4.41.0", - "sass-embedded": "^1.89.0", + "rollup": "^4.50.2", + "sass-embedded": "^1.92.1", "semantic-release": "^24.2.8", "sinon": "^21.0.0", "stylelint": "^16.24.0", "stylelint-config-gds": "^2.0.0", "stylelint-order": "^6.0.4", "supertest": "^7.1.1", - "terser": "^5.39.2", + "terser": "^5.44.0", "typed-query-selector": "^2.12.0", "typescript": "^5.8.3" }, "optionalDependencies": { - "@rollup/rollup-linux-x64-gnu": "^4.40.1", + "@rollup/rollup-linux-x64-gnu": "^4.50.2", "sass-embedded-linux-x64": "^1.87.0" } }, @@ -355,7 +355,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.27.2", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", + "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -394,6 +396,8 @@ }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -416,11 +420,13 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.27.1", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.27.1" + "@babel/types": "^7.27.3" }, "engines": { "node": ">=6.9.0" @@ -448,16 +454,18 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.27.1", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz", + "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-member-expression-to-functions": "^7.27.1", "@babel/helper-optimise-call-expression": "^7.27.1", "@babel/helper-replace-supers": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/traverse": "^7.27.1", + "@babel/traverse": "^7.28.3", "semver": "^6.3.1" }, "engines": { @@ -500,15 +508,17 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.3", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" + "resolve": "^1.22.10" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -748,12 +758,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.27.1", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", + "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" + "@babel/traverse": "^7.28.3" }, "engines": { "node": ">=6.9.0" @@ -1026,13 +1038,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.27.1", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-remap-async-to-generator": "^7.27.1", - "@babel/traverse": "^7.27.1" + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -1072,7 +1086,9 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.27.1", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.4.tgz", + "integrity": "sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==", "dev": true, "license": "MIT", "dependencies": { @@ -1101,11 +1117,13 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.27.1", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", + "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.28.3", "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { @@ -1116,16 +1134,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.27.1", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz", + "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-globals": "^7.28.0", "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-replace-supers": "^7.27.1", - "@babel/traverse": "^7.27.1", - "globals": "^11.1.0" + "@babel/traverse": "^7.28.4" }, "engines": { "node": ">=6.9.0" @@ -1150,11 +1170,14 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.27.1", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz", + "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -1221,6 +1244,23 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-exponentiation-operator": { "version": "7.27.1", "dev": true, @@ -1456,14 +1496,17 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.27.2", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", + "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.27.1", - "@babel/plugin-transform-parameters": "^7.27.1" + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.4" }, "engines": { "node": ">=6.9.0" @@ -1517,7 +1560,9 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.27.1", + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", "dev": true, "license": "MIT", "dependencies": { @@ -1576,7 +1621,9 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.27.1", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", + "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==", "dev": true, "license": "MIT", "dependencies": { @@ -1749,11 +1796,13 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.27.2", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz", + "integrity": "sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.2", + "@babel/compat-data": "^7.28.0", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-validator-option": "^7.27.1", @@ -1761,25 +1810,26 @@ "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-import-assertions": "^7.27.1", "@babel/plugin-syntax-import-attributes": "^7.27.1", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.27.1", - "@babel/plugin-transform-async-generator-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.28.0", "@babel/plugin-transform-async-to-generator": "^7.27.1", "@babel/plugin-transform-block-scoped-functions": "^7.27.1", - "@babel/plugin-transform-block-scoping": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.0", "@babel/plugin-transform-class-properties": "^7.27.1", - "@babel/plugin-transform-class-static-block": "^7.27.1", - "@babel/plugin-transform-classes": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.28.3", + "@babel/plugin-transform-classes": "^7.28.3", "@babel/plugin-transform-computed-properties": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", "@babel/plugin-transform-dotall-regex": "^7.27.1", "@babel/plugin-transform-duplicate-keys": "^7.27.1", "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.0", "@babel/plugin-transform-exponentiation-operator": "^7.27.1", "@babel/plugin-transform-export-namespace-from": "^7.27.1", "@babel/plugin-transform-for-of": "^7.27.1", @@ -1796,15 +1846,15 @@ "@babel/plugin-transform-new-target": "^7.27.1", "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", "@babel/plugin-transform-numeric-separator": "^7.27.1", - "@babel/plugin-transform-object-rest-spread": "^7.27.2", + "@babel/plugin-transform-object-rest-spread": "^7.28.0", "@babel/plugin-transform-object-super": "^7.27.1", "@babel/plugin-transform-optional-catch-binding": "^7.27.1", "@babel/plugin-transform-optional-chaining": "^7.27.1", - "@babel/plugin-transform-parameters": "^7.27.1", + "@babel/plugin-transform-parameters": "^7.27.7", "@babel/plugin-transform-private-methods": "^7.27.1", "@babel/plugin-transform-private-property-in-object": "^7.27.1", "@babel/plugin-transform-property-literals": "^7.27.1", - "@babel/plugin-transform-regenerator": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.28.3", "@babel/plugin-transform-regexp-modifiers": "^7.27.1", "@babel/plugin-transform-reserved-words": "^7.27.1", "@babel/plugin-transform-shorthand-properties": "^7.27.1", @@ -1817,10 +1867,10 @@ "@babel/plugin-transform-unicode-regex": "^7.27.1", "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.11.0", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.40.0", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "core-js-compat": "^3.43.0", "semver": "^6.3.1" }, "engines": { @@ -1832,6 +1882,8 @@ }, "node_modules/@babel/preset-env/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "license": "ISC", "bin": { @@ -1912,7 +1964,9 @@ "license": "MIT" }, "node_modules/@bufbuild/protobuf": { - "version": "2.2.3", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.9.0.tgz", + "integrity": "sha512-rnJenoStJ8nvmt9Gzye8nkYd6V22xUAnu4086ER7h1zJ508vStko4pMvDeQ446ilDTFpV5wnoc5YS7XvMwwMqA==", "dev": true, "license": "(Apache-2.0 AND BSD-3-Clause)" }, @@ -5993,7 +6047,9 @@ } }, "node_modules/@rollup/plugin-commonjs": { - "version": "28.0.3", + "version": "28.0.6", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-28.0.6.tgz", + "integrity": "sha512-XSQB1K7FUU5QP+3lOQmVCE3I0FcbbNvmNT4VJSj93iUjayaARrTQeoRdiYQoftAJBLrR9t2agwAd3ekaTgHNlw==", "dev": true, "license": "MIT", "dependencies": { @@ -6103,9 +6159,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.0.tgz", - "integrity": "sha512-KxN+zCjOYHGwCl4UCtSfZ6jrq/qi88JDUtiEFk8LELEHq2Egfc/FgW+jItZiOLRuQfb/3xJSgFuNPC9jzggX+A==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.2.tgz", + "integrity": "sha512-o3pcKzJgSGt4d74lSZ+OCnHwkKBeAbFDmbEm5gg70eA8VkyCuC/zV9TwBnmw6VjDlRdF4Pshfb+WE9E6XY1PoQ==", "cpu": [ "arm" ], @@ -6116,9 +6172,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.0.tgz", - "integrity": "sha512-yDvqx3lWlcugozax3DItKJI5j05B0d4Kvnjx+5mwiUpWramVvmAByYigMplaoAQ3pvdprGCTCE03eduqE/8mPQ==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.2.tgz", + "integrity": "sha512-cqFSWO5tX2vhC9hJTK8WAiPIm4Q8q/cU8j2HQA0L3E1uXvBYbOZMhE2oFL8n2pKB5sOCHY6bBuHaRwG7TkfJyw==", "cpu": [ "arm64" ], @@ -6129,9 +6185,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.0.tgz", - "integrity": "sha512-2KOU574vD3gzcPSjxO0eyR5iWlnxxtmW1F5CkNOHmMlueKNCQkxR6+ekgWyVnz6zaZihpUNkGxjsYrkTJKhkaw==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.2.tgz", + "integrity": "sha512-vngduywkkv8Fkh3wIZf5nFPXzWsNsVu1kvtLETWxTFf/5opZmflgVSeLgdHR56RQh71xhPhWoOkEBvbehwTlVA==", "cpu": [ "arm64" ], @@ -6142,7 +6198,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.41.0", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.2.tgz", + "integrity": "sha512-h11KikYrUCYTrDj6h939hhMNlqU2fo/X4NB0OZcys3fya49o1hmFaczAiJWVAFgrM1NCP6RrO7lQKeVYSKBPSQ==", "cpu": [ "x64" ], @@ -6153,9 +6211,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.0.tgz", - "integrity": "sha512-GSxU6r5HnWij7FoSo7cZg3l5GPg4HFLkzsFFh0N/b16q5buW1NAWuCJ+HMtIdUEi6XF0qH+hN0TEd78laRp7Dg==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.2.tgz", + "integrity": "sha512-/eg4CI61ZUkLXxMHyVlmlGrSQZ34xqWlZNW43IAU4RmdzWEx0mQJ2mN/Cx4IHLVZFL6UBGAh+/GXhgvGb+nVxw==", "cpu": [ "arm64" ], @@ -6166,9 +6224,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.0.tgz", - "integrity": "sha512-KGiGKGDg8qLRyOWmk6IeiHJzsN/OYxO6nSbT0Vj4MwjS2XQy/5emsmtoqLAabqrohbgLWJ5GV3s/ljdrIr8Qjg==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.2.tgz", + "integrity": "sha512-QOWgFH5X9+p+S1NAfOqc0z8qEpJIoUHf7OWjNUGOeW18Mx22lAUOiA9b6r2/vpzLdfxi/f+VWsYjUOMCcYh0Ng==", "cpu": [ "x64" ], @@ -6179,9 +6237,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.0.tgz", - "integrity": "sha512-46OzWeqEVQyX3N2/QdiU/CMXYDH/lSHpgfBkuhl3igpZiaB3ZIfSjKuOnybFVBQzjsLwkus2mjaESy8H41SzvA==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.2.tgz", + "integrity": "sha512-kDWSPafToDd8LcBYd1t5jw7bD5Ojcu12S3uT372e5HKPzQt532vW+rGFFOaiR0opxePyUkHrwz8iWYEyH1IIQA==", "cpu": [ "arm" ], @@ -6192,9 +6250,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.0.tgz", - "integrity": "sha512-lfgW3KtQP4YauqdPpcUZHPcqQXmTmH4nYU0cplNeW583CMkAGjtImw4PKli09NFi2iQgChk4e9erkwlfYem6Lg==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.2.tgz", + "integrity": "sha512-gKm7Mk9wCv6/rkzwCiUC4KnevYhlf8ztBrDRT9g/u//1fZLapSRc+eDZj2Eu2wpJ+0RzUKgtNijnVIB4ZxyL+w==", "cpu": [ "arm" ], @@ -6205,9 +6263,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.0.tgz", - "integrity": "sha512-nn8mEyzMbdEJzT7cwxgObuwviMx6kPRxzYiOl6o/o+ChQq23gfdlZcUNnt89lPhhz3BYsZ72rp0rxNqBSfqlqw==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.2.tgz", + "integrity": "sha512-66lA8vnj5mB/rtDNwPgrrKUOtCLVQypkyDa2gMfOefXK6rcZAxKLO9Fy3GkW8VkPnENv9hBkNOFfGLf6rNKGUg==", "cpu": [ "arm64" ], @@ -6218,9 +6276,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.0.tgz", - "integrity": "sha512-l+QK99je2zUKGd31Gh+45c4pGDAqZSuWQiuRFCdHYC2CSiO47qUWsCcenrI6p22hvHZrDje9QjwSMAFL3iwXwQ==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.2.tgz", + "integrity": "sha512-s+OPucLNdJHvuZHuIz2WwncJ+SfWHFEmlC5nKMUgAelUeBUnlB4wt7rXWiyG4Zn07uY2Dd+SGyVa9oyLkVGOjA==", "cpu": [ "arm64" ], @@ -6230,10 +6288,10 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.0.tgz", - "integrity": "sha512-WbnJaxPv1gPIm6S8O/Wg+wfE/OzGSXlBMbOe4ie+zMyykMOeqmgD1BhPxZQuDqwUN+0T/xOFtL2RUWBspnZj3w==", + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.2.tgz", + "integrity": "sha512-8wTRM3+gVMDLLDdaT6tKmOE3lJyRy9NpJUS/ZRWmLCmOPIJhVyXwjBo+XbrrwtV33Em1/eCTd5TuGJm4+DmYjw==", "cpu": [ "loong64" ], @@ -6243,10 +6301,10 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.0.tgz", - "integrity": "sha512-eRDWR5t67/b2g8Q/S8XPi0YdbKcCs4WQ8vklNnUYLaSWF+Cbv2axZsp4jni6/j7eKvMLYCYdcsv8dcU+a6QNFg==", + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.2.tgz", + "integrity": "sha512-6yqEfgJ1anIeuP2P/zhtfBlDpXUb80t8DpbYwXQ3bQd95JMvUaqiX+fKqYqUwZXqdJDd8xdilNtsHM2N0cFm6A==", "cpu": [ "ppc64" ], @@ -6257,9 +6315,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.0.tgz", - "integrity": "sha512-TWrZb6GF5jsEKG7T1IHwlLMDRy2f3DPqYldmIhnA2DVqvvhY2Ai184vZGgahRrg8k9UBWoSlHv+suRfTN7Ua4A==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.2.tgz", + "integrity": "sha512-sshYUiYVSEI2B6dp4jMncwxbrUqRdNApF2c3bhtLAU0qA8Lrri0p0NauOsTWh3yCCCDyBOjESHMExonp7Nzc0w==", "cpu": [ "riscv64" ], @@ -6270,9 +6328,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.0.tgz", - "integrity": "sha512-ieQljaZKuJpmWvd8gW87ZmSFwid6AxMDk5bhONJ57U8zT77zpZ/TPKkU9HpnnFrM4zsgr4kiGuzbIbZTGi7u9A==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.2.tgz", + "integrity": "sha512-duBLgd+3pqC4MMwBrKkFxaZerUxZcYApQVC5SdbF5/e/589GwVvlRUnyqMFbM8iUSb1BaoX/3fRL7hB9m2Pj8Q==", "cpu": [ "riscv64" ], @@ -6283,9 +6341,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.0.tgz", - "integrity": "sha512-/L3pW48SxrWAlVsKCN0dGLB2bi8Nv8pr5S5ocSM+S0XCn5RCVCXqi8GVtHFsOBBCSeR+u9brV2zno5+mg3S4Aw==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.2.tgz", + "integrity": "sha512-tzhYJJidDUVGMgVyE+PmxENPHlvvqm1KILjjZhB8/xHYqAGeizh3GBGf9u6WdJpZrz1aCpIIHG0LgJgH9rVjHQ==", "cpu": [ "s390x" ], @@ -6296,9 +6354,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.1.tgz", - "integrity": "sha512-EtnsrmZGomz9WxK1bR5079zee3+7a+AdFlghyd6VbAjgRJDbTANJ9dcPIPAi76uG05micpEL+gPGmAKYTschQw==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.2.tgz", + "integrity": "sha512-opH8GSUuVcCSSyHHcl5hELrmnk4waZoVpgn/4FDao9iyE4WpQhyWJ5ryl5M3ocp4qkRuHfyXnGqg8M9oKCEKRA==", "cpu": [ "x64" ], @@ -6309,9 +6367,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.0.tgz", - "integrity": "sha512-m/P7LycHZTvSQeXhFmgmdqEiTqSV80zn6xHaQ1JSqwCtD1YGtwEK515Qmy9DcB2HK4dOUVypQxvhVSy06cJPEg==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.2.tgz", + "integrity": "sha512-LSeBHnGli1pPKVJ79ZVJgeZWWZXkEe/5o8kcn23M8eMKCUANejchJbF/JqzM4RRjOJfNRhKJk8FuqL1GKjF5oQ==", "cpu": [ "x64" ], @@ -6321,10 +6379,23 @@ "linux" ] }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.2.tgz", + "integrity": "sha512-uPj7MQ6/s+/GOpolavm6BPo+6CbhbKYyZHUDvZ/SmJM7pfDBgdGisFX3bY/CBDMg2ZO4utfhlApkSfZ92yXw7Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.0.tgz", - "integrity": "sha512-4yodtcOrFHpbomJGVEqZ8fzD4kfBeCbpsUy5Pqk4RluXOdsWdjLnjhiKy2w3qzcASWd04fp52Xz7JKarVJ5BTg==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.2.tgz", + "integrity": "sha512-Z9MUCrSgIaUeeHAiNkm3cQyst2UhzjPraR3gYYfOjAuZI7tcFRTOD+4cHLPoS/3qinchth+V56vtqz1Tv+6KPA==", "cpu": [ "arm64" ], @@ -6335,9 +6406,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.0.tgz", - "integrity": "sha512-tmazCrAsKzdkXssEc65zIE1oC6xPHwfy9d5Ta25SRCDOZS+I6RypVVShWALNuU9bxIfGA0aqrmzlzoM5wO5SPQ==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.2.tgz", + "integrity": "sha512-+GnYBmpjldD3XQd+HMejo+0gJGwYIOfFeoBQv32xF/RUIvccUz20/V6Otdv+57NE70D5pa8W/jVGDoGq0oON4A==", "cpu": [ "ia32" ], @@ -6347,10 +6418,23 @@ "win32" ] }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.2.tgz", + "integrity": "sha512-ApXFKluSB6kDQkAqZOKXBjiaqdF1BlKi+/eqnYe9Ee7U2K3pUDKsIyr8EYm/QDHTJIM+4X+lI0gJc3TTRhd+dA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.0.tgz", - "integrity": "sha512-h1J+Yzjo/X+0EAvR2kIXJDuTuyT7drc+t2ALY0nIcGPbTatNOf0VWdhEA2Z4AAjv6X1NJV7SYo5oCTYRJhSlVA==", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.2.tgz", + "integrity": "sha512-ARz+Bs8kY6FtitYM96PqPEVvPXqEZmPZsSkXvyX19YzDqkCaIlhCieLLMI5hxO9SRZ2XtCtm8wxhy0iJ2jxNfw==", "cpu": [ "x64" ], @@ -7873,6 +7957,7 @@ "version": "0.2.0", "dev": true, "license": "ISC", + "optional": true, "engines": { "node": ">=10.13.0" } @@ -7984,7 +8069,9 @@ } }, "node_modules/@types/estree": { - "version": "1.0.7", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "license": "MIT" }, "node_modules/@types/expect": { @@ -9664,12 +9751,14 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.12", + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.3", + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", "semver": "^6.3.1" }, "peerDependencies": { @@ -9685,23 +9774,27 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.11.1", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.3", - "core-js-compat": "^3.40.0" + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.3", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.3" + "@babel/helper-define-polyfill-provider": "^0.6.5" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -9866,6 +9959,15 @@ "node": "^4.5.0 || >= 5.9" } }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.6.tgz", + "integrity": "sha512-wrH5NNqren/QMtKUEEJf7z86YjfqW/2uw3IL3/xpqZUC95SSVIFXYQeeGjL6FT/X68IROu6RMehZQS5foy2BXw==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, "node_modules/basic-ftp": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", @@ -10821,7 +10923,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.5", + "version": "4.26.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.2.tgz", + "integrity": "sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==", "funding": [ { "type": "opencollective", @@ -10839,9 +10943,10 @@ "license": "MIT", "peer": true, "dependencies": { - "caniuse-lite": "^1.0.30001716", - "electron-to-chromium": "^1.5.149", - "node-releases": "^2.0.19", + "baseline-browser-mapping": "^2.8.3", + "caniuse-lite": "^1.0.30001741", + "electron-to-chromium": "^1.5.218", + "node-releases": "^2.0.21", "update-browserslist-db": "^1.1.3" }, "bin": { @@ -11183,6 +11288,8 @@ }, "node_modules/caniuse-api": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", "dev": true, "license": "MIT", "dependencies": { @@ -11193,7 +11300,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001718", + "version": "1.0.30001745", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001745.tgz", + "integrity": "sha512-ywt6i8FzvdgrrrGbr1jZVObnVv6adj+0if2/omv9cmR2oiZs30zL4DIyaptKcbOrBdOIc74QTMoJvSE2QHh5UQ==", "funding": [ { "type": "opencollective", @@ -12175,11 +12284,13 @@ } }, "node_modules/core-js-compat": { - "version": "3.40.0", + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.1.tgz", + "integrity": "sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.24.3" + "browserslist": "^4.25.3" }, "funding": { "type": "opencollective", @@ -12313,7 +12424,9 @@ } }, "node_modules/css-select": { - "version": "5.1.0", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -12329,6 +12442,8 @@ }, "node_modules/css-select/node_modules/dom-serializer": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, "license": "MIT", "dependencies": { @@ -12342,6 +12457,8 @@ }, "node_modules/css-select/node_modules/domhandler": { "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -12356,6 +12473,8 @@ }, "node_modules/css-select/node_modules/domutils": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -12369,6 +12488,8 @@ }, "node_modules/css-select/node_modules/entities": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -12418,11 +12539,13 @@ } }, "node_modules/cssnano": { - "version": "7.0.7", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.1.1.tgz", + "integrity": "sha512-fm4D8ti0dQmFPeF8DXSAA//btEmqCOgAc/9Oa3C1LW94h5usNrJEfrON7b4FkPZgnDEn6OUs5NdxiJZmAtGOpQ==", "dev": true, "license": "MIT", "dependencies": { - "cssnano-preset-default": "^7.0.7", + "cssnano-preset-default": "^7.0.9", "lilconfig": "^3.1.3" }, "engines": { @@ -12437,25 +12560,27 @@ } }, "node_modules/cssnano-preset-default": { - "version": "7.0.7", + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.9.tgz", + "integrity": "sha512-tCD6AAFgYBOVpMBX41KjbvRh9c2uUjLXRyV7KHSIrwHiq5Z9o0TFfUCoM3TwVrRsRteN3sVXGNvjVNxYzkpTsA==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.24.5", + "browserslist": "^4.25.1", "css-declaration-sorter": "^7.2.0", "cssnano-utils": "^5.0.1", "postcss-calc": "^10.1.1", - "postcss-colormin": "^7.0.3", - "postcss-convert-values": "^7.0.5", + "postcss-colormin": "^7.0.4", + "postcss-convert-values": "^7.0.7", "postcss-discard-comments": "^7.0.4", "postcss-discard-duplicates": "^7.0.2", "postcss-discard-empty": "^7.0.1", "postcss-discard-overridden": "^7.0.1", "postcss-merge-longhand": "^7.0.5", - "postcss-merge-rules": "^7.0.5", + "postcss-merge-rules": "^7.0.6", "postcss-minify-font-values": "^7.0.1", "postcss-minify-gradients": "^7.0.1", - "postcss-minify-params": "^7.0.3", + "postcss-minify-params": "^7.0.4", "postcss-minify-selectors": "^7.0.5", "postcss-normalize-charset": "^7.0.1", "postcss-normalize-display-values": "^7.0.1", @@ -12463,13 +12588,13 @@ "postcss-normalize-repeat-style": "^7.0.1", "postcss-normalize-string": "^7.0.1", "postcss-normalize-timing-functions": "^7.0.1", - "postcss-normalize-unicode": "^7.0.3", + "postcss-normalize-unicode": "^7.0.4", "postcss-normalize-url": "^7.0.1", "postcss-normalize-whitespace": "^7.0.1", "postcss-ordered-values": "^7.0.2", - "postcss-reduce-initial": "^7.0.3", + "postcss-reduce-initial": "^7.0.4", "postcss-reduce-transforms": "^7.0.1", - "postcss-svgo": "^7.0.2", + "postcss-svgo": "^7.1.0", "postcss-unique-selectors": "^7.0.4" }, "engines": { @@ -12492,6 +12617,8 @@ }, "node_modules/csso": { "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", "dev": true, "license": "MIT", "dependencies": { @@ -12504,6 +12631,8 @@ }, "node_modules/csso/node_modules/css-tree": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", "dev": true, "license": "MIT", "dependencies": { @@ -12517,6 +12646,8 @@ }, "node_modules/csso/node_modules/mdn-data": { "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", "dev": true, "license": "CC0-1.0" }, @@ -13567,7 +13698,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.155", + "version": "1.5.223", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.223.tgz", + "integrity": "sha512-qKm55ic6nbEmagFlTFczML33rF90aU+WtrJ9MdTCThrcvDNdUHN4p6QfVN78U06ZmguqXIyMPyYhw2TrbDUwPQ==", "license": "ISC" }, "node_modules/emittery": { @@ -16662,14 +16795,6 @@ "which": "bin/which" } }, - "node_modules/globals": { - "version": "11.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/globalthis": { "version": "1.0.4", "dev": true, @@ -23843,6 +23968,8 @@ }, "node_modules/lodash.debounce": { "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true, "license": "MIT" }, @@ -23905,6 +24032,8 @@ }, "node_modules/lodash.memoize": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", "dev": true, "license": "MIT" }, @@ -24818,7 +24947,9 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.19", + "version": "2.0.21", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.21.tgz", + "integrity": "sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==", "license": "MIT" }, "node_modules/node-retrieve-globals": { @@ -28984,11 +29115,13 @@ } }, "node_modules/postcss-colormin": { - "version": "7.0.3", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.4.tgz", + "integrity": "sha512-ziQuVzQZBROpKpfeDwmrG+Vvlr0YWmY/ZAk99XD+mGEBuEojoFekL41NCsdhyNUtZI7DPOoIWIR7vQQK9xwluw==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.24.5", + "browserslist": "^4.25.1", "caniuse-api": "^3.0.0", "colord": "^2.9.3", "postcss-value-parser": "^4.2.0" @@ -29001,11 +29134,13 @@ } }, "node_modules/postcss-convert-values": { - "version": "7.0.5", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.7.tgz", + "integrity": "sha512-HR9DZLN04Xbe6xugRH6lS4ZQH2zm/bFh/ZyRkpedZozhvh+awAfbA0P36InO4fZfDhvYfNJeNvlTf1sjwGbw/A==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.24.5", + "browserslist": "^4.25.1", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -29139,11 +29274,13 @@ } }, "node_modules/postcss-merge-rules": { - "version": "7.0.5", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.6.tgz", + "integrity": "sha512-2jIPT4Tzs8K87tvgCpSukRQ2jjd+hH6Bb8rEEOUDmmhOeTcqDg5fEFK8uKIu+Pvc3//sm3Uu6FRqfyv7YF7+BQ==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.24.5", + "browserslist": "^4.25.1", "caniuse-api": "^3.0.0", "cssnano-utils": "^5.0.1", "postcss-selector-parser": "^7.1.0" @@ -29186,11 +29323,13 @@ } }, "node_modules/postcss-minify-params": { - "version": "7.0.3", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.4.tgz", + "integrity": "sha512-3OqqUddfH8c2e7M35W6zIwv7jssM/3miF9cbCSb1iJiWvtguQjlxZGIHK9JRmc8XAKmE2PFGtHSM7g/VcW97sw==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.24.5", + "browserslist": "^4.25.1", "cssnano-utils": "^5.0.1", "postcss-value-parser": "^4.2.0" }, @@ -29298,11 +29437,13 @@ } }, "node_modules/postcss-normalize-unicode": { - "version": "7.0.3", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.4.tgz", + "integrity": "sha512-LvIURTi1sQoZqj8mEIE8R15yvM+OhbR1avynMtI9bUzj5gGKR/gfZFd8O7VMj0QgJaIFzxDwxGl/ASMYAkqO8g==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.24.5", + "browserslist": "^4.25.1", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -29356,11 +29497,13 @@ } }, "node_modules/postcss-reduce-initial": { - "version": "7.0.3", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.4.tgz", + "integrity": "sha512-rdIC9IlMBn7zJo6puim58Xd++0HdbvHeHaPgXsimMfG1ijC5A9ULvNLSE0rUKVJOvNMcwewW4Ga21ngyJjY/+Q==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.24.5", + "browserslist": "^4.25.1", "caniuse-api": "^3.0.0" }, "engines": { @@ -29451,12 +29594,14 @@ } }, "node_modules/postcss-svgo": { - "version": "7.0.2", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.1.0.tgz", + "integrity": "sha512-KnAlfmhtoLz6IuU3Sij2ycusNs4jPW+QoFE5kuuUOK8awR6tMxZQrs5Ey3BUz7nFCzT3eqyFgqkyrHiaU2xx3w==", "dev": true, "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", - "svgo": "^3.3.2" + "svgo": "^4.0.0" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >= 18" @@ -30442,11 +30587,13 @@ } }, "node_modules/rollup": { - "version": "4.41.0", + "version": "4.52.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.2.tgz", + "integrity": "sha512-I25/2QgoROE1vYV+NQ1En9T9UFB9Cmfm2CJ83zZOlaDpvz29wGQSZXWKw7MiNXau7wYgB/T9fVIdIuEQ+KbiiA==", "license": "MIT", "peer": true, "dependencies": { - "@types/estree": "1.0.7" + "@types/estree": "1.0.8" }, "bin": { "rollup": "dist/bin/rollup" @@ -30456,42 +30603,31 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.41.0", - "@rollup/rollup-android-arm64": "4.41.0", - "@rollup/rollup-darwin-arm64": "4.41.0", - "@rollup/rollup-darwin-x64": "4.41.0", - "@rollup/rollup-freebsd-arm64": "4.41.0", - "@rollup/rollup-freebsd-x64": "4.41.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.41.0", - "@rollup/rollup-linux-arm-musleabihf": "4.41.0", - "@rollup/rollup-linux-arm64-gnu": "4.41.0", - "@rollup/rollup-linux-arm64-musl": "4.41.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.41.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.41.0", - "@rollup/rollup-linux-riscv64-gnu": "4.41.0", - "@rollup/rollup-linux-riscv64-musl": "4.41.0", - "@rollup/rollup-linux-s390x-gnu": "4.41.0", - "@rollup/rollup-linux-x64-gnu": "4.41.0", - "@rollup/rollup-linux-x64-musl": "4.41.0", - "@rollup/rollup-win32-arm64-msvc": "4.41.0", - "@rollup/rollup-win32-ia32-msvc": "4.41.0", - "@rollup/rollup-win32-x64-msvc": "4.41.0", + "@rollup/rollup-android-arm-eabi": "4.52.2", + "@rollup/rollup-android-arm64": "4.52.2", + "@rollup/rollup-darwin-arm64": "4.52.2", + "@rollup/rollup-darwin-x64": "4.52.2", + "@rollup/rollup-freebsd-arm64": "4.52.2", + "@rollup/rollup-freebsd-x64": "4.52.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.52.2", + "@rollup/rollup-linux-arm-musleabihf": "4.52.2", + "@rollup/rollup-linux-arm64-gnu": "4.52.2", + "@rollup/rollup-linux-arm64-musl": "4.52.2", + "@rollup/rollup-linux-loong64-gnu": "4.52.2", + "@rollup/rollup-linux-ppc64-gnu": "4.52.2", + "@rollup/rollup-linux-riscv64-gnu": "4.52.2", + "@rollup/rollup-linux-riscv64-musl": "4.52.2", + "@rollup/rollup-linux-s390x-gnu": "4.52.2", + "@rollup/rollup-linux-x64-gnu": "4.52.2", + "@rollup/rollup-linux-x64-musl": "4.52.2", + "@rollup/rollup-openharmony-arm64": "4.52.2", + "@rollup/rollup-win32-arm64-msvc": "4.52.2", + "@rollup/rollup-win32-ia32-msvc": "4.52.2", + "@rollup/rollup-win32-x64-gnu": "4.52.2", + "@rollup/rollup-win32-x64-msvc": "4.52.2", "fsevents": "~2.3.2" } }, - "node_modules/rollup/node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.0.tgz", - "integrity": "sha512-XMLeKjyH8NsEDCRptf6LO8lJk23o9wvB+dJwcXMaH6ZQbbkHu2dbGIUindbMtRN6ux1xKi16iXWu6q9mu7gDhQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, "node_modules/rrweb-cssom": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", @@ -30721,7 +30857,9 @@ } }, "node_modules/sass": { - "version": "1.85.1", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.93.2.tgz", + "integrity": "sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==", "dev": true, "license": "MIT", "dependencies": { @@ -30740,11 +30878,13 @@ } }, "node_modules/sass-embedded": { - "version": "1.89.0", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.93.2.tgz", + "integrity": "sha512-FvQdkn2dZ8DGiLgi0Uf4zsj7r/BsiLImNa5QJ10eZalY6NfZyjrmWGFcuCN5jNwlDlXFJnftauv+UtvBKLvepQ==", "dev": true, "license": "MIT", "dependencies": { - "@bufbuild/protobuf": "^2.0.0", + "@bufbuild/protobuf": "^2.5.0", "buffer-builder": "^0.2.0", "colorjs.io": "^0.5.0", "immutable": "^5.0.2", @@ -30760,51 +30900,49 @@ "node": ">=16.0.0" }, "optionalDependencies": { - "sass-embedded-android-arm": "1.89.0", - "sass-embedded-android-arm64": "1.89.0", - "sass-embedded-android-ia32": "1.89.0", - "sass-embedded-android-riscv64": "1.89.0", - "sass-embedded-android-x64": "1.89.0", - "sass-embedded-darwin-arm64": "1.89.0", - "sass-embedded-darwin-x64": "1.89.0", - "sass-embedded-linux-arm": "1.89.0", - "sass-embedded-linux-arm64": "1.89.0", - "sass-embedded-linux-ia32": "1.89.0", - "sass-embedded-linux-musl-arm": "1.89.0", - "sass-embedded-linux-musl-arm64": "1.89.0", - "sass-embedded-linux-musl-ia32": "1.89.0", - "sass-embedded-linux-musl-riscv64": "1.89.0", - "sass-embedded-linux-musl-x64": "1.89.0", - "sass-embedded-linux-riscv64": "1.89.0", - "sass-embedded-linux-x64": "1.89.0", - "sass-embedded-win32-arm64": "1.89.0", - "sass-embedded-win32-ia32": "1.89.0", - "sass-embedded-win32-x64": "1.89.0" - } - }, - "node_modules/sass-embedded-android-arm": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.89.0.tgz", - "integrity": "sha512-s6jxkEZQQrtyIGZX6Sbcu7tEixFG2VkqFgrX11flm/jZex7KaxnZtFace+wnYAgHqzzYpx0kNzJUpT+GXxm8CA==", + "sass-embedded-all-unknown": "1.93.2", + "sass-embedded-android-arm": "1.93.2", + "sass-embedded-android-arm64": "1.93.2", + "sass-embedded-android-riscv64": "1.93.2", + "sass-embedded-android-x64": "1.93.2", + "sass-embedded-darwin-arm64": "1.93.2", + "sass-embedded-darwin-x64": "1.93.2", + "sass-embedded-linux-arm": "1.93.2", + "sass-embedded-linux-arm64": "1.93.2", + "sass-embedded-linux-musl-arm": "1.93.2", + "sass-embedded-linux-musl-arm64": "1.93.2", + "sass-embedded-linux-musl-riscv64": "1.93.2", + "sass-embedded-linux-musl-x64": "1.93.2", + "sass-embedded-linux-riscv64": "1.93.2", + "sass-embedded-linux-x64": "1.93.2", + "sass-embedded-unknown-all": "1.93.2", + "sass-embedded-win32-arm64": "1.93.2", + "sass-embedded-win32-x64": "1.93.2" + } + }, + "node_modules/sass-embedded-all-unknown": { + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.93.2.tgz", + "integrity": "sha512-GdEuPXIzmhRS5J7UKAwEvtk8YyHQuFZRcpnEnkA3rwRUI27kwjyXkNeIj38XjUQ3DzrfMe8HcKFaqWGHvblS7Q==", "cpu": [ - "arm" + "!arm", + "!arm64", + "!riscv64", + "!x64" ], "dev": true, "license": "MIT", "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=14.0.0" + "dependencies": { + "sass": "1.93.2" } }, - "node_modules/sass-embedded-android-arm64": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.89.0.tgz", - "integrity": "sha512-pr4R3p5R+Ul9ZA5nzYbBJQFJXW6dMGzgpNBhmaToYDgDhmNX5kg0mZAUlGLHvisLdTiR6oEfDDr9QI6tnD2nqA==", + "node_modules/sass-embedded-android-arm": { + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.93.2.tgz", + "integrity": "sha512-I8bpO8meZNo5FvFx5FIiE7DGPVOYft0WjuwcCCdeJ6duwfkl6tZdatex1GrSigvTsuz9L0m4ngDcX/Tj/8yMow==", "cpu": [ - "arm64" + "arm" ], "dev": true, "license": "MIT", @@ -30816,12 +30954,12 @@ "node": ">=14.0.0" } }, - "node_modules/sass-embedded-android-ia32": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.89.0.tgz", - "integrity": "sha512-GoNnNGYmp1F0ZMHqQbAurlQsjBMZKtDd5H60Ruq86uQFdnuNqQ9wHKJsJABxMnjfAn60IjefytM5PYTMcAmbfA==", + "node_modules/sass-embedded-android-arm64": { + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.93.2.tgz", + "integrity": "sha512-346f4iVGAPGcNP6V6IOOFkN5qnArAoXNTPr5eA/rmNpeGwomdb7kJyQ717r9rbJXxOG8OAAUado6J0qLsjnjXQ==", "cpu": [ - "ia32" + "arm64" ], "dev": true, "license": "MIT", @@ -30834,9 +30972,9 @@ } }, "node_modules/sass-embedded-android-riscv64": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.89.0.tgz", - "integrity": "sha512-di+i4KkKAWTNksaQYTqBEERv46qV/tvv14TPswEfak7vcTQ2pj2mvV4KGjLYfU2LqRkX/NTXix9KFthrzFN51Q==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.93.2.tgz", + "integrity": "sha512-hSMW1s4yJf5guT9mrdkumluqrwh7BjbZ4MbBW9tmi1DRDdlw1Wh9Oy1HnnmOG8x9XcI1qkojtPL6LUuEJmsiDg==", "cpu": [ "riscv64" ], @@ -30851,9 +30989,9 @@ } }, "node_modules/sass-embedded-android-x64": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.89.0.tgz", - "integrity": "sha512-1cRRDAnmAS1wLaxfFf6PCHu9sKW8FNxdM7ZkanwxO9mztrCu/uvfqTmaurY9+RaKvPus7sGYFp46/TNtl/wRjg==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.93.2.tgz", + "integrity": "sha512-JqktiHZduvn+ldGBosE40ALgQ//tGCVNAObgcQ6UIZznEJbsHegqStqhRo8UW3x2cgOO2XYJcrInH6cc7wdKbw==", "cpu": [ "x64" ], @@ -30868,9 +31006,9 @@ } }, "node_modules/sass-embedded-darwin-arm64": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.89.0.tgz", - "integrity": "sha512-EUNUzI0UkbQ6dASPyf09S3x7fNT54PjyD594ZGTY14Yh4qTuacIj27ckLmreAJNNu5QxlbhyYuOtz+XN5bMMxA==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.93.2.tgz", + "integrity": "sha512-qI1X16qKNeBJp+M/5BNW7v/JHCDYWr1/mdoJ7+UMHmP0b5AVudIZtimtK0hnjrLnBECURifd6IkulybR+h+4UA==", "cpu": [ "arm64" ], @@ -30885,7 +31023,9 @@ } }, "node_modules/sass-embedded-darwin-x64": { - "version": "1.89.0", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.93.2.tgz", + "integrity": "sha512-4KeAvlkQ0m0enKUnDGQJZwpovYw99iiMb8CTZRSsQm8Eh7halbJZVmx67f4heFY/zISgVOCcxNg19GrM5NTwtA==", "cpu": [ "x64" ], @@ -30900,9 +31040,9 @@ } }, "node_modules/sass-embedded-linux-arm": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.89.0.tgz", - "integrity": "sha512-KAzA1XD74d8/fiJXxVnLfFwfpmD2XqUJZz+DL6ZAPNLH1sb+yCP7brktaOyClDc/MBu61JERdHaJjIZhfX0Yqw==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.93.2.tgz", + "integrity": "sha512-N3+D/ToHtzwLDO+lSH05Wo6/KRxFBPnbjVHASOlHzqJnK+g5cqex7IFAp6ozzlRStySk61Rp6d+YGrqZ6/P0PA==", "cpu": [ "arm" ], @@ -30917,9 +31057,9 @@ } }, "node_modules/sass-embedded-linux-arm64": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.89.0.tgz", - "integrity": "sha512-g9Lp57qyx51ttKj0AN/edV43Hu1fBObvD7LpYwVfs6u3I95r0Adi90KujzNrUqXxJVmsfUwseY8kA8zvcRjhYA==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.93.2.tgz", + "integrity": "sha512-9ftX6nd5CsShJqJ2WRg+ptaYvUW+spqZfJ88FbcKQBNFQm6L87luj3UI1rB6cP5EWrLwHA754OKxRJyzWiaN6g==", "cpu": [ "arm64" ], @@ -30933,27 +31073,10 @@ "node": ">=14.0.0" } }, - "node_modules/sass-embedded-linux-ia32": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.89.0.tgz", - "integrity": "sha512-5fxBeXyvBr3pb+vyrx9V6yd7QDRXkAPbwmFVVhjqshBABOXelLysEFea7xokh/tM8JAAQ4O8Ls3eW3Eojb477g==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/sass-embedded-linux-musl-arm": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.89.0.tgz", - "integrity": "sha512-0Q1JeEU4/tzH7fwAwarfIh+Swn3aXG/jPhVsZpbR1c1VzkeaPngmXdmLJcVXsdb35tjk84DuYcFtJlE1HYGw4Q==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.93.2.tgz", + "integrity": "sha512-XBTvx66yRenvEsp3VaJCb3HQSyqCsUh7R+pbxcN5TuzueybZi0LXvn9zneksdXcmjACMlMpIVXi6LyHPQkYc8A==", "cpu": [ "arm" ], @@ -30968,9 +31091,9 @@ } }, "node_modules/sass-embedded-linux-musl-arm64": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.89.0.tgz", - "integrity": "sha512-50oelrOtN64u15vJN9uJryIuT0+UPjyeoq0zdWbY8F7LM9294Wf+Idea+nqDUWDCj1MHndyPFmR1mjeuRouJhw==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.93.2.tgz", + "integrity": "sha512-+3EHuDPkMiAX5kytsjEC1bKZCawB9J6pm2eBIzzLMPWbf5xdx++vO1DpT7hD4bm4ZGn0eVHgSOKIfP6CVz6tVg==", "cpu": [ "arm64" ], @@ -30984,27 +31107,10 @@ "node": ">=14.0.0" } }, - "node_modules/sass-embedded-linux-musl-ia32": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.89.0.tgz", - "integrity": "sha512-ILWqpTd+0RdsSw977iVAJf4CLetIbcQgLQf17ycS1N4StZKVRZs1bBfZhg/f/HU/4p5HondPAwepgJepZZdnFA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/sass-embedded-linux-musl-riscv64": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.89.0.tgz", - "integrity": "sha512-n2V+Tdjj7SAuiuElJYhWiHjjB1YU0cuFvL1/m5K+ecdNStfHFWIzvBT6/vzQnBOWjI4eZECNVuQ8GwGWCufZew==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.93.2.tgz", + "integrity": "sha512-0sB5kmVZDKTYzmCSlTUnjh6mzOhzmQiW/NNI5g8JS4JiHw2sDNTvt1dsFTuqFkUHyEOY3ESTsfHHBQV8Ip4bEA==", "cpu": [ "riscv64" ], @@ -31019,9 +31125,9 @@ } }, "node_modules/sass-embedded-linux-musl-x64": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.89.0.tgz", - "integrity": "sha512-KOHJdouBK3SLJKZLnFYzuxs3dn+6jaeO3p4p1JUYAcVfndcvh13Sg2sLGfOfpg7Og6ws2Nnqnx0CyL26jPJ7ag==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.93.2.tgz", + "integrity": "sha512-t3ejQ+1LEVuHy7JHBI2tWHhoMfhedUNDjGJR2FKaLgrtJntGnyD1RyX0xb3nuqL/UXiEAtmTmZY+Uh3SLUe1Hg==", "cpu": [ "x64" ], @@ -31036,9 +31142,9 @@ } }, "node_modules/sass-embedded-linux-riscv64": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.89.0.tgz", - "integrity": "sha512-0A/UWeKX6MYhVLWLkdX3NPKHO+mvIwzaf6TxGCy3vS3TODWaeDUeBhHShAr7YlOKv5xRGxf7Gx7FXCPV0mUyMA==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.93.2.tgz", + "integrity": "sha512-e7AndEwAbFtXaLy6on4BfNGTr3wtGZQmypUgYpSNVcYDO+CWxatKVY4cxbehMPhxG9g5ru+eaMfynvhZt7fLaA==", "cpu": [ "riscv64" ], @@ -31053,9 +31159,9 @@ } }, "node_modules/sass-embedded-linux-x64": { - "version": "1.89.2", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.89.2.tgz", - "integrity": "sha512-Ax7dKvzncyQzIl4r7012KCMBvJzOz4uwSNoyoM5IV6y5I1f5hEwI25+U4WfuTqdkv42taCMgpjZbh9ERr6JVMQ==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.93.2.tgz", + "integrity": "sha512-U3EIUZQL11DU0xDDHXexd4PYPHQaSQa2hzc4EzmhHqrAj+TyfYO94htjWOd+DdTPtSwmLp+9cTWwPZBODzC96w==", "cpu": [ "x64" ], @@ -31068,29 +31174,29 @@ "node": ">=14.0.0" } }, - "node_modules/sass-embedded-win32-arm64": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.89.0.tgz", - "integrity": "sha512-RnlVZ14hC/W7ubzvhqnbGfjU5PFNoFP/y5qycgCy+Mezb0IKbWvZ2Lyzux8TbL3OIjOikkNpfXoNQrX706WLAA==", - "cpu": [ - "arm64" - ], + "node_modules/sass-embedded-unknown-all": { + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.93.2.tgz", + "integrity": "sha512-7VnaOmyewcXohiuoFagJ3SK5ddP9yXpU0rzz+pZQmS1/+5O6vzyFCUoEt3HDRaLctH4GT3nUGoK1jg0ae62IfQ==", "dev": true, "license": "MIT", "optional": true, "os": [ - "win32" + "!android", + "!darwin", + "!linux", + "!win32" ], - "engines": { - "node": ">=14.0.0" + "dependencies": { + "sass": "1.93.2" } }, - "node_modules/sass-embedded-win32-ia32": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.89.0.tgz", - "integrity": "sha512-eFe9VMNG+90nuoE3eXDy+38+uEHGf7xcqalq5+0PVZfR+H9RlaEbvIUNflZV94+LOH8Jb4lrfuekhHgWDJLfSg==", + "node_modules/sass-embedded-win32-arm64": { + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.93.2.tgz", + "integrity": "sha512-Y90DZDbQvtv4Bt0GTXKlcT9pn4pz8AObEjFF8eyul+/boXwyptPZ/A1EyziAeNaIEIfxyy87z78PUgCeGHsx3Q==", "cpu": [ - "ia32" + "arm64" ], "dev": true, "license": "MIT", @@ -31103,9 +31209,9 @@ } }, "node_modules/sass-embedded-win32-x64": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.89.0.tgz", - "integrity": "sha512-AaGpr5R6MLCuSvkvDdRq49ebifwLcuGPk0/10hbYw9nh3jpy2/CylYubQpIpR4yPcuD1wFwFqufTXC3HJYGb0g==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.93.2.tgz", + "integrity": "sha512-BbSucRP6PVRZGIwlEBkp+6VQl2GWdkWFMN+9EuOTPrLxCJZoq+yhzmbjspd3PeM8+7WJ7AdFu/uRYdO8tor1iQ==", "cpu": [ "x64" ], @@ -31120,29 +31226,16 @@ } }, "node_modules/sass-embedded/node_modules/immutable": { - "version": "5.0.3", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz", + "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==", "dev": true, "license": "MIT" }, - "node_modules/sass-embedded/node_modules/sass-embedded-linux-x64": { - "version": "1.89.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.89.0.tgz", - "integrity": "sha512-dRBoOFPDWctHPYK3hTk3YzyX/icVrXiw7oOjbtpaDr6JooqIWBe16FslkWyvQzdmfOFy80raKVjgoqT7DsznkQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/sass-embedded/node_modules/supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -31186,6 +31279,13 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true, + "license": "ISC" + }, "node_modules/saxes": { "version": "6.0.0", "dev": true, @@ -33523,23 +33623,25 @@ "dev": true }, "node_modules/svgo": { - "version": "3.3.2", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.0.tgz", + "integrity": "sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==", "dev": true, "license": "MIT", "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", + "commander": "^11.1.0", "css-select": "^5.1.0", - "css-tree": "^2.3.1", + "css-tree": "^3.0.1", "css-what": "^6.1.0", "csso": "^5.0.5", - "picocolors": "^1.0.0" + "picocolors": "^1.1.1", + "sax": "^1.4.1" }, "bin": { - "svgo": "bin/svgo" + "svgo": "bin/svgo.js" }, "engines": { - "node": ">=14.0.0" + "node": ">=16" }, "funding": { "type": "opencollective", @@ -33547,30 +33649,15 @@ } }, "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/svgo/node_modules/css-tree": { - "version": "2.3.1", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", "dev": true, "license": "MIT", - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + "node": ">=16" } }, - "node_modules/svgo/node_modules/mdn-data": { - "version": "2.0.30", - "dev": true, - "license": "CC0-1.0" - }, "node_modules/symbol-tree": { "version": "3.2.4", "dev": true, @@ -33759,12 +33846,14 @@ } }, "node_modules/terser": { - "version": "5.39.2", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.0.tgz", + "integrity": "sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==", "dev": true, "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.14.0", + "acorn": "^8.15.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -33777,11 +33866,15 @@ }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true, "license": "MIT" }, "node_modules/terser/node_modules/source-map-support": { "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 12122a100..a595a3650 100644 --- a/package.json +++ b/package.json @@ -87,13 +87,13 @@ "devDependencies": { "@11ty/eleventy": "^3.1.0", "@11ty/eleventy-navigation": "^1.0.4", - "@babel/core": "^7.27.1", - "@babel/preset-env": "^7.27.2", + "@babel/core": "^7.28.4", + "@babel/preset-env": "^7.28.3", "@commitlint/cli": "^19.8.1", "@commitlint/config-conventional": "^19.8.1", "@playwright/test": "^1.54.2", "@rollup/plugin-babel": "^6.0.4", - "@rollup/plugin-commonjs": "^28.0.3", + "@rollup/plugin-commonjs": "^28.0.6", "@rollup/plugin-node-resolve": "^16.0.1", "@rollup/plugin-replace": "^6.0.2", "@rollup/plugin-terser": "^0.4.4", @@ -123,7 +123,7 @@ "clipboard": "^2.0.11", "commitizen": "^4.3.1", "concurrently": "^9.2.1", - "cssnano": "^7.0.7", + "cssnano": "^7.1.1", "cz-conventional-changelog": "^3.3.0", "dayjs": "^1.11.13", "del": "^8.0.0", @@ -162,7 +162,7 @@ "nodemon": "^3.1.10", "outdent": "^0.8.0", "plugin-error": "^2.0.1", - "postcss": "^8.5.3", + "postcss": "^8.5.6", "postcss-load-config": "^6.0.1", "postcss-markdown": "^1.3.0", "postcss-scss": "^4.0.9", @@ -170,15 +170,15 @@ "puppeteer": "^24.22.0", "puppeteer-core": "^24.22.0", "require-dir": "^1.2.0", - "rollup": "^4.41.0", - "sass-embedded": "^1.89.0", + "rollup": "^4.50.2", + "sass-embedded": "^1.92.1", "semantic-release": "^24.2.8", "sinon": "^21.0.0", "stylelint": "^16.24.0", "stylelint-config-gds": "^2.0.0", "stylelint-order": "^6.0.4", "supertest": "^7.1.1", - "terser": "^5.39.2", + "terser": "^5.44.0", "typed-query-selector": "^2.12.0", "typescript": "^5.8.3" }, @@ -188,7 +188,7 @@ } }, "optionalDependencies": { - "@rollup/rollup-linux-x64-gnu": "^4.40.1", + "@rollup/rollup-linux-x64-gnu": "^4.50.2", "sass-embedded-linux-x64": "^1.87.0" } } From 3ed1d50d552d19eaefc4279233214a8372d4641f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 10:57:37 +0100 Subject: [PATCH 08/28] build(deps): update dependency @types/express to ^5.0.3 (#1806) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 6 ++++-- package.json | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index df86e0554..01f3dcd25 100644 --- a/package-lock.json +++ b/package-lock.json @@ -53,7 +53,7 @@ "@testing-library/jest-dom": "^6.6.3", "@testing-library/user-event": "^14.6.1", "@types/connect-redis": "^0.0.23", - "@types/express": "^5.0.2", + "@types/express": "^5.0.3", "@types/express-session": "^1.18.1", "@types/govuk-frontend": "^5.9.0", "@types/gulp": "^4.0.17", @@ -8080,7 +8080,9 @@ "license": "MIT" }, "node_modules/@types/express": { - "version": "5.0.2", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.3.tgz", + "integrity": "sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index a595a3650..e4c1c619f 100644 --- a/package.json +++ b/package.json @@ -105,7 +105,7 @@ "@testing-library/jest-dom": "^6.6.3", "@testing-library/user-event": "^14.6.1", "@types/connect-redis": "^0.0.23", - "@types/express": "^5.0.2", + "@types/express": "^5.0.3", "@types/express-session": "^1.18.1", "@types/govuk-frontend": "^5.9.0", "@types/gulp": "^4.0.17", From fefaa473af04de1fae2cddcf964122ec00fb8586 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 11:07:30 +0100 Subject: [PATCH 09/28] build(deps): update dependency @types/express-session to ^1.18.2 (#1809) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 6 ++++-- package.json | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 01f3dcd25..522726ab8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -54,7 +54,7 @@ "@testing-library/user-event": "^14.6.1", "@types/connect-redis": "^0.0.23", "@types/express": "^5.0.3", - "@types/express-session": "^1.18.1", + "@types/express-session": "^1.18.2", "@types/govuk-frontend": "^5.9.0", "@types/gulp": "^4.0.17", "@types/jest": "^29.5.14", @@ -8103,7 +8103,9 @@ } }, "node_modules/@types/express-session": { - "version": "1.18.1", + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/@types/express-session/-/express-session-1.18.2.tgz", + "integrity": "sha512-k+I0BxwVXsnEU2hV77cCobC08kIsn4y44C3gC0b46uxZVMaXA04lSPgRLR/bSL2w0t0ShJiG8o4jPzRG/nscFg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index e4c1c619f..2c3800404 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "@testing-library/user-event": "^14.6.1", "@types/connect-redis": "^0.0.23", "@types/express": "^5.0.3", - "@types/express-session": "^1.18.1", + "@types/express-session": "^1.18.2", "@types/govuk-frontend": "^5.9.0", "@types/gulp": "^4.0.17", "@types/jest": "^29.5.14", From d54b643ecfb74ddb025decafe131f35f75e7aa40 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 11:12:11 +0100 Subject: [PATCH 10/28] build(deps): update dependency dayjs to ^1.11.18 (#1810) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 6 ++++-- package.json | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 522726ab8..64f0a414e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -73,7 +73,7 @@ "concurrently": "^9.2.1", "cssnano": "^7.1.1", "cz-conventional-changelog": "^3.3.0", - "dayjs": "^1.11.13", + "dayjs": "^1.11.18", "del": "^8.0.0", "eslint": "^8.57.1", "eslint-config-prettier": "^10.1.8", @@ -12836,7 +12836,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.13", + "version": "1.11.18", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.18.tgz", + "integrity": "sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==", "dev": true, "license": "MIT" }, diff --git a/package.json b/package.json index 2c3800404..5f76d8394 100644 --- a/package.json +++ b/package.json @@ -125,7 +125,7 @@ "concurrently": "^9.2.1", "cssnano": "^7.1.1", "cz-conventional-changelog": "^3.3.0", - "dayjs": "^1.11.13", + "dayjs": "^1.11.18", "del": "^8.0.0", "eslint": "^8.57.1", "eslint-config-prettier": "^10.1.8", From 1c2176197e6d07bd9eea8c829224adac9d79fda3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 11:13:50 +0100 Subject: [PATCH 11/28] build(deps): update test (#1813) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 149 +++++++++++++++++++--------------------------- package.json | 8 +-- 2 files changed, 65 insertions(+), 92 deletions(-) diff --git a/package-lock.json b/package-lock.json index 64f0a414e..f9113f6cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,8 +49,8 @@ "@semantic-release/exec": "^7.1.0", "@semantic-release/git": "^10.0.1", "@semantic-release/npm": "^12.0.2", - "@testing-library/dom": "^10.4.0", - "@testing-library/jest-dom": "^6.6.3", + "@testing-library/dom": "^10.4.1", + "@testing-library/jest-dom": "^6.8.0", "@testing-library/user-event": "^14.6.1", "@types/connect-redis": "^0.0.23", "@types/express": "^5.0.3", @@ -86,7 +86,7 @@ "eslint-plugin-markdown": "^5.1.0", "eslint-plugin-n": "^16.6.2", "eslint-plugin-promise": "^6.6.0", - "glob": "^11.0.2", + "glob": "^11.0.3", "govuk-prototype-kit": "^13.16.2", "gray-matter": "^4.0.3", "gulp": "^5.0.1", @@ -125,7 +125,7 @@ "stylelint": "^16.24.0", "stylelint-config-gds": "^2.0.0", "stylelint-order": "^6.0.4", - "supertest": "^7.1.1", + "supertest": "^7.1.4", "terser": "^5.44.0", "typed-query-selector": "^2.12.0", "typescript": "^5.8.3" @@ -2673,6 +2673,29 @@ "integrity": "sha512-aFT2yemJJo+TZCmieA7qnYGQooOS7QfNmYrzGtsYd3g9j5iDP8AimYYAesf79ohjbLG12XxC4nG5DyEnC88AsQ==", "license": "MIT" }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "dev": true, @@ -7832,7 +7855,9 @@ "license": "MIT" }, "node_modules/@testing-library/dom": { - "version": "10.4.0", + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", + "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", "dev": true, "license": "MIT", "peer": true, @@ -7841,55 +7866,27 @@ "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", - "chalk": "^4.1.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", + "picocolors": "1.1.1", "pretty-format": "^27.0.2" }, "engines": { "node": ">=18" } }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/@testing-library/jest-dom": { - "version": "6.6.3", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.8.0.tgz", + "integrity": "sha512-WgXcWzVM6idy5JaftTVC8Vs83NKRmGJz4Hqs4oyOuO2J4r/y79vvKZsb+CaGyCSEbUPI6OsewfPd0G1A0/TUZQ==", "dev": true, "license": "MIT", "dependencies": { "@adobe/css-tools": "^4.4.0", "aria-query": "^5.0.0", - "chalk": "^3.0.0", "css.escape": "^1.5.1", "dom-accessibility-api": "^0.6.3", - "lodash": "^4.17.21", + "picocolors": "^1.1.1", "redent": "^3.0.0" }, "engines": { @@ -7898,34 +7895,10 @@ "yarn": ">=1" } }, - "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", "dev": true, "license": "MIT" }, @@ -16643,13 +16616,15 @@ } }, "node_modules/glob": { - "version": "11.0.2", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.3.tgz", + "integrity": "sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==", "dev": true, "license": "ISC", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^4.0.1", - "minimatch": "^10.0.0", + "foreground-child": "^3.3.1", + "jackspeak": "^4.1.1", + "minimatch": "^10.0.3", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^2.0.0" @@ -16719,22 +16694,14 @@ "node": ">= 10.13.0" } }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/glob/node_modules/minimatch": { - "version": "10.0.1", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", + "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "@isaacs/brace-expansion": "^5.0.0" }, "engines": { "node": "20 || >=22" @@ -19647,7 +19614,9 @@ } }, "node_modules/jackspeak": { - "version": "4.1.0", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", + "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -33528,19 +33497,21 @@ } }, "node_modules/superagent": { - "version": "10.2.1", + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-10.2.3.tgz", + "integrity": "sha512-y/hkYGeXAj7wUMjxRbB21g/l6aAEituGXM9Rwl4o20+SX3e8YOSV6BxFXl+dL3Uk0mjSL3kCbNkwURm8/gEDig==", "dev": true, "license": "MIT", "dependencies": { - "component-emitter": "^1.3.0", + "component-emitter": "^1.3.1", "cookiejar": "^2.1.4", - "debug": "^4.3.4", + "debug": "^4.3.7", "fast-safe-stringify": "^2.1.1", - "form-data": "^4.0.0", + "form-data": "^4.0.4", "formidable": "^3.5.4", "methods": "^1.1.2", "mime": "2.6.0", - "qs": "^6.11.0" + "qs": "^6.11.2" }, "engines": { "node": ">=14.18.0" @@ -33560,12 +33531,14 @@ } }, "node_modules/supertest": { - "version": "7.1.1", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-7.1.4.tgz", + "integrity": "sha512-tjLPs7dVyqgItVFirHYqe2T+MfWc2VOBQ8QFKKbWTA3PU7liZR8zoSpAi/C1k1ilm9RsXIKYf197oap9wXGVYg==", "dev": true, "license": "MIT", "dependencies": { "methods": "^1.1.2", - "superagent": "^10.2.1" + "superagent": "^10.2.3" }, "engines": { "node": ">=14.18.0" diff --git a/package.json b/package.json index 5f76d8394..a9647f978 100644 --- a/package.json +++ b/package.json @@ -101,8 +101,8 @@ "@semantic-release/exec": "^7.1.0", "@semantic-release/git": "^10.0.1", "@semantic-release/npm": "^12.0.2", - "@testing-library/dom": "^10.4.0", - "@testing-library/jest-dom": "^6.6.3", + "@testing-library/dom": "^10.4.1", + "@testing-library/jest-dom": "^6.8.0", "@testing-library/user-event": "^14.6.1", "@types/connect-redis": "^0.0.23", "@types/express": "^5.0.3", @@ -138,7 +138,7 @@ "eslint-plugin-markdown": "^5.1.0", "eslint-plugin-n": "^16.6.2", "eslint-plugin-promise": "^6.6.0", - "glob": "^11.0.2", + "glob": "^11.0.3", "govuk-prototype-kit": "^13.16.2", "gray-matter": "^4.0.3", "gulp": "^5.0.1", @@ -177,7 +177,7 @@ "stylelint": "^16.24.0", "stylelint-config-gds": "^2.0.0", "stylelint-order": "^6.0.4", - "supertest": "^7.1.1", + "supertest": "^7.1.4", "terser": "^5.44.0", "typed-query-selector": "^2.12.0", "typescript": "^5.8.3" From 38bdbd0f5303ac76c3a0f6f11052ba9d14ef6406 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 11:14:37 +0100 Subject: [PATCH 12/28] build(deps): update dependency @playwright/test to ^1.55.0 (#1814) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 24 ++++++++++++------------ package.json | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index f9113f6cc..8b54d5b46 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,7 +39,7 @@ "@babel/preset-env": "^7.28.3", "@commitlint/cli": "^19.8.1", "@commitlint/config-conventional": "^19.8.1", - "@playwright/test": "^1.54.2", + "@playwright/test": "^1.55.0", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-commonjs": "^28.0.6", "@rollup/plugin-node-resolve": "^16.0.1", @@ -5958,13 +5958,13 @@ } }, "node_modules/@playwright/test": { - "version": "1.54.2", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.54.2.tgz", - "integrity": "sha512-A+znathYxPf+72riFd1r1ovOLqsIIB0jKIoPjyK2kqEIe30/6jF6BC7QNluHuwUmsD2tv1XZVugN8GqfTMOxsA==", + "version": "1.55.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.55.1.tgz", + "integrity": "sha512-IVAh/nOJaw6W9g+RJVlIQJ6gSiER+ae6mKQ5CX1bERzQgbC1VSeBlwdvczT7pxb0GWiyrxH4TGKbMfDb4Sq/ig==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright": "1.54.2" + "playwright": "1.55.1" }, "bin": { "playwright": "cli.js" @@ -28930,13 +28930,13 @@ } }, "node_modules/playwright": { - "version": "1.54.2", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.54.2.tgz", - "integrity": "sha512-Hu/BMoA1NAdRUuulyvQC0pEqZ4vQbGfn8f7wPXcnqQmM+zct9UliKxsIkLNmz/ku7LElUNqmaiv1TG/aL5ACsw==", + "version": "1.55.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.55.1.tgz", + "integrity": "sha512-cJW4Xd/G3v5ovXtJJ52MAOclqeac9S/aGGgRzLabuF8TnIb6xHvMzKIa6JmrRzUkeXJgfL1MhukP0NK6l39h3A==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.54.2" + "playwright-core": "1.55.1" }, "bin": { "playwright": "cli.js" @@ -28949,9 +28949,9 @@ } }, "node_modules/playwright-core": { - "version": "1.54.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.54.2.tgz", - "integrity": "sha512-n5r4HFbMmWsB4twG7tJLDN9gmBUeSPcsBZiWSE4DnYz9mJMAFqr2ID7+eGC9kpEnxExJ1epttwR59LEWCk8mtA==", + "version": "1.55.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.55.1.tgz", + "integrity": "sha512-Z6Mh9mkwX+zxSlHqdr5AOcJnfp+xUWLCt9uKV18fhzA8eyxUd8NUWzAjxUh55RZKSYwDGX0cfaySdhZJGMoJ+w==", "dev": true, "license": "Apache-2.0", "bin": { diff --git a/package.json b/package.json index a9647f978..8a48cb63b 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "@babel/preset-env": "^7.28.3", "@commitlint/cli": "^19.8.1", "@commitlint/config-conventional": "^19.8.1", - "@playwright/test": "^1.54.2", + "@playwright/test": "^1.55.0", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-commonjs": "^28.0.6", "@rollup/plugin-node-resolve": "^16.0.1", From 60dffec9900cdd53b26f7b1f20f6f32fe06df763 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 11:25:50 +0100 Subject: [PATCH 13/28] build(deps): update dependency govuk-prototype-kit to ^13.18.0 (#1817) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 5514 ++++++++++++++++++++++++++++++++++----------- package.json | 2 +- 2 files changed, 4165 insertions(+), 1351 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8b54d5b46..58bd2606d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -87,7 +87,7 @@ "eslint-plugin-n": "^16.6.2", "eslint-plugin-promise": "^6.6.0", "glob": "^11.0.3", - "govuk-prototype-kit": "^13.16.2", + "govuk-prototype-kit": "^13.18.0", "gray-matter": "^4.0.3", "gulp": "^5.0.1", "gulp-cache": "^1.1.3", @@ -2627,41 +2627,6 @@ "dev": true, "license": "BSD-3-Clause" }, - "node_modules/@inquirer/external-editor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.1.tgz", - "integrity": "sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "chardet": "^2.1.0", - "iconv-lite": "^0.6.3" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/external-editor/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@ioredis/as-callback": { "version": "3.0.0", "dev": true, @@ -7849,11 +7814,6 @@ "dev": true, "license": "(Unlicense OR Apache-2.0)" }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/@testing-library/dom": { "version": "10.4.1", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", @@ -7998,14 +7958,6 @@ "@types/node": "*" } }, - "node_modules/@types/concat-stream": { - "version": "1.6.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/connect": { "version": "3.4.38", "license": "MIT", @@ -8033,14 +7985,6 @@ "@types/node": "*" } }, - "node_modules/@types/cors": { - "version": "2.8.17", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", @@ -8085,14 +8029,6 @@ "@types/express": "*" } }, - "node_modules/@types/form-data": { - "version": "0.0.33", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/glob-stream": { "version": "8.0.2", "dev": true, @@ -9140,14 +9076,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-escapes": { "version": "4.3.2", "dev": true, @@ -9517,14 +9445,6 @@ "node": ">=8" } }, - "node_modules/async": { - "version": "2.6.4", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.14" - } - }, "node_modules/async-done": { "version": "2.0.0", "dev": true, @@ -9538,14 +9458,6 @@ "node": ">= 10.13.0" } }, - "node_modules/async-each-series": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/async-function": { "version": "1.0.0", "dev": true, @@ -9928,14 +9840,6 @@ ], "license": "MIT" }, - "node_modules/base64id": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, "node_modules/baseline-browser-mapping": { "version": "2.8.6", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.6.tgz", @@ -9955,11 +9859,6 @@ "node": ">=10.0.0" } }, - "node_modules/batch": { - "version": "0.6.1", - "dev": true, - "license": "MIT" - }, "node_modules/bcp-47": { "version": "2.1.0", "dev": true, @@ -10700,205 +10599,6 @@ "node": ">=8" } }, - "node_modules/browser-sync": { - "version": "3.0.3", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "browser-sync-client": "^3.0.3", - "browser-sync-ui": "^3.0.3", - "bs-recipes": "1.3.4", - "chalk": "4.1.2", - "chokidar": "^3.5.1", - "connect": "3.6.6", - "connect-history-api-fallback": "^1", - "dev-ip": "^1.0.1", - "easy-extender": "^2.3.4", - "eazy-logger": "^4.0.1", - "etag": "^1.8.1", - "fresh": "^0.5.2", - "fs-extra": "3.0.1", - "http-proxy": "^1.18.1", - "immutable": "^3", - "micromatch": "^4.0.8", - "opn": "5.3.0", - "portscanner": "2.2.0", - "raw-body": "^2.3.2", - "resp-modifier": "6.0.2", - "rx": "4.1.0", - "send": "^0.19.0", - "serve-index": "^1.9.1", - "serve-static": "^1.16.2", - "server-destroy": "1.0.1", - "socket.io": "^4.4.1", - "ua-parser-js": "^1.0.33", - "yargs": "^17.3.1" - }, - "bin": { - "browser-sync": "dist/bin.js" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/browser-sync-client": { - "version": "3.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "etag": "1.8.1", - "fresh": "0.5.2", - "mitt": "^1.1.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/browser-sync-ui": { - "version": "3.0.3", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "async-each-series": "0.1.1", - "chalk": "4.1.2", - "connect-history-api-fallback": "^1", - "immutable": "^3", - "server-destroy": "1.0.1", - "socket.io-client": "^4.4.1", - "stream-throttle": "^0.1.3" - } - }, - "node_modules/browser-sync-ui/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/browser-sync-ui/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/browser-sync/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/browser-sync/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/browser-sync/node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/browser-sync/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/browser-sync/node_modules/fs-extra": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/browser-sync/node_modules/jsonfile": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/browser-sync/node_modules/mime": { - "version": "1.6.0", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/browser-sync/node_modules/send": { - "version": "0.19.1", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/browser-sync/node_modules/universalify": { - "version": "0.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/browserslist": { "version": "4.26.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.2.tgz", @@ -10933,11 +10633,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/bs-recipes": { - "version": "1.3.4", - "dev": true, - "license": "ISC" - }, "node_modules/bser": { "version": "2.1.1", "dev": true, @@ -11296,11 +10991,6 @@ ], "license": "CC-BY-4.0" }, - "node_modules/caseless": { - "version": "0.12.0", - "dev": true, - "license": "Apache-2.0" - }, "node_modules/caw": { "version": "2.0.1", "dev": true, @@ -11373,13 +11063,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/chardet": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz", - "integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==", - "dev": true, - "license": "MIT" - }, "node_modules/chokidar": { "version": "3.6.0", "license": "MIT", @@ -11863,52 +11546,6 @@ "dev": true, "license": "MIT" }, - "node_modules/concat-stream": { - "version": "1.6.2", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-stream/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/concat-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/concurrently": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.1.tgz", @@ -12010,28 +11647,6 @@ "dev": true, "license": "ISC" }, - "node_modules/connect": { - "version": "3.6.6", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "~1.3.2", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, "node_modules/connect-redis": { "version": "6.1.3", "license": "MIT", @@ -12039,63 +11654,6 @@ "node": ">=12" } }, - "node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/connect/node_modules/encodeurl": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/connect/node_modules/finalhandler": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/connect/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/connect/node_modules/on-finished": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/connect/node_modules/statuses": { - "version": "1.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/content-disposition": { "version": "0.5.4", "license": "MIT", @@ -12215,18 +11773,6 @@ "node": ">= 0.6" } }, - "node_modules/cookie-parser": { - "version": "1.4.7", - "dev": true, - "license": "MIT", - "dependencies": { - "cookie": "0.7.2", - "cookie-signature": "1.0.6" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/cookie-signature": { "version": "1.0.6", "license": "MIT" @@ -12279,18 +11825,6 @@ "dev": true, "license": "MIT" }, - "node_modules/cors": { - "version": "2.8.5", - "dev": true, - "license": "MIT", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/cosmiconfig": { "version": "9.0.0", "dev": true, @@ -12371,14 +11905,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/csrf-csrf": { - "version": "2.3.0", - "dev": true, - "license": "ISC", - "dependencies": { - "http-errors": "^2.0.0" - } - }, "node_modules/css-declaration-sorter": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", @@ -13287,16 +12813,6 @@ "node": ">=8" } }, - "node_modules/dev-ip": { - "version": "1.0.1", - "dev": true, - "bin": { - "dev-ip": "lib/dev-ip.js" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/devtools-protocol": { "version": "0.0.1495869", "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1495869.tgz", @@ -13562,16 +13078,6 @@ "dev": true, "license": "MIT" }, - "node_modules/easy-extender": { - "version": "2.3.4", - "dev": true, - "dependencies": { - "lodash": "^4.17.10" - }, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/easy-transform-stream": { "version": "1.0.1", "dev": true, @@ -13583,47 +13089,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eazy-logger": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-4.1.0.tgz", - "integrity": "sha512-+mn7lRm+Zf1UT/YaH8WXtpU6PIV2iOjzP6jgKoiaq/VNrjYKp+OHZGe2znaLgDeFkw8cL9ffuaUm+nNnzcYyGw==", - "dev": true, - "dependencies": { - "chalk": "4.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eazy-logger/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eazy-logger/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", "license": "Apache-2.0", @@ -13720,117 +13185,6 @@ "once": "^1.4.0" } }, - "node_modules/engine.io": { - "version": "6.6.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.7.2", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.17.1" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/engine.io-client": { - "version": "6.6.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.17.1", - "xmlhttprequest-ssl": "~2.1.1" - } - }, - "node_modules/engine.io-client/node_modules/debug": { - "version": "4.3.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/engine.io-client/node_modules/ws": { - "version": "8.17.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/engine.io-parser": { - "version": "5.2.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io/node_modules/debug": { - "version": "4.3.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/engine.io/node_modules/ws": { - "version": "8.17.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/entities": { "version": "6.0.0", "dev": true, @@ -14947,11 +14301,6 @@ "node": ">= 8" } }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "dev": true, - "license": "MIT" - }, "node_modules/exec-buffer": { "version": "3.2.0", "dev": true, @@ -16432,14 +15781,6 @@ "node": ">=8.0.0" } }, - "node_modules/get-port": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/get-proto": { "version": "1.0.1", "license": "MIT", @@ -16899,273 +16240,4250 @@ "url-to-options": "^1.0.1" }, "engines": { - "node": ">=4" + "node": ">=4" + } + }, + "node_modules/got/node_modules/get-stream": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/got/node_modules/is-stream": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/govuk-frontend": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-5.12.0.tgz", + "integrity": "sha512-gNr/UVDoORVOqVKTC9i9HOKKPeM4IDTAqtnd3t6U8LQibEr+8Q+FB7Id0u/MfR/5mqPfenG/+VGLW96vJXok/g==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 4.2.0" + } + }, + "node_modules/govuk-prototype-kit": { + "version": "13.18.1", + "resolved": "https://registry.npmjs.org/govuk-prototype-kit/-/govuk-prototype-kit-13.18.1.tgz", + "integrity": "sha512-RvuJZs+S1J/JbtGQgqyyo9xd9hDJFJAZ6tieDHrXehadRgbgmZXJytlOlV1zcz5F92L3kJdNva09rTvh51On4g==", + "dev": true, + "hasShrinkwrap": true, + "dependencies": { + "@inquirer/confirm": "^5.1.15", + "ansi-colors": "^4.1.3", + "body-parser": "^1.20.2", + "browser-sync": "^3.0.2", + "chokidar": "^3.6.0", + "cookie-parser": "^1.4.6", + "cross-spawn": "^7.0.3", + "csrf-csrf": "^2.3.0", + "del": "^6.1.1", + "dotenv": "^16.4.5", + "express": "^4.18.2", + "express-session": "^1.18.0", + "fs-extra": "^11.2.0", + "govuk-frontend": "5.11.0", + "lodash": "^4.17.21", + "marked": "^4.3.0", + "nodemon": "^3.0.3", + "nunjucks": "^3.2.4", + "portscanner": "^2.2.0", + "require-dir": "^1.2.0", + "sass": "^1.89.2", + "semver": "^7.7.2", + "sync-request": "^6.1.0", + "tar-stream": "^3.1.7", + "universal-analytics": "^0.5.3", + "uuid": "^9.0.1" + }, + "bin": { + "govuk-prototype-kit": "bin/cli" + }, + "engines": { + "node": "^16.x || ^18.x || >= 20.x" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@inquirer/confirm": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.15.tgz", + "integrity": "sha512-SwHMGa8Z47LawQN0rog0sT+6JpiL0B7eW9p1Bb7iCeKDGTI5Ez25TSc2l8kw52VV7hA4sX/C78CGkMrKXfuspA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/govuk-prototype-kit/node_modules/@inquirer/core": { + "version": "10.1.15", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.15.tgz", + "integrity": "sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/govuk-prototype-kit/node_modules/@inquirer/core/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@inquirer/core/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@inquirer/figures": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.13.tgz", + "integrity": "sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@inquirer/type": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.8.tgz", + "integrity": "sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/govuk-prototype-kit/node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@types/cors": { + "version": "2.8.19", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha1-yayFsqX9GENbjIXZ7LUObWyJP/g=", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@types/node": { + "version": "22.17.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.17.2.tgz", + "integrity": "sha512-gL6z5N9Jm9mhY+U2KXZpteb+09zyffliRkZyZOHODGATyC5B1Jt/7TzuuiLkFsSUMLbS1OLmlj/E+/3KF4Q/4w==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/govuk-prototype-kit/node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/govuk-prototype-kit/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/govuk-prototype-kit/node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/async-each-series": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", + "integrity": "sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/govuk-prototype-kit/node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/govuk-prototype-kit/node_modules/body-parser/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/body-parser/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/govuk-prototype-kit/node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/browser-sync": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-3.0.4.tgz", + "integrity": "sha512-mcYOIy4BW6sWSEnTSBjQwWsnbx2btZX78ajTTjdNfyC/EqQVcIe0nQR6894RNAMtvlfAnLaH9L2ka97zpvgenA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "browser-sync-client": "^3.0.4", + "browser-sync-ui": "^3.0.4", + "bs-recipes": "1.3.4", + "chalk": "4.1.2", + "chokidar": "^3.5.1", + "connect": "3.6.6", + "connect-history-api-fallback": "^1", + "dev-ip": "^1.0.1", + "easy-extender": "^2.3.4", + "eazy-logger": "^4.1.0", + "etag": "^1.8.1", + "fresh": "^0.5.2", + "fs-extra": "3.0.1", + "http-proxy": "^1.18.1", + "immutable": "^3", + "micromatch": "^4.0.8", + "opn": "5.3.0", + "portscanner": "2.2.0", + "raw-body": "^2.3.2", + "resp-modifier": "6.0.2", + "rx": "4.1.0", + "send": "^0.19.0", + "serve-index": "^1.9.1", + "serve-static": "^1.16.2", + "server-destroy": "1.0.1", + "socket.io": "^4.4.1", + "ua-parser-js": "^1.0.33", + "yargs": "^17.3.1" + }, + "bin": { + "browser-sync": "dist/bin.js" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/browser-sync-client": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-3.0.4.tgz", + "integrity": "sha512-+ew5ubXzGRKVjquBL3u6najS40TG7GxCdyBll0qSRc/n+JRV9gb/yDdRL1IAgRHqjnJTdqeBKKIQabjvjRSYRQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "etag": "1.8.1", + "fresh": "0.5.2", + "mitt": "^1.1.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/browser-sync-ui": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-3.0.4.tgz", + "integrity": "sha512-5Po3YARCZ/8yQHFzvrSjn8+hBUF7ZWac39SHsy8Tls+7tE62iq6pYWxpVU6aOOMAGD21RwFQhQeqmJPf70kHEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "async-each-series": "0.1.1", + "chalk": "4.1.2", + "connect-history-api-fallback": "^1", + "immutable": "^3", + "server-destroy": "1.0.1", + "socket.io-client": "^4.4.1", + "stream-throttle": "^0.1.3" + } + }, + "node_modules/govuk-prototype-kit/node_modules/browser-sync/node_modules/fs-extra": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", + "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^3.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/browser-sync/node_modules/jsonfile": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", + "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/bs-recipes": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz", + "integrity": "sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/govuk-prototype-kit/node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/govuk-prototype-kit/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/govuk-prototype-kit/node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/govuk-prototype-kit/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/govuk-prototype-kit/node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/connect": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", + "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.0", + "parseurl": "~1.3.2", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/govuk-prototype-kit/node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/cookie-parser": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.7.tgz", + "integrity": "sha512-nGUvgXnotP3BsjiLX2ypbQnWoGUPIIfHQNZkkC668ntrzGWEZVW70HDEB1qnNGMicPje6EttlIgzo51YSwNQGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cookie": "0.7.2", + "cookie-signature": "1.0.6" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/govuk-prototype-kit/node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/csrf-csrf": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/csrf-csrf/-/csrf-csrf-2.3.0.tgz", + "integrity": "sha512-bUVpFobukoKdE2h0VNTgRmPelVnsGcnVavUOCYLFBnl6ss98bW7hPFWsQyuHMVdYK2NGRlQvthUEb4iX5nUb1w==", + "dev": true, + "dependencies": { + "http-errors": "^2.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "dev": true, + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/govuk-prototype-kit/node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/govuk-prototype-kit/node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/govuk-prototype-kit/node_modules/dev-ip": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", + "integrity": "sha1-p2o+0YVb56ASu4rBbLgPPADcKPA=", + "dev": true, + "bin": { + "dev-ip": "lib/dev-ip.js" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/govuk-prototype-kit/node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/easy-extender": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz", + "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==", + "dev": true, + "dependencies": { + "lodash": "^4.17.10" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/eazy-logger": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-4.1.0.tgz", + "integrity": "sha512-+mn7lRm+Zf1UT/YaH8WXtpU6PIV2iOjzP6jgKoiaq/VNrjYKp+OHZGe2znaLgDeFkw8cL9ffuaUm+nNnzcYyGw==", + "dev": true, + "dependencies": { + "chalk": "4.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/engine.io": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", + "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.7.2", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/engine.io-client": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.3.tgz", + "integrity": "sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1", + "xmlhttprequest-ssl": "~2.1.1" + } + }, + "node_modules/govuk-prototype-kit/node_modules/engine.io-client/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/govuk-prototype-kit/node_modules/engine.io-client/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/govuk-prototype-kit/node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/engine.io/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/govuk-prototype-kit/node_modules/engine.io/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/govuk-prototype-kit/node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/express": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/govuk-prototype-kit/node_modules/express-session": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.18.2.tgz", + "integrity": "sha512-SZjssGQC7TzTs9rpPDuUrR23GNZ9+2+IkA/+IJWmvQilTr5OSliEHGF+D9scbIpdC6yGtTI0/VhaHoVes2AN/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "cookie": "0.7.2", + "cookie-signature": "1.0.7", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-headers": "~1.1.0", + "parseurl": "~1.3.3", + "safe-buffer": "5.2.1", + "uid-safe": "~2.1.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/express-session/node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/express-session/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/express-session/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/govuk-prototype-kit/node_modules/express/node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/express/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/express/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/express/node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/express/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/govuk-prototype-kit/node_modules/express/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/govuk-prototype-kit/node_modules/express/node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/express/node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/fast-fifo": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.2.0.tgz", + "integrity": "sha512-NcvQXt7Cky1cNau15FWy64IjuO8X0JijhTBBrJj1YlxlDfRkJXNaK9RFUjwpfDPzMdv7wB38jr53l9tkNLxnWg==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/finalhandler/node_modules/statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/govuk-prototype-kit/node_modules/form-data": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz", + "integrity": "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.35", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/govuk-prototype-kit/node_modules/form-data/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/govuk-prototype-kit/node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/govuk-prototype-kit/node_modules/fs-extra/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/govuk-prototype-kit/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/govuk-prototype-kit/node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/govuk-prototype-kit/node_modules/get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/govuk-prototype-kit/node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/govuk-prototype-kit/node_modules/govuk-frontend": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-5.11.0.tgz", + "integrity": "sha512-RYZDEF1J6nVw5XauQGH+91qplExgHUXfXII7dtIme6I4u3eSvU59yZ0/EFKEwRgTslSqlhJODOnAi5rnQFU5Gw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.2.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/govuk-prototype-kit/node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/govuk-prototype-kit/node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/http-basic": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "dev": true, + "dependencies": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/http-errors/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/http-errors/node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/http-response-object": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "dev": true, + "dependencies": { + "@types/node": "^10.0.3" + } + }, + "node_modules/govuk-prototype-kit/node_modules/http-response-object/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/govuk-prototype-kit/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/govuk-prototype-kit/node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/is-number-like": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", + "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", + "dev": true, + "dependencies": { + "lodash.isfinite": "^3.3.2" + } + }, + "node_modules/govuk-prototype-kit/node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/jsonfile/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/limiter": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", + "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/lodash.isfinite": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", + "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/govuk-prototype-kit/node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/govuk-prototype-kit/node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/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/govuk-prototype-kit/node_modules/mitt": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", + "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==", + "dev": true, + "license": "MIT" + }, + "node_modules/govuk-prototype-kit/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/govuk-prototype-kit/node_modules/nodemon": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.3.tgz", + "integrity": "sha512-7jH/NXbFPxVaMwmBCC2B9F/V6X1VkEdNgx3iu9jji8WxWcvhMWkmhNWhI5077zknOnZnBzba9hZP6bCPJLSReQ==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^4", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/govuk-prototype-kit/node_modules/nodemon/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/govuk-prototype-kit/node_modules/nodemon/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/nodemon/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/govuk-prototype-kit/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/nunjucks": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz", + "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==", + "dev": true, + "dependencies": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "commander": "^5.1.0" + }, + "bin": { + "nunjucks-precompile": "bin/precompile" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "chokidar": "^3.3.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/govuk-prototype-kit/node_modules/nunjucks/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/govuk-prototype-kit/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/govuk-prototype-kit/node_modules/opn": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "dev": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/govuk-prototype-kit/node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/govuk-prototype-kit/node_modules/parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/govuk-prototype-kit/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/govuk-prototype-kit/node_modules/portscanner": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", + "integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==", + "dev": true, + "dependencies": { + "async": "^2.6.0", + "is-number-like": "^1.0.3" + }, + "engines": { + "node": ">=0.4", + "npm": ">=1.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/portscanner/node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/govuk-prototype-kit/node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/promise": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", + "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", + "dev": true, + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/govuk-prototype-kit/node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/govuk-prototype-kit/node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/govuk-prototype-kit/node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/govuk-prototype-kit/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/require-dir": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/require-dir/-/require-dir-1.2.0.tgz", + "integrity": "sha512-LY85DTSu+heYgDqq/mK+7zFHWkttVNRXC9NKcKGyuGLdlsfbjEPrIEYdCVrx6hqnJb+xSu3Lzaoo8VnmOhhjNA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/govuk-prototype-kit/node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/resp-modifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", + "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=", + "dev": true, + "dependencies": { + "debug": "^2.2.0", + "minimatch": "^3.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/govuk-prototype-kit/node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/govuk-prototype-kit/node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/govuk-prototype-kit/node_modules/rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/sass": { + "version": "1.89.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.89.2.tgz", + "integrity": "sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/govuk-prototype-kit/node_modules/sass/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/govuk-prototype-kit/node_modules/sass/node_modules/immutable": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz", + "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==", + "dev": true, + "license": "MIT" + }, + "node_modules/govuk-prototype-kit/node_modules/sass/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/govuk-prototype-kit/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/govuk-prototype-kit/node_modules/send": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.1.tgz", + "integrity": "sha512-p4rRk4f23ynFEfcD9LA0xRYngj+IyGiEYyqqOak8kaN0TvNmuxC2dcVeBn62GpCeR2CpWqyHCNScTP91QbAVFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/send/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/govuk-prototype-kit/node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/serve-static/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/serve-static/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/serve-static/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/govuk-prototype-kit/node_modules/serve-static/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/serve-static/node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/serve-static/node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/serve-static/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/server-destroy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", + "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/govuk-prototype-kit/node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/govuk-prototype-kit/node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/govuk-prototype-kit/node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/govuk-prototype-kit/node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/govuk-prototype-kit/node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/govuk-prototype-kit/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/socket.io": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", + "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.6.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/socket.io-adapter": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", + "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "~4.3.4", + "ws": "~8.17.1" + } + }, + "node_modules/govuk-prototype-kit/node_modules/socket.io-adapter/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/govuk-prototype-kit/node_modules/socket.io-adapter/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/govuk-prototype-kit/node_modules/socket.io-client": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz", + "integrity": "sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.6.1", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/socket.io-client/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/govuk-prototype-kit/node_modules/socket.io-client/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/govuk-prototype-kit/node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "dev": true, + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/socket.io-parser/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/govuk-prototype-kit/node_modules/socket.io-parser/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/socket.io/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/govuk-prototype-kit/node_modules/socket.io/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/govuk-prototype-kit/node_modules/stream-throttle": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", + "integrity": "sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "commander": "^2.2.0", + "limiter": "^1.0.5" + }, + "bin": { + "throttleproxy": "bin/throttleproxy.js" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/streamx": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.0.tgz", + "integrity": "sha512-HcxY6ncGjjklGs1xsP1aR71INYcsXFJet5CU1CHqihQ2J5nOsbd4OjgjHO42w/4QNv9gZb3BueV+Vxok5pLEXg==", + "dev": true, + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, + "node_modules/govuk-prototype-kit/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/supports-color/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/sync-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "dev": true, + "dependencies": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/sync-rpc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "dev": true, + "dependencies": { + "get-port": "^3.1.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "dev": true, + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/govuk-prototype-kit/node_modules/then-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "dev": true, + "dependencies": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/got/node_modules/get-stream": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } + "node_modules/govuk-prototype-kit/node_modules/then-request/node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", + "dev": true }, - "node_modules/got/node_modules/is-stream": { - "version": "1.1.0", + "node_modules/govuk-prototype-kit/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "license": "MIT", - "optional": true, + "dependencies": { + "is-number": "^7.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0" } }, - "node_modules/govuk-frontend": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-5.12.0.tgz", - "integrity": "sha512-gNr/UVDoORVOqVKTC9i9HOKKPeM4IDTAqtnd3t6U8LQibEr+8Q+FB7Id0u/MfR/5mqPfenG/+VGLW96vJXok/g==", - "license": "MIT", - "peer": true, + "node_modules/govuk-prototype-kit/node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, "engines": { - "node": ">= 4.2.0" + "node": ">=0.6" } }, - "node_modules/govuk-prototype-kit": { - "version": "13.16.2", + "node_modules/govuk-prototype-kit/node_modules/touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", "dev": true, "dependencies": { - "ansi-colors": "^4.1.3", - "body-parser": "^1.20.2", - "browser-sync": "^3.0.2", - "chokidar": "^3.6.0", - "cookie-parser": "^1.4.6", - "cross-spawn": "^7.0.3", - "csrf-csrf": "^2.3.0", - "del": "^6.1.1", - "dotenv": "^16.4.5", - "express": "^4.18.2", - "express-session": "^1.18.0", - "fs-extra": "^11.2.0", - "govuk-frontend": "5.2.0", - "inquirer": "^8.2.6", - "lodash": "^4.17.21", - "marked": "^4.3.0", - "nodemon": "^3.0.3", - "nunjucks": "^3.2.4", - "portscanner": "^2.2.0", - "require-dir": "^1.2.0", - "sass": "^1.71.1", - "sync-request": "^6.1.0", - "tar-stream": "^3.1.7", - "universal-analytics": "^0.5.3", - "uuid": "^9.0.1" + "nopt": "~1.0.10" }, "bin": { - "govuk-prototype-kit": "bin/cli" - }, - "engines": { - "node": "^16.x || ^18.x || >= 20.x" + "nodetouch": "bin/nodetouch.js" } }, - "node_modules/govuk-prototype-kit/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/govuk-prototype-kit/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 0.6" } }, - "node_modules/govuk-prototype-kit/node_modules/array-union": { - "version": "2.1.0", + "node_modules/govuk-prototype-kit/node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/ua-parser-js": { + "version": "1.0.35", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", + "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", "dev": true, - "license": "MIT", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/govuk-prototype-kit/node_modules/chalk": { - "version": "4.1.2", + "node_modules/govuk-prototype-kit/node_modules/uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "random-bytes": "~1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/govuk-prototype-kit/node_modules/universal-analytics": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.5.3.tgz", + "integrity": "sha512-HXSMyIcf2XTvwZ6ZZQLfxfViRm/yTGoRgDeTbojtq6rezeyKB0sTBcKH2fhddnteAHRcHiKgr/ACpbgjGOC6RQ==", + "dev": true, + "dependencies": { + "debug": "^4.3.1", + "uuid": "^8.0.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "engines": { + "node": ">=12.18.2" } }, - "node_modules/govuk-prototype-kit/node_modules/del": { - "version": "6.1.1", + "node_modules/govuk-prototype-kit/node_modules/universal-analytics/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, - "license": "MIT", "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" + "ms": "2.1.2" }, "engines": { - "node": ">=10" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/govuk-prototype-kit/node_modules/dotenv": { - "version": "16.6.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", - "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "node_modules/govuk-prototype-kit/node_modules/universal-analytics/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/universal-analytics/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/govuk-prototype-kit/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "license": "BSD-2-Clause", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" + "node": ">= 4.0.0" } }, - "node_modules/govuk-prototype-kit/node_modules/glob": { - "version": "7.2.3", + "node_modules/govuk-prototype-kit/node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 0.8" } }, - "node_modules/govuk-prototype-kit/node_modules/globby": { - "version": "11.1.0", + "node_modules/govuk-prototype-kit/node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.4.0" } }, - "node_modules/govuk-prototype-kit/node_modules/govuk-frontend": { - "version": "5.2.0", + "node_modules/govuk-prototype-kit/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/govuk-prototype-kit/node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true, - "license": "MIT", "engines": { - "node": ">= 4.2.0" + "node": ">= 0.8" } }, - "node_modules/govuk-prototype-kit/node_modules/inquirer": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.7.tgz", - "integrity": "sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA==", + "node_modules/govuk-prototype-kit/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "MIT", "dependencies": { - "@inquirer/external-editor": "^1.0.0", - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/govuk-prototype-kit/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^6.0.1" + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=12.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/govuk-prototype-kit/node_modules/is-path-cwd": { - "version": "2.2.0", + "node_modules/govuk-prototype-kit/node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/govuk-prototype-kit/node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/govuk-prototype-kit/node_modules/is-path-inside": { - "version": "3.0.3", + "node_modules/govuk-prototype-kit/node_modules/xmlhttprequest-ssl": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz", + "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.4.0" } }, - "node_modules/govuk-prototype-kit/node_modules/p-map": { - "version": "4.0.0", + "node_modules/govuk-prototype-kit/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/govuk-prototype-kit/node_modules/rimraf": { - "version": "3.0.2", + "node_modules/govuk-prototype-kit/node_modules/yargs": { + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.0.tgz", + "integrity": "sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA==", "dev": true, - "license": "ISC", "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=12" } }, - "node_modules/govuk-prototype-kit/node_modules/wrap-ansi": { - "version": "6.2.0", + "node_modules/govuk-prototype-kit/node_modules/yargs/node_modules/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/govuk-prototype-kit/node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/graceful-fs": { @@ -17954,20 +21272,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/http-basic": { - "version": "8.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/http-cache-semantics": { "version": "3.8.1", "dev": true, @@ -17996,19 +21300,6 @@ "node": ">= 0.8" } }, - "node_modules/http-proxy": { - "version": "1.18.1", - "dev": true, - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/http-proxy-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", @@ -18033,19 +21324,6 @@ "node": ">= 14" } }, - "node_modules/http-response-object": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "^10.0.3" - } - }, - "node_modules/http-response-object/node_modules/@types/node": { - "version": "10.17.60", - "dev": true, - "license": "MIT" - }, "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", @@ -18440,14 +21718,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/immutable": { - "version": "3.8.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/import-fresh": { "version": "3.3.1", "dev": true, @@ -19149,14 +22419,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-number-like": { - "version": "1.0.8", - "dev": true, - "license": "ISC", - "dependencies": { - "lodash.isfinite": "^3.3.2" - } - }, "node_modules/is-number-object": { "version": "1.1.1", "dev": true, @@ -19461,14 +22723,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-wsl": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/isarray": { "version": "2.0.5", "dev": true, @@ -23824,10 +27078,6 @@ "url": "https://github.com/sponsors/antonk52" } }, - "node_modules/limiter": { - "version": "1.1.5", - "dev": true - }, "node_modules/lines-and-columns": { "version": "1.2.4", "dev": true, @@ -23974,11 +27224,6 @@ "version": "3.0.3", "license": "MIT" }, - "node_modules/lodash.isfinite": { - "version": "3.3.2", - "dev": true, - "license": "MIT" - }, "node_modules/lodash.isinteger": { "version": "4.0.4", "license": "MIT" @@ -24556,11 +27801,6 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/mitt": { - "version": "1.2.0", - "dev": true, - "license": "MIT" - }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -27993,17 +31233,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/opn": { - "version": "5.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/optionator": { "version": "0.9.4", "dev": true, @@ -28444,10 +31673,6 @@ "node": ">=6" } }, - "node_modules/parse-cache-control": { - "version": "1.0.1", - "dev": true - }, "node_modules/parse-entities": { "version": "2.0.0", "dev": true, @@ -29022,19 +32247,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/portscanner": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "async": "^2.6.0", - "is-number-like": "^1.0.3" - }, - "engines": { - "node": ">=0.4", - "npm": ">=1.0.0" - } - }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "dev": true, @@ -30398,11 +33610,6 @@ "node": ">=0.10.5" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/reserved-identifiers": { "version": "1.0.0", "dev": true, @@ -30482,30 +33689,6 @@ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, - "node_modules/resp-modifier": { - "version": "6.0.2", - "dev": true, - "dependencies": { - "debug": "^2.2.0", - "minimatch": "^3.0.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/resp-modifier/node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/resp-modifier/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/responselike": { "version": "1.0.2", "dev": true, @@ -30640,11 +33823,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rx": { - "version": "4.1.0", - "dev": true, - "license": "Apache-2.0" - }, "node_modules/rxjs": { "version": "7.8.2", "dev": true, @@ -30837,6 +34015,7 @@ "integrity": "sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", @@ -31227,6 +34406,7 @@ "version": "4.0.3", "dev": true, "license": "MIT", + "optional": true, "dependencies": { "readdirp": "^4.0.1" }, @@ -31240,12 +34420,14 @@ "node_modules/sass/node_modules/immutable": { "version": "5.0.3", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/sass/node_modules/readdirp": { "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, "engines": { "node": ">= 14.18.0" }, @@ -31824,76 +35006,6 @@ "randombytes": "^2.1.0" } }, - "node_modules/serve-index": { - "version": "1.9.1", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "dev": true, - "license": "ISC" - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "dev": true, - "license": "ISC" - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/serve-static": { "version": "1.16.2", "license": "MIT", @@ -31957,11 +35069,6 @@ "node": ">= 0.8" } }, - "node_modules/server-destroy": { - "version": "1.0.1", - "dev": true, - "license": "ISC" - }, "node_modules/set-function-length": { "version": "1.2.2", "dev": true, @@ -32305,142 +35412,6 @@ "dev": true, "license": "MIT" }, - "node_modules/socket.io": { - "version": "4.8.1", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "cors": "~2.8.5", - "debug": "~4.3.2", - "engine.io": "~6.6.0", - "socket.io-adapter": "~2.5.2", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.5.5", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "~4.3.4", - "ws": "~8.17.1" - } - }, - "node_modules/socket.io-adapter/node_modules/debug": { - "version": "4.3.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io-adapter/node_modules/ws": { - "version": "8.17.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/socket.io-client": { - "version": "4.8.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.2", - "engine.io-client": "~6.6.1", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-client/node_modules/debug": { - "version": "4.3.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io-parser": { - "version": "4.2.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.3.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io/node_modules/debug": { - "version": "4.3.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/socks": { "version": "2.8.4", "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", @@ -32738,26 +35709,6 @@ "dev": true, "license": "MIT" }, - "node_modules/stream-throttle": { - "version": "0.1.3", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "commander": "^2.2.0", - "limiter": "^1.0.5" - }, - "bin": { - "throttleproxy": "bin/throttleproxy.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/stream-throttle/node_modules/commander": { - "version": "2.20.3", - "dev": true, - "license": "MIT" - }, "node_modules/streamfilter": { "version": "3.0.0", "dev": true, @@ -33661,27 +36612,6 @@ "node": ">=16.0.0" } }, - "node_modules/sync-request": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/sync-rpc": { - "version": "1.3.6", - "dev": true, - "license": "MIT", - "dependencies": { - "get-port": "^3.1.0" - } - }, "node_modules/synckit": { "version": "0.11.11", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz", @@ -33917,58 +36847,6 @@ "dev": true, "license": "MIT" }, - "node_modules/then-request": { - "version": "6.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/then-request/node_modules/@types/node": { - "version": "8.10.66", - "dev": true, - "license": "MIT" - }, - "node_modules/then-request/node_modules/form-data": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz", - "integrity": "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.35", - "safe-buffer": "^5.2.1" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/then-request/node_modules/promise": { - "version": "8.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "asap": "~2.0.6" - } - }, "node_modules/thenify": { "version": "3.3.1", "dev": true, @@ -34419,31 +37297,6 @@ "node": ">=14.17" } }, - "node_modules/ua-parser-js": { - "version": "1.0.40", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "license": "MIT", - "bin": { - "ua-parser-js": "script/cli.js" - }, - "engines": { - "node": "*" - } - }, "node_modules/uc.micro": { "version": "2.1.0", "dev": true, @@ -34637,26 +37490,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/universal-analytics": { - "version": "0.5.3", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.1", - "uuid": "^8.0.0" - }, - "engines": { - "node": ">=12.18.2" - } - }, - "node_modules/universal-analytics/node_modules/uuid": { - "version": "8.3.2", - "dev": true, - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/universal-user-agent": { "version": "7.0.2", "dev": true, @@ -34809,18 +37642,6 @@ "node": ">= 0.4.0" } }, - "node_modules/uuid": { - "version": "9.0.1", - "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/v8-to-istanbul": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", @@ -35439,13 +38260,6 @@ "dev": true, "license": "MIT" }, - "node_modules/xmlhttprequest-ssl": { - "version": "2.1.2", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/xtend": { "version": "4.0.2", "license": "MIT", diff --git a/package.json b/package.json index 8a48cb63b..784642218 100644 --- a/package.json +++ b/package.json @@ -139,7 +139,7 @@ "eslint-plugin-n": "^16.6.2", "eslint-plugin-promise": "^6.6.0", "glob": "^11.0.3", - "govuk-prototype-kit": "^13.16.2", + "govuk-prototype-kit": "^13.18.0", "gray-matter": "^4.0.3", "gulp": "^5.0.1", "gulp-cache": "^1.1.3", From 0b063cfb549c5667607d358dfb8be32f11a3c503 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 11:27:42 +0100 Subject: [PATCH 14/28] build(deps): update dependency sass-embedded-linux-x64 to ^1.92.1 (#1816) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 58bd2606d..0bc9ec57d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -132,7 +132,7 @@ }, "optionalDependencies": { "@rollup/rollup-linux-x64-gnu": "^4.50.2", - "sass-embedded-linux-x64": "^1.87.0" + "sass-embedded-linux-x64": "^1.92.1" } }, "node_modules/@11ty/dependency-tree": { diff --git a/package.json b/package.json index 784642218..e29d2fc9f 100644 --- a/package.json +++ b/package.json @@ -189,6 +189,6 @@ }, "optionalDependencies": { "@rollup/rollup-linux-x64-gnu": "^4.50.2", - "sass-embedded-linux-x64": "^1.87.0" + "sass-embedded-linux-x64": "^1.92.1" } } From 1cf93775accca8c80e8fa30442aff6bafbeaf1a8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 11:29:08 +0100 Subject: [PATCH 15/28] build(deps): update dependency @11ty/eleventy to ^3.1.2 (#1800) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 47 ++++++++++++++++++++++++++++++++--------------- package.json | 2 +- 2 files changed, 33 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0bc9ec57d..10acb65ea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,7 +33,7 @@ "sanitize-html": "^2.17.0" }, "devDependencies": { - "@11ty/eleventy": "^3.1.0", + "@11ty/eleventy": "^3.1.2", "@11ty/eleventy-navigation": "^1.0.4", "@babel/core": "^7.28.4", "@babel/preset-env": "^7.28.3", @@ -155,7 +155,9 @@ } }, "node_modules/@11ty/eleventy": { - "version": "3.1.0", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@11ty/eleventy/-/eleventy-3.1.2.tgz", + "integrity": "sha512-IcsDlbXnBf8cHzbM1YBv3JcTyLB35EK88QexmVyFdVJVgUU6bh9g687rpxryJirHzo06PuwnYaEEdVZQfIgRGg==", "dev": true, "license": "MIT", "dependencies": { @@ -166,19 +168,19 @@ "@11ty/eleventy-utils": "^2.0.7", "@11ty/lodash-custom": "^4.17.21", "@11ty/posthtml-urls": "^1.0.1", - "@11ty/recursive-copy": "^4.0.1", + "@11ty/recursive-copy": "^4.0.2", "@sindresorhus/slugify": "^2.2.1", "bcp-47-normalize": "^2.3.0", "chokidar": "^3.6.0", - "debug": "^4.4.0", + "debug": "^4.4.1", "dependency-graph": "^1.0.0", - "entities": "^6.0.0", + "entities": "^6.0.1", "filesize": "^10.1.6", "gray-matter": "^4.0.3", "iso-639-1": "^3.1.5", "js-yaml": "^4.1.0", "kleur": "^4.1.5", - "liquidjs": "^10.21.0", + "liquidjs": "^10.21.1", "luxon": "^3.6.1", "markdown-it": "^14.1.0", "minimist": "^1.2.8", @@ -191,7 +193,7 @@ "posthtml-match-helper": "^2.0.3", "semver": "^7.7.2", "slugify": "^1.6.6", - "tinyglobby": "^0.2.13" + "tinyglobby": "^0.2.14" }, "bin": { "eleventy": "cmd.cjs" @@ -303,7 +305,9 @@ } }, "node_modules/@11ty/recursive-copy": { - "version": "4.0.1", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@11ty/recursive-copy/-/recursive-copy-4.0.2.tgz", + "integrity": "sha512-174nFXxL/6KcYbLYpra+q3nDbfKxLxRTNVY1atq2M1pYYiPfHse++3IFNl8mjPFsd7y2qQjxLORzIjHMjL3NDQ==", "dev": true, "license": "ISC", "dependencies": { @@ -13186,7 +13190,9 @@ } }, "node_modules/entities": { - "version": "6.0.0", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -15123,9 +15129,14 @@ } }, "node_modules/fdir": { - "version": "6.4.4", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, "peerDependencies": { "picomatch": "^3 || ^4" }, @@ -27092,7 +27103,9 @@ } }, "node_modules/liquidjs": { - "version": "10.21.0", + "version": "10.21.1", + "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.21.1.tgz", + "integrity": "sha512-NZXmCwv3RG5nire3fmIn9HsOyJX3vo+ptp0yaXUHAMzSNBhx74Hm+dAGJvscUA6lNqbLuYfXgNavRQ9UbUJhQQ==", "dev": true, "license": "MIT", "dependencies": { @@ -31964,7 +31977,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.2", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "engines": { @@ -36913,12 +36928,14 @@ "license": "MIT" }, "node_modules/tinyglobby": { - "version": "0.2.13", + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, "license": "MIT", "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" + "fdir": "^6.5.0", + "picomatch": "^4.0.3" }, "engines": { "node": ">=12.0.0" diff --git a/package.json b/package.json index e29d2fc9f..ffcb6cfc5 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "sanitize-html": "^2.17.0" }, "devDependencies": { - "@11ty/eleventy": "^3.1.0", + "@11ty/eleventy": "^3.1.2", "@11ty/eleventy-navigation": "^1.0.4", "@babel/core": "^7.28.4", "@babel/preset-env": "^7.28.3", From e5691d83726d190d775b04d1121020a8cdcbd303 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 22:12:59 +0100 Subject: [PATCH 16/28] build(deps): update dependency typescript to ^5.9.2 (#1821) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 6 ++++-- package.json | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 10acb65ea..e94561b4e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -128,7 +128,7 @@ "supertest": "^7.1.4", "terser": "^5.44.0", "typed-query-selector": "^2.12.0", - "typescript": "^5.8.3" + "typescript": "^5.9.2" }, "optionalDependencies": { "@rollup/rollup-linux-x64-gnu": "^4.50.2", @@ -37302,7 +37302,9 @@ "license": "MIT" }, "node_modules/typescript": { - "version": "5.8.3", + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", + "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", "dev": true, "license": "Apache-2.0", "peer": true, diff --git a/package.json b/package.json index ffcb6cfc5..57a7c33f8 100644 --- a/package.json +++ b/package.json @@ -180,7 +180,7 @@ "supertest": "^7.1.4", "terser": "^5.44.0", "typed-query-selector": "^2.12.0", - "typescript": "^5.8.3" + "typescript": "^5.9.2" }, "config": { "commitizen": { From 26ad7ca0e09c4499db1b99a585239b33282b6570 Mon Sep 17 00:00:00 2001 From: Chris Pymm Date: Fri, 26 Sep 2025 09:20:52 +0100 Subject: [PATCH 17/28] fix(types): update initAll signature to match types expected by GOVUKFrontend.createAll() (#1819) --- package-lock.json | 53 +++++++---------------------------------------- src/moj/all.mjs | 24 ++++++++++++++------- 2 files changed, 24 insertions(+), 53 deletions(-) diff --git a/package-lock.json b/package-lock.json index e94561b4e..c807ad585 100644 --- a/package-lock.json +++ b/package-lock.json @@ -372,7 +372,6 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", @@ -2335,7 +2334,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" }, @@ -2359,7 +2357,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" } @@ -5259,7 +5256,6 @@ "version": "6.1.4", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@octokit/auth-token": "^5.0.0", "@octokit/graphql": "^8.1.2", @@ -5390,7 +5386,6 @@ "node_modules/@opentelemetry/api": { "version": "1.9.0", "license": "Apache-2.0", - "peer": true, "engines": { "node": ">=8.0.0" } @@ -5408,7 +5403,6 @@ "node_modules/@opentelemetry/context-async-hooks": { "version": "1.30.1", "license": "Apache-2.0", - "peer": true, "engines": { "node": ">=14" }, @@ -5419,7 +5413,6 @@ "node_modules/@opentelemetry/core": { "version": "1.30.1", "license": "Apache-2.0", - "peer": true, "dependencies": { "@opentelemetry/semantic-conventions": "1.28.0" }, @@ -5440,7 +5433,6 @@ "node_modules/@opentelemetry/instrumentation": { "version": "0.57.2", "license": "Apache-2.0", - "peer": true, "dependencies": { "@opentelemetry/api-logs": "0.57.2", "@types/shimmer": "^1.2.0", @@ -5796,7 +5788,6 @@ "node_modules/@opentelemetry/resources": { "version": "1.30.1", "license": "Apache-2.0", - "peer": true, "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/semantic-conventions": "1.28.0" @@ -5818,7 +5809,6 @@ "node_modules/@opentelemetry/sdk-trace-base": { "version": "1.30.1", "license": "Apache-2.0", - "peer": true, "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/resources": "1.30.1", @@ -5843,7 +5833,6 @@ "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.37.0.tgz", "integrity": "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA==", "license": "Apache-2.0", - "peer": true, "engines": { "node": ">=14" } @@ -7824,7 +7813,6 @@ "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -7919,7 +7907,6 @@ "version": "7.20.5", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -8044,7 +8031,9 @@ } }, "node_modules/@types/govuk-frontend": { - "version": "5.9.0", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@types/govuk-frontend/-/govuk-frontend-5.11.0.tgz", + "integrity": "sha512-XUl4XsWqUQPPf5hNlljWjtMfXiCms/ZwVfSA1w94fDW/426gXZnCjRNYR3POUEfCzjY088odIDsra7i+fD57TA==", "dev": true, "license": "MIT" }, @@ -8189,7 +8178,8 @@ "node_modules/@types/linkify-it": { "version": "5.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/markdown-it": { "version": "14.1.2", @@ -8212,7 +8202,8 @@ "node_modules/@types/mdurl": { "version": "2.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/mime": { "version": "1.3.5", @@ -8236,7 +8227,6 @@ "node_modules/@types/node": { "version": "22.15.3", "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -8479,7 +8469,6 @@ "integrity": "sha512-EHrrEsyhOhxYt8MTg4zTF+DJMuNBzWwgvvOYNj/zm1vnaD/IC5zCXFehZv94Piqa2cRFfXrTFxIvO95L7Qc/cw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.44.1", "@typescript-eslint/types": "8.44.1", @@ -9007,7 +8996,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -10622,7 +10610,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.3", "caniuse-lite": "^1.0.30001741", @@ -11833,7 +11820,6 @@ "version": "9.0.0", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", @@ -12822,8 +12808,7 @@ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1495869.tgz", "integrity": "sha512-i+bkd9UYFis40RcnkW7XrOprCujXRAHg62IVh/Ah3G8MmNXpCGt1m0dTFhSdx/AVs8XEMbdOGRwdkR1Bcta8AA==", "dev": true, - "license": "BSD-3-Clause", - "peer": true + "license": "BSD-3-Clause" }, "node_modules/dezalgo": { "version": "1.0.4", @@ -13555,7 +13540,6 @@ "version": "8.57.1", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -13736,7 +13720,6 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -13934,7 +13917,6 @@ "version": "16.6.2", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "builtins": "^5.0.1", @@ -14021,7 +14003,6 @@ "version": "6.6.0", "dev": true, "license": "ISC", - "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -14626,7 +14607,6 @@ "node_modules/express": { "version": "4.21.2", "license": "MIT", - "peer": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -16277,7 +16257,6 @@ "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-5.12.0.tgz", "integrity": "sha512-gNr/UVDoORVOqVKTC9i9HOKKPeM4IDTAqtnd3t6U8LQibEr+8Q+FB7Id0u/MfR/5mqPfenG/+VGLW96vJXok/g==", "license": "MIT", - "peer": true, "engines": { "node": ">= 4.2.0" } @@ -16814,7 +16793,6 @@ "integrity": "sha512-gL6z5N9Jm9mhY+U2KXZpteb+09zyffliRkZyZOHODGATyC5B1Jt/7TzuuiLkFsSUMLbS1OLmlj/E+/3KF4Q/4w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -20547,7 +20525,6 @@ "integrity": "sha512-PErok3DZSA5WGMd6XXV3IRNO0mlB+wW3OzhFJLEec1jSERg2j1bxJ6e5Fh6N6fn3FH2T9AP4UYNb/pYlADB9sA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "glob-watcher": "^6.0.0", "gulp-cli": "^3.1.0", @@ -21955,7 +21932,6 @@ "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.8.0.tgz", "integrity": "sha512-AUXbKn9gvo9hHKvk6LbZJQSKn/qIfkWXrnsyL9Yrf+oeXmla9Nmf6XEumOddyhM8neynpK5oAV6r9r99KBuwzA==", "license": "MIT", - "peer": true, "dependencies": { "@ioredis/commands": "1.4.0", "cluster-key-slot": "^1.1.0", @@ -22908,7 +22884,6 @@ "integrity": "sha512-Ry+p2+NLk6u8Agh5yVqELfUJvRfV51hhVBRIB5yZPY7mU0DGBmOuFG5GebZbMbm86cdQNK0fhJuDX8/1YorISQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@jest/core": "30.1.3", "@jest/types": "30.0.5", @@ -26786,7 +26761,6 @@ "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", @@ -27851,7 +27825,6 @@ "node_modules/moment": { "version": "2.30.1", "license": "MIT", - "peer": true, "engines": { "node": "*" } @@ -30777,7 +30750,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -31043,7 +31015,6 @@ "node_modules/nunjucks": { "version": "3.2.4", "license": "BSD-2-Clause", - "peer": true, "dependencies": { "a-sync-waterfall": "^1.0.0", "asap": "^2.0.3", @@ -32289,7 +32260,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -32778,7 +32748,6 @@ "version": "7.1.0", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -32868,7 +32837,6 @@ "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "posthtml-parser": "^0.11.0", "posthtml-render": "^3.0.0" @@ -33764,7 +33732,6 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.2.tgz", "integrity": "sha512-I25/2QgoROE1vYV+NQ1En9T9UFB9Cmfm2CJ83zZOlaDpvz29wGQSZXWKw7MiNXau7wYgB/T9fVIdIuEQ+KbiiA==", "license": "MIT", - "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -34530,7 +34497,6 @@ "integrity": "sha512-phCkJ6pjDi9ANdhuF5ElS10GGdAKY6R1Pvt9lT3SFhOwM4T7QZE7MLpBDbNruUx/Q3gFD92/UOFringGipRqZA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", @@ -35341,7 +35307,6 @@ "integrity": "sha512-TOgRcwFPbfGtpqvZw+hyqJDvqfapr1qUlOizROIk4bBLjlsjlB00Pg6wMFXNtJRpu+eCZuVOaLatG7M8105kAw==", "dev": true, "license": "BSD-3-Clause", - "peer": true, "dependencies": { "@sinonjs/commons": "^3.0.1", "@sinonjs/fake-timers": "^13.0.5", @@ -36059,7 +36024,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", @@ -37307,7 +37271,6 @@ "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/src/moj/all.mjs b/src/moj/all.mjs index e8e8fea02..c157b1e2b 100644 --- a/src/moj/all.mjs +++ b/src/moj/all.mjs @@ -16,9 +16,14 @@ import { SearchToggle } from './components/search-toggle/search-toggle.mjs' import { SortableTable } from './components/sortable-table/sortable-table.mjs' /** - * @param {Config} [config] + * Initialise all components + * + * Use the `data-module` attributes to find, instantiate and init all of the + * components provided as part of MOJ Frontend. + * + * @param {Config | Element | Document | null} [scopeOrConfig] */ -function initAll(config) { +function initAll(scopeOrConfig) { for (const Component of [ AddAnother, Alert, @@ -26,12 +31,12 @@ function initAll(config) { DatePicker, MultiSelect, PasswordReveal, + PdsHeader, RichTextEditor, SearchToggle, - SortableTable, - PdsHeader + SortableTable ]) { - createAll(Component, undefined, config) + createAll(Component, undefined, scopeOrConfig) } } @@ -49,14 +54,17 @@ export { MultiFileUpload, MultiSelect, PasswordReveal, + PdsHeader, RichTextEditor, SearchToggle, - SortableTable, - PdsHeader + SortableTable } /** - * @typedef {Parameters[0]} Config + * Config for all components via `initAll()` + * + * @typedef {object} Config + * @property {Element | Document | null } scope - the scope to search for components in */ /** From ea33d4d09be8c8b4f35ac33bf986e5b8f69169a7 Mon Sep 17 00:00:00 2001 From: Chris Pymm Date: Fri, 26 Sep 2025 09:46:53 +0100 Subject: [PATCH 18/28] deps(production): upgrade express to v5 (#1824) * docs: remove dependency on express-nunjucks which doesn't support express 5 * docs: update express to v5 --- app/app.js | 28 +-- app/routes/add-component.js | 8 +- package-lock.json | 473 ++++++++++++++++++------------------ package.json | 3 +- 4 files changed, 258 insertions(+), 254 deletions(-) diff --git a/app/app.js b/app/app.js index 0cbf25c1d..20b9795a3 100644 --- a/app/app.js +++ b/app/app.js @@ -28,7 +28,6 @@ const redisClient = require('./redis-client') const crypto = require('crypto') const express = require('express') -const expressNunjucks = require('express-nunjucks').default const rateLimit = require('express-rate-limit') const session = require('express-session') const RedisStore = require('connect-redis')(session) @@ -116,22 +115,23 @@ app.use(function (req, res, next) { }) // Nunjucks config -app.set('views', [ - path.join(__dirname, 'views/common'), - path.join(__dirname, 'views/community/pages'), - // path.join(__dirname, 'node_modules/@ministryofjustice/frontend'), - path.join(__dirname, '../src'), - path.join(__dirname, '../node_modules/govuk-frontend/dist') -]) - -app.set('view engine', 'njk') -const njk = expressNunjucks(app, { +const templateDirs = [ + path.join(__dirname, 'views/common/'), + path.join(__dirname, 'views/community/pages/'), + path.join(__dirname, '../src/'), + path.join(__dirname, '../node_modules/govuk-frontend/dist/') +] + +const njk = nunjucks.configure(templateDirs, { + autoescape: true, watch: isDev, - noCache: false, - loader: nunjucks.FileSystemLoader + express: app }) -njk.env.addFilter('rev', rev) +app.set('view engine', 'njk') +app.engine('njk', nunjucks.render) + +njk.addFilter('rev', rev) app.locals.env = { isDev: ENV === 'development', diff --git a/app/routes/add-component.js b/app/routes/add-component.js index e06410a6e..ce70628cc 100644 --- a/app/routes/add-component.js +++ b/app/routes/add-component.js @@ -67,10 +67,10 @@ router.get('/error', (req, res, next) => { next(error) }) -router.all('*', setCsrfToken) +router.all('{*splat}', setCsrfToken) // TODO: Why is this a get * ? Can it not just be set in the get /checkYourAnswersPath route below? -router.get('*', (req, res, next) => { +router.get('{*splat}', (req, res, next) => { if (req?.session) { if (req?.url.endsWith(checkYourAnswersPath)) { // Indicate that we've been on the check your answers page @@ -253,7 +253,7 @@ router.get('/email', (req, res) => { }) // For all following routed we must have a session in progress -router.all('*', sessionStarted) +router.all('{*splat}', sessionStarted) router.post('/start', verifyCsrf, (req, res) => { res.redirect(`${ADD_NEW_COMPONENT_ROUTE}/email`) @@ -362,7 +362,7 @@ router.get('/email/not-allowed', (req, res) => { }) // For all following routed we must have verified an email address -router.all('*', sessionVerified) +router.all('{*splat}', sessionVerified) // Remove form page router.get( diff --git a/package-lock.json b/package-lock.json index c807ad585..524be1eab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,8 +15,7 @@ "@sentry/rollup-plugin": "^3.6.1", "connect-redis": "^6.1.3", "dotenv": "^17.2.2", - "express": "^4.21.2", - "express-nunjucks": "^3.1.2", + "express": "^5.1.0", "express-rate-limit": "^7.5.1", "express-session": "^1.18.2", "express-xss-sanitizer": "^2.0.0", @@ -8981,11 +8980,25 @@ } }, "node_modules/accepts": { - "version": "1.3.8", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", "license": "MIT", "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" }, "engines": { "node": ">= 0.6" @@ -9255,10 +9268,6 @@ "node": ">=0.10.0" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "license": "MIT" - }, "node_modules/array-ify": { "version": "1.0.0", "dev": true, @@ -10528,37 +10537,71 @@ } }, "node_modules/body-parser": { - "version": "1.20.3", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=18" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "license": "MIT", "dependencies": { - "ms": "2.0.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" + "node_modules/body-parser/node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/body-parser/node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } }, "node_modules/boolbase": { "version": "1.0.0", @@ -10728,6 +10771,8 @@ }, "node_modules/bytes": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -11647,7 +11692,9 @@ }, "node_modules/content-disposition": { "version": "0.5.4", + "dev": true, "license": "MIT", + "optional": true, "dependencies": { "safe-buffer": "5.2.1" }, @@ -11657,6 +11704,8 @@ }, "node_modules/content-type": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -11765,8 +11814,13 @@ } }, "node_modules/cookie-signature": { - "version": "1.0.6", - "license": "MIT" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } }, "node_modules/cookiejar": { "version": "2.1.4", @@ -12757,14 +12811,6 @@ "node": ">=6" } }, - "node_modules/destroy": { - "version": "1.2.0", - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, "node_modules/detect-file": { "version": "1.0.0", "dev": true, @@ -14605,63 +14651,47 @@ "license": "MIT" }, "node_modules/express": { - "version": "4.21.2", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", + "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", "license": "MIT", "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "accepts": "^2.0.0", + "body-parser": "^2.2.0", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" }, "engines": { - "node": ">= 0.10.0" + "node": ">= 18" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/express" } }, - "node_modules/express-nunjucks": { - "version": "3.1.2", - "license": "MIT", - "dependencies": { - "nunjucks-async-loader": "^2.1.3" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "express": "^4.19.2", - "nunjucks": "^3.2.4" - } - }, "node_modules/express-rate-limit": { "version": "7.5.1", "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz", @@ -14810,61 +14840,68 @@ "postcss": "^8.3.11" } }, - "node_modules/express/node_modules/cookie": { - "version": "0.7.1", + "node_modules/express/node_modules/content-disposition": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", + "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, "engines": { "node": ">= 0.6" } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", + "node_modules/express/node_modules/finalhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", + "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", "license": "MIT", "dependencies": { - "ms": "2.0.0" + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/express/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/express/node_modules/mime": { - "version": "1.6.0", + "node_modules/express/node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", "license": "MIT", - "bin": { - "mime": "cli.js" - }, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/express/node_modules/send": { - "version": "0.19.0", + "node_modules/express/node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", "license": "MIT", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" + "mime-db": "^1.54.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.6" } }, - "node_modules/express/node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", + "node_modules/express/node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, "node_modules/ext-list": { @@ -15268,6 +15305,7 @@ }, "node_modules/finalhandler": { "version": "1.3.1", + "dev": true, "license": "MIT", "dependencies": { "debug": "2.6.9", @@ -15284,6 +15322,7 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", + "dev": true, "license": "MIT", "dependencies": { "ms": "2.0.0" @@ -15291,6 +15330,7 @@ }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", + "dev": true, "license": "MIT" }, "node_modules/find-node-modules": { @@ -15589,10 +15629,12 @@ } }, "node_modules/fresh": { - "version": "0.5.2", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/from2": { @@ -21335,6 +21377,7 @@ }, "node_modules/iconv-lite": { "version": "0.4.24", + "dev": true, "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" @@ -22490,6 +22533,12 @@ "dev": true, "license": "MIT" }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, "node_modules/is-reference": { "version": "1.2.1", "dev": true, @@ -27617,8 +27666,13 @@ "license": "MIT" }, "node_modules/merge-descriptors": { - "version": "1.0.3", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", "license": "MIT", + "engines": { + "node": ">=18" + }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } @@ -27638,6 +27692,7 @@ }, "node_modules/methods": { "version": "1.1.2", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -27714,7 +27769,6 @@ "version": "1.54.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -28020,7 +28074,9 @@ "license": "MIT" }, "node_modules/negotiator": { - "version": "0.6.3", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -28066,17 +28122,6 @@ "path-to-regexp": "^8.1.0" } }, - "node_modules/nise/node_modules/path-to-regexp": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", - "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, "node_modules/node-addon-api": { "version": "7.1.1", "dev": true, @@ -31035,19 +31080,6 @@ } } }, - "node_modules/nunjucks-async-loader": { - "version": "2.1.3", - "license": "MIT", - "dependencies": { - "chokidar": "^3.6.0" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "nunjucks": "^3.2.4" - } - }, "node_modules/nunjucks/node_modules/commander": { "version": "5.1.0", "license": "MIT", @@ -31197,7 +31229,6 @@ }, "node_modules/once": { "version": "1.4.0", - "dev": true, "license": "ISC", "dependencies": { "wrappy": "1" @@ -31890,8 +31921,14 @@ } }, "node_modules/path-to-regexp": { - "version": "0.1.12", - "license": "MIT" + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } }, "node_modules/path-type": { "version": "4.0.0", @@ -33152,10 +33189,12 @@ "license": "MIT" }, "node_modules/qs": { - "version": "6.13.0", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -33220,16 +33259,34 @@ } }, "node_modules/raw-body": { - "version": "2.5.2", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.1.tgz", + "integrity": "sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==", "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", - "iconv-lite": "0.4.24", + "iconv-lite": "0.7.0", "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.10" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", + "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/rc": { @@ -33768,6 +33825,22 @@ "fsevents": "~2.3.2" } }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/rrweb-cssom": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", @@ -34937,7 +35010,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", - "dev": true, "license": "MIT", "dependencies": { "debug": "^4.3.5", @@ -34956,21 +35028,10 @@ "node": ">= 18" } }, - "node_modules/send/node_modules/fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/send/node_modules/mime-types": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", - "dev": true, "license": "MIT", "dependencies": { "mime-db": "^1.54.0" @@ -34988,66 +35049,18 @@ } }, "node_modules/serve-static": { - "version": "1.16.2", - "license": "MIT", - "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-static/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-static/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/serve-static/node_modules/mime": { - "version": "1.6.0", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/serve-static/node_modules/send": { - "version": "0.19.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", "license": "MIT", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-static/node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "license": "MIT", - "engines": { - "node": ">= 0.8" + "node": ">= 18" } }, "node_modules/set-function-length": { @@ -37617,13 +37630,6 @@ "version": "1.0.2", "license": "MIT" }, - "node_modules/utils-merge": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/v8-to-istanbul": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", @@ -38190,7 +38196,6 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "dev": true, "license": "ISC" }, "node_modules/write-file-atomic": { diff --git a/package.json b/package.json index 57a7c33f8..4b1b169ef 100644 --- a/package.json +++ b/package.json @@ -67,8 +67,7 @@ "@sentry/rollup-plugin": "^3.6.1", "connect-redis": "^6.1.3", "dotenv": "^17.2.2", - "express": "^4.21.2", - "express-nunjucks": "^3.1.2", + "express": "^5.1.0", "express-rate-limit": "^7.5.1", "express-session": "^1.18.2", "express-xss-sanitizer": "^2.0.0", From 7c6d04677d0096ae8f7fbe61d8532113fd0d7f50 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 26 Sep 2025 10:04:49 +0100 Subject: [PATCH 19/28] build(deps): update dependency @types/govuk-frontend to ^5.11.0 (#1815) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 49 +++++++++++++++++++++++++++++++++++++++++------ package.json | 2 +- 2 files changed, 44 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 524be1eab..265af851f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -54,7 +54,7 @@ "@types/connect-redis": "^0.0.23", "@types/express": "^5.0.3", "@types/express-session": "^1.18.2", - "@types/govuk-frontend": "^5.9.0", + "@types/govuk-frontend": "^5.11.0", "@types/gulp": "^4.0.17", "@types/jest": "^29.5.14", "@types/jest-axe": "^3.5.9", @@ -371,6 +371,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", @@ -2333,6 +2334,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" }, @@ -2356,6 +2358,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" } @@ -5255,6 +5258,7 @@ "version": "6.1.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@octokit/auth-token": "^5.0.0", "@octokit/graphql": "^8.1.2", @@ -5385,6 +5389,7 @@ "node_modules/@opentelemetry/api": { "version": "1.9.0", "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=8.0.0" } @@ -5402,6 +5407,7 @@ "node_modules/@opentelemetry/context-async-hooks": { "version": "1.30.1", "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=14" }, @@ -5412,6 +5418,7 @@ "node_modules/@opentelemetry/core": { "version": "1.30.1", "license": "Apache-2.0", + "peer": true, "dependencies": { "@opentelemetry/semantic-conventions": "1.28.0" }, @@ -5432,6 +5439,7 @@ "node_modules/@opentelemetry/instrumentation": { "version": "0.57.2", "license": "Apache-2.0", + "peer": true, "dependencies": { "@opentelemetry/api-logs": "0.57.2", "@types/shimmer": "^1.2.0", @@ -5787,6 +5795,7 @@ "node_modules/@opentelemetry/resources": { "version": "1.30.1", "license": "Apache-2.0", + "peer": true, "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/semantic-conventions": "1.28.0" @@ -5808,6 +5817,7 @@ "node_modules/@opentelemetry/sdk-trace-base": { "version": "1.30.1", "license": "Apache-2.0", + "peer": true, "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/resources": "1.30.1", @@ -5832,6 +5842,7 @@ "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.37.0.tgz", "integrity": "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA==", "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=14" } @@ -7812,6 +7823,7 @@ "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -7906,6 +7918,7 @@ "version": "7.20.5", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -8177,8 +8190,7 @@ "node_modules/@types/linkify-it": { "version": "5.0.0", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/markdown-it": { "version": "14.1.2", @@ -8201,8 +8213,7 @@ "node_modules/@types/mdurl": { "version": "2.0.0", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/mime": { "version": "1.3.5", @@ -8226,6 +8237,7 @@ "node_modules/@types/node": { "version": "22.15.3", "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -8468,6 +8480,7 @@ "integrity": "sha512-EHrrEsyhOhxYt8MTg4zTF+DJMuNBzWwgvvOYNj/zm1vnaD/IC5zCXFehZv94Piqa2cRFfXrTFxIvO95L7Qc/cw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.44.1", "@typescript-eslint/types": "8.44.1", @@ -9009,6 +9022,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -10653,6 +10667,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.3", "caniuse-lite": "^1.0.30001741", @@ -11874,6 +11889,7 @@ "version": "9.0.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", @@ -12854,7 +12870,8 @@ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1495869.tgz", "integrity": "sha512-i+bkd9UYFis40RcnkW7XrOprCujXRAHg62IVh/Ah3G8MmNXpCGt1m0dTFhSdx/AVs8XEMbdOGRwdkR1Bcta8AA==", "dev": true, - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "peer": true }, "node_modules/dezalgo": { "version": "1.0.4", @@ -13586,6 +13603,7 @@ "version": "8.57.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -13766,6 +13784,7 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -13963,6 +13982,7 @@ "version": "16.6.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "builtins": "^5.0.1", @@ -14049,6 +14069,7 @@ "version": "6.6.0", "dev": true, "license": "ISC", + "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -16299,6 +16320,7 @@ "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-5.12.0.tgz", "integrity": "sha512-gNr/UVDoORVOqVKTC9i9HOKKPeM4IDTAqtnd3t6U8LQibEr+8Q+FB7Id0u/MfR/5mqPfenG/+VGLW96vJXok/g==", "license": "MIT", + "peer": true, "engines": { "node": ">= 4.2.0" } @@ -16835,6 +16857,7 @@ "integrity": "sha512-gL6z5N9Jm9mhY+U2KXZpteb+09zyffliRkZyZOHODGATyC5B1Jt/7TzuuiLkFsSUMLbS1OLmlj/E+/3KF4Q/4w==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -20567,6 +20590,7 @@ "integrity": "sha512-PErok3DZSA5WGMd6XXV3IRNO0mlB+wW3OzhFJLEec1jSERg2j1bxJ6e5Fh6N6fn3FH2T9AP4UYNb/pYlADB9sA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "glob-watcher": "^6.0.0", "gulp-cli": "^3.1.0", @@ -21975,6 +21999,7 @@ "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.8.0.tgz", "integrity": "sha512-AUXbKn9gvo9hHKvk6LbZJQSKn/qIfkWXrnsyL9Yrf+oeXmla9Nmf6XEumOddyhM8neynpK5oAV6r9r99KBuwzA==", "license": "MIT", + "peer": true, "dependencies": { "@ioredis/commands": "1.4.0", "cluster-key-slot": "^1.1.0", @@ -22933,6 +22958,7 @@ "integrity": "sha512-Ry+p2+NLk6u8Agh5yVqELfUJvRfV51hhVBRIB5yZPY7mU0DGBmOuFG5GebZbMbm86cdQNK0fhJuDX8/1YorISQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/core": "30.1.3", "@jest/types": "30.0.5", @@ -26810,6 +26836,7 @@ "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", @@ -27879,6 +27906,7 @@ "node_modules/moment": { "version": "2.30.1", "license": "MIT", + "peer": true, "engines": { "node": "*" } @@ -30795,6 +30823,7 @@ "dev": true, "inBundle": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -32297,6 +32326,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -32785,6 +32815,7 @@ "version": "7.1.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -32874,6 +32905,7 @@ "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "posthtml-parser": "^0.11.0", "posthtml-render": "^3.0.0" @@ -33789,6 +33821,7 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.2.tgz", "integrity": "sha512-I25/2QgoROE1vYV+NQ1En9T9UFB9Cmfm2CJ83zZOlaDpvz29wGQSZXWKw7MiNXau7wYgB/T9fVIdIuEQ+KbiiA==", "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -34570,6 +34603,7 @@ "integrity": "sha512-phCkJ6pjDi9ANdhuF5ElS10GGdAKY6R1Pvt9lT3SFhOwM4T7QZE7MLpBDbNruUx/Q3gFD92/UOFringGipRqZA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", @@ -35320,6 +35354,7 @@ "integrity": "sha512-TOgRcwFPbfGtpqvZw+hyqJDvqfapr1qUlOizROIk4bBLjlsjlB00Pg6wMFXNtJRpu+eCZuVOaLatG7M8105kAw==", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "@sinonjs/commons": "^3.0.1", "@sinonjs/fake-timers": "^13.0.5", @@ -36037,6 +36072,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", @@ -37284,6 +37320,7 @@ "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index 4b1b169ef..8dd962bab 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "@types/connect-redis": "^0.0.23", "@types/express": "^5.0.3", "@types/express-session": "^1.18.2", - "@types/govuk-frontend": "^5.9.0", + "@types/govuk-frontend": "^5.11.0", "@types/gulp": "^4.0.17", "@types/jest": "^29.5.14", "@types/jest-axe": "^3.5.9", From 5ddff29b713429468c985e92fb69a8e68faebfd8 Mon Sep 17 00:00:00 2001 From: Chris Pymm Date: Fri, 26 Sep 2025 11:32:00 +0100 Subject: [PATCH 20/28] chore: apply npm audit fix to reslve security issues (#1835) --- package-lock.json | 53 ++++++++--------------------------------------- 1 file changed, 9 insertions(+), 44 deletions(-) diff --git a/package-lock.json b/package-lock.json index 265af851f..250632e28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -371,7 +371,6 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", @@ -2334,7 +2333,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" }, @@ -2358,7 +2356,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" } @@ -5258,7 +5255,6 @@ "version": "6.1.4", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@octokit/auth-token": "^5.0.0", "@octokit/graphql": "^8.1.2", @@ -5389,7 +5385,6 @@ "node_modules/@opentelemetry/api": { "version": "1.9.0", "license": "Apache-2.0", - "peer": true, "engines": { "node": ">=8.0.0" } @@ -5407,7 +5402,6 @@ "node_modules/@opentelemetry/context-async-hooks": { "version": "1.30.1", "license": "Apache-2.0", - "peer": true, "engines": { "node": ">=14" }, @@ -5418,7 +5412,6 @@ "node_modules/@opentelemetry/core": { "version": "1.30.1", "license": "Apache-2.0", - "peer": true, "dependencies": { "@opentelemetry/semantic-conventions": "1.28.0" }, @@ -5439,7 +5432,6 @@ "node_modules/@opentelemetry/instrumentation": { "version": "0.57.2", "license": "Apache-2.0", - "peer": true, "dependencies": { "@opentelemetry/api-logs": "0.57.2", "@types/shimmer": "^1.2.0", @@ -5795,7 +5787,6 @@ "node_modules/@opentelemetry/resources": { "version": "1.30.1", "license": "Apache-2.0", - "peer": true, "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/semantic-conventions": "1.28.0" @@ -5817,7 +5808,6 @@ "node_modules/@opentelemetry/sdk-trace-base": { "version": "1.30.1", "license": "Apache-2.0", - "peer": true, "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/resources": "1.30.1", @@ -5842,7 +5832,6 @@ "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.37.0.tgz", "integrity": "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA==", "license": "Apache-2.0", - "peer": true, "engines": { "node": ">=14" } @@ -7823,7 +7812,6 @@ "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -7918,7 +7906,6 @@ "version": "7.20.5", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -8190,7 +8177,8 @@ "node_modules/@types/linkify-it": { "version": "5.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/markdown-it": { "version": "14.1.2", @@ -8213,7 +8201,8 @@ "node_modules/@types/mdurl": { "version": "2.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/mime": { "version": "1.3.5", @@ -8237,7 +8226,6 @@ "node_modules/@types/node": { "version": "22.15.3", "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -8480,7 +8468,6 @@ "integrity": "sha512-EHrrEsyhOhxYt8MTg4zTF+DJMuNBzWwgvvOYNj/zm1vnaD/IC5zCXFehZv94Piqa2cRFfXrTFxIvO95L7Qc/cw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.44.1", "@typescript-eslint/types": "8.44.1", @@ -9022,7 +9009,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -9563,11 +9549,13 @@ } }, "node_modules/axios": { - "version": "1.8.2", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz", + "integrity": "sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", + "form-data": "^4.0.4", "proxy-from-env": "^1.1.0" } }, @@ -10667,7 +10655,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.3", "caniuse-lite": "^1.0.30001741", @@ -11889,7 +11876,6 @@ "version": "9.0.0", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", @@ -12870,8 +12856,7 @@ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1495869.tgz", "integrity": "sha512-i+bkd9UYFis40RcnkW7XrOprCujXRAHg62IVh/Ah3G8MmNXpCGt1m0dTFhSdx/AVs8XEMbdOGRwdkR1Bcta8AA==", "dev": true, - "license": "BSD-3-Clause", - "peer": true + "license": "BSD-3-Clause" }, "node_modules/dezalgo": { "version": "1.0.4", @@ -13603,7 +13588,6 @@ "version": "8.57.1", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -13784,7 +13768,6 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -13982,7 +13965,6 @@ "version": "16.6.2", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "builtins": "^5.0.1", @@ -14069,7 +14051,6 @@ "version": "6.6.0", "dev": true, "license": "ISC", - "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -16320,7 +16301,6 @@ "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-5.12.0.tgz", "integrity": "sha512-gNr/UVDoORVOqVKTC9i9HOKKPeM4IDTAqtnd3t6U8LQibEr+8Q+FB7Id0u/MfR/5mqPfenG/+VGLW96vJXok/g==", "license": "MIT", - "peer": true, "engines": { "node": ">= 4.2.0" } @@ -16857,7 +16837,6 @@ "integrity": "sha512-gL6z5N9Jm9mhY+U2KXZpteb+09zyffliRkZyZOHODGATyC5B1Jt/7TzuuiLkFsSUMLbS1OLmlj/E+/3KF4Q/4w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -20590,7 +20569,6 @@ "integrity": "sha512-PErok3DZSA5WGMd6XXV3IRNO0mlB+wW3OzhFJLEec1jSERg2j1bxJ6e5Fh6N6fn3FH2T9AP4UYNb/pYlADB9sA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "glob-watcher": "^6.0.0", "gulp-cli": "^3.1.0", @@ -21999,7 +21977,6 @@ "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.8.0.tgz", "integrity": "sha512-AUXbKn9gvo9hHKvk6LbZJQSKn/qIfkWXrnsyL9Yrf+oeXmla9Nmf6XEumOddyhM8neynpK5oAV6r9r99KBuwzA==", "license": "MIT", - "peer": true, "dependencies": { "@ioredis/commands": "1.4.0", "cluster-key-slot": "^1.1.0", @@ -22958,7 +22935,6 @@ "integrity": "sha512-Ry+p2+NLk6u8Agh5yVqELfUJvRfV51hhVBRIB5yZPY7mU0DGBmOuFG5GebZbMbm86cdQNK0fhJuDX8/1YorISQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@jest/core": "30.1.3", "@jest/types": "30.0.5", @@ -26836,7 +26812,6 @@ "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", @@ -27906,7 +27881,6 @@ "node_modules/moment": { "version": "2.30.1", "license": "MIT", - "peer": true, "engines": { "node": "*" } @@ -30823,7 +30797,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -32326,7 +32299,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -32815,7 +32787,6 @@ "version": "7.1.0", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -32905,7 +32876,6 @@ "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "posthtml-parser": "^0.11.0", "posthtml-render": "^3.0.0" @@ -33821,7 +33791,6 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.2.tgz", "integrity": "sha512-I25/2QgoROE1vYV+NQ1En9T9UFB9Cmfm2CJ83zZOlaDpvz29wGQSZXWKw7MiNXau7wYgB/T9fVIdIuEQ+KbiiA==", "license": "MIT", - "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -34603,7 +34572,6 @@ "integrity": "sha512-phCkJ6pjDi9ANdhuF5ElS10GGdAKY6R1Pvt9lT3SFhOwM4T7QZE7MLpBDbNruUx/Q3gFD92/UOFringGipRqZA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", @@ -35354,7 +35322,6 @@ "integrity": "sha512-TOgRcwFPbfGtpqvZw+hyqJDvqfapr1qUlOizROIk4bBLjlsjlB00Pg6wMFXNtJRpu+eCZuVOaLatG7M8105kAw==", "dev": true, "license": "BSD-3-Clause", - "peer": true, "dependencies": { "@sinonjs/commons": "^3.0.1", "@sinonjs/fake-timers": "^13.0.5", @@ -36072,7 +36039,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", @@ -37320,7 +37286,6 @@ "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" From b8c405824920c1cf6650857b3fe658fc80f70529 Mon Sep 17 00:00:00 2001 From: Chris Pymm Date: Fri, 26 Sep 2025 15:00:09 +0100 Subject: [PATCH 21/28] chore: update tar-fs (#1836) --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 250632e28..44364e303 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36638,9 +36638,9 @@ } }, "node_modules/tar-fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.0.tgz", - "integrity": "sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz", + "integrity": "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==", "dev": true, "license": "MIT", "dependencies": { From 56bc4445d419585423e7e1fead110ec74de1e629 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 10:18:28 +0100 Subject: [PATCH 22/28] build(deps): update dependency express-xss-sanitizer to v2.0.1 [security] (#1837) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 65 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 59 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 44364e303..1eea13e16 100644 --- a/package-lock.json +++ b/package-lock.json @@ -371,6 +371,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", @@ -2333,6 +2334,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" }, @@ -2356,6 +2358,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" } @@ -5255,6 +5258,7 @@ "version": "6.1.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@octokit/auth-token": "^5.0.0", "@octokit/graphql": "^8.1.2", @@ -5385,6 +5389,7 @@ "node_modules/@opentelemetry/api": { "version": "1.9.0", "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=8.0.0" } @@ -5402,6 +5407,7 @@ "node_modules/@opentelemetry/context-async-hooks": { "version": "1.30.1", "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=14" }, @@ -5412,6 +5418,7 @@ "node_modules/@opentelemetry/core": { "version": "1.30.1", "license": "Apache-2.0", + "peer": true, "dependencies": { "@opentelemetry/semantic-conventions": "1.28.0" }, @@ -5432,6 +5439,7 @@ "node_modules/@opentelemetry/instrumentation": { "version": "0.57.2", "license": "Apache-2.0", + "peer": true, "dependencies": { "@opentelemetry/api-logs": "0.57.2", "@types/shimmer": "^1.2.0", @@ -5787,6 +5795,7 @@ "node_modules/@opentelemetry/resources": { "version": "1.30.1", "license": "Apache-2.0", + "peer": true, "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/semantic-conventions": "1.28.0" @@ -5808,6 +5817,7 @@ "node_modules/@opentelemetry/sdk-trace-base": { "version": "1.30.1", "license": "Apache-2.0", + "peer": true, "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/resources": "1.30.1", @@ -5832,6 +5842,7 @@ "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.37.0.tgz", "integrity": "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA==", "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=14" } @@ -7812,6 +7823,7 @@ "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -7906,6 +7918,7 @@ "version": "7.20.5", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -8177,8 +8190,7 @@ "node_modules/@types/linkify-it": { "version": "5.0.0", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/markdown-it": { "version": "14.1.2", @@ -8201,8 +8213,7 @@ "node_modules/@types/mdurl": { "version": "2.0.0", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/mime": { "version": "1.3.5", @@ -8226,6 +8237,7 @@ "node_modules/@types/node": { "version": "22.15.3", "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -8468,6 +8480,7 @@ "integrity": "sha512-EHrrEsyhOhxYt8MTg4zTF+DJMuNBzWwgvvOYNj/zm1vnaD/IC5zCXFehZv94Piqa2cRFfXrTFxIvO95L7Qc/cw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.44.1", "@typescript-eslint/types": "8.44.1", @@ -9009,6 +9022,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -10655,6 +10669,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.3", "caniuse-lite": "^1.0.30001741", @@ -11876,6 +11891,7 @@ "version": "9.0.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", @@ -12856,7 +12872,8 @@ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1495869.tgz", "integrity": "sha512-i+bkd9UYFis40RcnkW7XrOprCujXRAHg62IVh/Ah3G8MmNXpCGt1m0dTFhSdx/AVs8XEMbdOGRwdkR1Bcta8AA==", "dev": true, - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "peer": true }, "node_modules/dezalgo": { "version": "1.0.4", @@ -13588,6 +13605,7 @@ "version": "8.57.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -13768,6 +13786,7 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -13965,6 +13984,7 @@ "version": "16.6.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "builtins": "^5.0.1", @@ -14051,6 +14071,7 @@ "version": "6.6.0", "dev": true, "license": "ISC", + "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -14750,7 +14771,9 @@ "license": "MIT" }, "node_modules/express-xss-sanitizer": { - "version": "2.0.0", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/express-xss-sanitizer/-/express-xss-sanitizer-2.0.1.tgz", + "integrity": "sha512-MxilPbRPkATSi3S+3wM7lw1paFN2hPZmYNf2v9d+gTF+6XwgWSCnsJVtUrEFPzyRvUHKsktBQ3CnFYezObl+BA==", "license": "MIT", "dependencies": { "sanitize-html": "~2.13.0" @@ -14758,6 +14781,8 @@ }, "node_modules/express-xss-sanitizer/node_modules/dom-serializer": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "license": "MIT", "dependencies": { "domelementtype": "^2.3.0", @@ -14770,6 +14795,8 @@ }, "node_modules/express-xss-sanitizer/node_modules/domhandler": { "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.3.0" @@ -14783,6 +14810,8 @@ }, "node_modules/express-xss-sanitizer/node_modules/domutils": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^2.0.0", @@ -14795,6 +14824,8 @@ }, "node_modules/express-xss-sanitizer/node_modules/entities": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "license": "BSD-2-Clause", "engines": { "node": ">=0.12" @@ -14805,6 +14836,8 @@ }, "node_modules/express-xss-sanitizer/node_modules/escape-string-regexp": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "license": "MIT", "engines": { "node": ">=10" @@ -14815,6 +14848,8 @@ }, "node_modules/express-xss-sanitizer/node_modules/htmlparser2": { "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", { @@ -14832,6 +14867,8 @@ }, "node_modules/express-xss-sanitizer/node_modules/sanitize-html": { "version": "2.13.1", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.13.1.tgz", + "integrity": "sha512-ZXtKq89oue4RP7abL9wp/9URJcqQNABB5GGJ2acW1sdO8JTVl92f4ygD7Yc9Ze09VAZhnt2zegeU0tbNsdcLYg==", "license": "MIT", "dependencies": { "deepmerge": "^4.2.2", @@ -16301,6 +16338,7 @@ "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-5.12.0.tgz", "integrity": "sha512-gNr/UVDoORVOqVKTC9i9HOKKPeM4IDTAqtnd3t6U8LQibEr+8Q+FB7Id0u/MfR/5mqPfenG/+VGLW96vJXok/g==", "license": "MIT", + "peer": true, "engines": { "node": ">= 4.2.0" } @@ -16837,6 +16875,7 @@ "integrity": "sha512-gL6z5N9Jm9mhY+U2KXZpteb+09zyffliRkZyZOHODGATyC5B1Jt/7TzuuiLkFsSUMLbS1OLmlj/E+/3KF4Q/4w==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -20569,6 +20608,7 @@ "integrity": "sha512-PErok3DZSA5WGMd6XXV3IRNO0mlB+wW3OzhFJLEec1jSERg2j1bxJ6e5Fh6N6fn3FH2T9AP4UYNb/pYlADB9sA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "glob-watcher": "^6.0.0", "gulp-cli": "^3.1.0", @@ -21977,6 +22017,7 @@ "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.8.0.tgz", "integrity": "sha512-AUXbKn9gvo9hHKvk6LbZJQSKn/qIfkWXrnsyL9Yrf+oeXmla9Nmf6XEumOddyhM8neynpK5oAV6r9r99KBuwzA==", "license": "MIT", + "peer": true, "dependencies": { "@ioredis/commands": "1.4.0", "cluster-key-slot": "^1.1.0", @@ -22935,6 +22976,7 @@ "integrity": "sha512-Ry+p2+NLk6u8Agh5yVqELfUJvRfV51hhVBRIB5yZPY7mU0DGBmOuFG5GebZbMbm86cdQNK0fhJuDX8/1YorISQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/core": "30.1.3", "@jest/types": "30.0.5", @@ -26812,6 +26854,7 @@ "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", @@ -27881,6 +27924,7 @@ "node_modules/moment": { "version": "2.30.1", "license": "MIT", + "peer": true, "engines": { "node": "*" } @@ -30797,6 +30841,7 @@ "dev": true, "inBundle": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -32299,6 +32344,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -32787,6 +32833,7 @@ "version": "7.1.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -32876,6 +32923,7 @@ "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "posthtml-parser": "^0.11.0", "posthtml-render": "^3.0.0" @@ -33791,6 +33839,7 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.2.tgz", "integrity": "sha512-I25/2QgoROE1vYV+NQ1En9T9UFB9Cmfm2CJ83zZOlaDpvz29wGQSZXWKw7MiNXau7wYgB/T9fVIdIuEQ+KbiiA==", "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -34572,6 +34621,7 @@ "integrity": "sha512-phCkJ6pjDi9ANdhuF5ElS10GGdAKY6R1Pvt9lT3SFhOwM4T7QZE7MLpBDbNruUx/Q3gFD92/UOFringGipRqZA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", @@ -35322,6 +35372,7 @@ "integrity": "sha512-TOgRcwFPbfGtpqvZw+hyqJDvqfapr1qUlOizROIk4bBLjlsjlB00Pg6wMFXNtJRpu+eCZuVOaLatG7M8105kAw==", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "@sinonjs/commons": "^3.0.1", "@sinonjs/fake-timers": "^13.0.5", @@ -36039,6 +36090,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", @@ -37286,6 +37338,7 @@ "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" From 1458e296013cc42fd8d88466c52530c14ab957b3 Mon Sep 17 00:00:00 2001 From: Chris Pymm Date: Mon, 29 Sep 2025 14:27:03 +0100 Subject: [PATCH 23/28] ci: add permissions blocks to github actions workflows (#1844) --- .github/workflows/deploy-production.yml | 10 ++++++++-- .github/workflows/playwright.yml | 2 ++ .github/workflows/publish-package.yml | 15 +++++++++++++-- .github/workflows/renovate.yml | 3 +++ .github/workflows/sass.yml | 3 +++ 5 files changed, 29 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-production.yml b/.github/workflows/deploy-production.yml index 5922e8ae9..8fa94148f 100644 --- a/.github/workflows/deploy-production.yml +++ b/.github/workflows/deploy-production.yml @@ -17,7 +17,8 @@ env: jobs: build: runs-on: ubuntu-latest - + permissions: + contents: read steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 @@ -39,7 +40,9 @@ jobs: test: runs-on: ubuntu-latest needs: build - + permissions: + contents: read + statuses: write steps: - name: Set commit status as pending uses: myrotvorets/set-commit-status-action@master @@ -86,6 +89,9 @@ jobs: result: runs-on: ubuntu-latest needs: [test] + permissions: + contents: read + statuses: write if: always() steps: - name: Set final commit status diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 3d45005cd..e54c94c59 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -8,6 +8,8 @@ jobs: test: timeout-minutes: 60 runs-on: ubuntu-latest + permissions: + contents: read steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 diff --git a/.github/workflows/publish-package.yml b/.github/workflows/publish-package.yml index 46f9e2b5f..de6c42a66 100644 --- a/.github/workflows/publish-package.yml +++ b/.github/workflows/publish-package.yml @@ -6,7 +6,8 @@ on: jobs: build: runs-on: ubuntu-latest - + permissions: + contents: read steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 @@ -33,7 +34,9 @@ jobs: test: runs-on: ubuntu-latest needs: build - + permissions: + contents: read + statuses: write strategy: matrix: node-version: [18.x, 20.x, 22.x] @@ -80,6 +83,9 @@ jobs: runs-on: ubuntu-latest needs: [test] if: always() + permissions: + contents: read + statuses: write steps: - name: Set final commit status uses: myrotvorets/set-commit-status-action@master @@ -92,6 +98,11 @@ jobs: publish: runs-on: ubuntu-latest needs: [result] + permissions: + contents: write # to be able to publish a GitHub release + issues: write # to be able to comment on released issues + pull-requests: write # to be able to comment on released pull requests + id-token: write # to enable use of OIDC for npm provenance steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index 77d8141c5..a287202e7 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -1,5 +1,8 @@ name: Renovate +permissions: + contents: read + on: pull_request: diff --git a/.github/workflows/sass.yml b/.github/workflows/sass.yml index 8d16dd903..884c2655d 100644 --- a/.github/workflows/sass.yml +++ b/.github/workflows/sass.yml @@ -1,5 +1,8 @@ name: Sass +permissions: + contents: read + on: pull_request: From 005299b8f328a22aa716340f1487f3bb7975f5a6 Mon Sep 17 00:00:00 2001 From: Murray Lippiatt <58863567+murrlipp@users.noreply.github.com> Date: Wed, 1 Oct 2025 14:14:49 +0100 Subject: [PATCH 24/28] feat: Notification badge (#1599) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR updates the notification badge component. It standardises the use of the component and improves the accessibility. BREAKING CHANGE: the spacing for the component has changed. This could affect the layout of UIs using the component. You need to remove any spacing you’ve added to (or around) the component. This needs to be done in Figma designs and in code. * docs: add page to test positioning * docs: styling changes * docs: remove margin from layout tests * docs: spacing adjustment * docs: add placeholder pattern page * docs: fix font size * docs: linting * docs: linting * docs: add github discussion URL * docs: add example image * docs: updates - Remove experimental pattern - Add tabs - Add two examples * style: min-width fix * style: change border to outline * style: padding tweaks * docs: wip add notification badge examples * style: fix lint errors for notificaion badge scss * docs: update notification badge tabs example to not use macro * docs: remove visually hidden puntuation removed the hidden comma for screenreaders as I don't think it's recommended * docs: add draft content * docs: example images * docs: crit changes * feat: update notification badge template * docs: number update * docs: add nunjucks arguments to notification badge * docs: update example shortcode to automatically include arguments Previously each example njk file needed to include a refernce to the the arguments file in its frontmatter. This was a bit redundant as the arguments file always has the same name as the component and is always in the same location. This PR updates the shortcode to extract the arguments file name from the calling page, and automatically include the arguments markup if the file exists. * docs: content changes * docs: image updates * docs: fix height of initial example * docs: add page to test positioning * docs: styling changes * docs: remove margin from layout tests * docs: spacing adjustment * docs: add placeholder pattern page * docs: fix font size * docs: linting * docs: linting * docs: add github discussion URL * docs: add example image * docs: updates - Remove experimental pattern - Add tabs - Add two examples * style: min-width fix * style: change border to outline * style: padding tweaks * docs: wip add notification badge examples * style: fix lint errors for notificaion badge scss * docs: update notification badge tabs example to not use macro * docs: remove visually hidden puntuation removed the hidden comma for screenreaders as I don't think it's recommended * docs: add draft content * docs: example images * docs: crit changes * feat: update notification badge template * docs: number update * docs: add nunjucks arguments to notification badge * docs: update example shortcode to automatically include arguments Previously each example njk file needed to include a refernce to the the arguments file in its frontmatter. This was a bit redundant as the arguments file always has the same name as the component and is always in the same location. This PR updates the shortcode to extract the arguments file name from the calling page, and automatically include the arguments markup if the file exists. * docs: content changes * docs: image updates * docs: fix height of initial example * docs: show html tab for positioning example * docs: new content * docs: content changes * docs: content update * docs: guidance update * docs: examples updates * docs: add notification badge link example * docs: update docs page to use notification badge link example * docs: updates * docs: final update * docs: code tweak * docs: fix links and curly quotes * docs: coded example of 0 count * docs: update example images * docs: alt text * docs: update image * docs: update coded examples * docs: team review * docs(notification badge): control whitespace in nunjucks to prevent trailing spaces in links * docs(notification badge): correct updated date for component * style: adjust padding * docs: adjust css and more - example numbers - release month * docs: update examples * docs: amend examples * docs: fix list spacing * docs: move example * docs: alt text * docs: link text tweak * docs: link tweak * docs(notification badge): correct updated date for component * style: adjust padding * docs: adjust css and more - example numbers - release month * docs: update examples * docs: amend examples * docs: fix list spacing * docs: move example * docs: alt text * docs: link text tweak * docs: link tweak * docs: add focus state to code blocks * docs: update a11y-light code theme * docs: update alt text * docs: update coded examples * docs: typo * docs: nunjucks macro tweaks --------- Co-authored-by: Chris Pymm Co-authored-by: helennickols Co-authored-by: Chris Pymm --- .eleventy.js | 7 +- app/views/common/partials/side-navigation.njk | 8 + .../_includes/arguments/notification-badge.md | 6 + docs/_includes/example.njk | 8 +- .../notification-badge-example-count.png | Bin 0 -> 54985 bytes .../notification-badge-example-inbox-1.png | Bin 0 -> 20976 bytes .../notification-badge-example-inbox-2.png | Bin 0 -> 79206 bytes .../notification-badge-example-inbox-3.png | Bin 0 -> 63746 bytes docs/components/notification-badge.md | 234 ++++++++- .../notification-badge-header/index.njk | 40 ++ .../notification-badge-link/index.njk | 11 + .../notification-badge-no-items/index.njk | 13 + .../notification-badge-primary-nav/index.njk | 23 + .../notification-badge-service-nav/index.njk | 21 + .../notification-badge-side-nav/index.njk | 24 + .../notification-badge-sub-nav/index.njk | 20 + .../notification-badge-tabs/index.njk | 42 ++ docs/examples/notification-badge/index.njk | 7 +- docs/javascripts/application.mjs | 2 + docs/javascripts/scroll-container.mjs | 53 ++ docs/notification-badge-testing.md | 491 ++++++++++++++++++ docs/stylesheets/application.scss | 2 +- docs/stylesheets/components/_copy-button.scss | 14 + docs/stylesheets/components/_tabs.scss | 5 + package-lock.json | 54 +- package.json | 1 + .../_notification-badge.scss | 16 +- .../notification-badge/template.njk | 16 +- 28 files changed, 1038 insertions(+), 80 deletions(-) create mode 100644 docs/_includes/arguments/notification-badge.md create mode 100644 docs/assets/images/notification-badge-example-count.png create mode 100644 docs/assets/images/notification-badge-example-inbox-1.png create mode 100644 docs/assets/images/notification-badge-example-inbox-2.png create mode 100644 docs/assets/images/notification-badge-example-inbox-3.png create mode 100644 docs/examples/notification-badge-header/index.njk create mode 100644 docs/examples/notification-badge-link/index.njk create mode 100644 docs/examples/notification-badge-no-items/index.njk create mode 100644 docs/examples/notification-badge-primary-nav/index.njk create mode 100644 docs/examples/notification-badge-service-nav/index.njk create mode 100644 docs/examples/notification-badge-side-nav/index.njk create mode 100644 docs/examples/notification-badge-sub-nav/index.njk create mode 100644 docs/examples/notification-badge-tabs/index.njk create mode 100644 docs/javascripts/scroll-container.mjs create mode 100644 docs/notification-badge-testing.md diff --git a/.eleventy.js b/.eleventy.js index d59899b86..17b079707 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -38,7 +38,8 @@ module.exports = function (eleventyConfig) { language: language || 'plaintext' }) - return value + // return value + return `
${value}
` } }) .disable('code') @@ -84,7 +85,7 @@ module.exports = function (eleventyConfig) { const htmlCode = beautifyHTML(rawHtmlCode.trim(), { indent_size: 2, end_with_newline: true, - max_preserve_newlines: 1, + max_preserve_newlines: 0, unformatted: ['code', 'pre', 'em', 'strong'] }) @@ -101,7 +102,7 @@ module.exports = function (eleventyConfig) { return nunjucksEnv.render('example.njk', { href: params.template, id: params.template.replace(/\//g, '-'), - arguments: data.arguments, + arguments: this.page.fileSlug, figmaLink: data.figma_link, title: data.title, height: params.height, diff --git a/app/views/common/partials/side-navigation.njk b/app/views/common/partials/side-navigation.njk index e1b5f0876..a214e1f38 100644 --- a/app/views/common/partials/side-navigation.njk +++ b/app/views/common/partials/side-navigation.njk @@ -485,6 +485,14 @@ +
  • + Submit a component
  • + + + + + +
  • Get help
  • diff --git a/docs/_includes/arguments/notification-badge.md b/docs/_includes/arguments/notification-badge.md new file mode 100644 index 000000000..771097b7b --- /dev/null +++ b/docs/_includes/arguments/notification-badge.md @@ -0,0 +1,6 @@ +| Name | Type | Required | Description | +| ---------- | ------ | -------- | -------------------------------------------------------------------------------------------------------------------------------- | +| text | string | Yes | Text in the notification badge. Must be a number. | +| visuallyHiddenText | string | Yes | Descriptor for screenreaders to give context to the number. | +| classes | string | No | Extra classes to add to the `span` container. | +| attributes | object | No | HTML attributes (for example data attributes) to add to the `span` container. | diff --git a/docs/_includes/example.njk b/docs/_includes/example.njk index 4a42c3be0..3477784e3 100644 --- a/docs/_includes/example.njk +++ b/docs/_includes/example.njk @@ -35,7 +35,11 @@
    -{% if arguments %} +{%- set argsContent %} + {% include "./arguments/" + arguments + ".md" ignore missing %} +{%- endset %} + +{% if argsContent | trim %}
    @@ -44,7 +48,7 @@
    -{% include "./arguments/" + arguments + ".md" %} + {{ argsContent }}
    diff --git a/docs/assets/images/notification-badge-example-count.png b/docs/assets/images/notification-badge-example-count.png new file mode 100644 index 0000000000000000000000000000000000000000..285c6629ea4c4d6f2e1ea940e9a840a166702fb0 GIT binary patch literal 54985 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%0Ds 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

    6wyT_bFACe4`#P?tj{bt6su$< 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 literal 0 HcmV?d00001 diff --git a/docs/assets/images/notification-badge-example-inbox-1.png b/docs/assets/images/notification-badge-example-inbox-1.png new file mode 100644 index 0000000000000000000000000000000000000000..82e8d7e764c0bd2809041d5fb978d4856bae3c8b GIT binary patch literal 20976 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 literal 0 HcmV?d00001 diff --git a/docs/assets/images/notification-badge-example-inbox-2.png b/docs/assets/images/notification-badge-example-inbox-2.png new file mode 100644 index 0000000000000000000000000000000000000000..b1bf5c98642392d301bb6008d3ec6f5dee149ebf GIT binary patch literal 79206 zcmeFZXH=70*EWiXy4ec2gIh%@mH?s@={=yR5UPSoktz^GIssy65iE!zLMS1$h;*eR zC6oXbIs|EwD`lT^jlcEo>#LrExTrPVtT5EQMS!)w^?o` zq>Avwy+!Eb+;I zE)HK@{m;d*TeAoDuTIB(JGg&w^>pl!{R`)-|DzhxtaUL9qxsaS?+@M(iOR0dcUeI` z(crZYYQwAi=iTVDL}sCYSB9m@{_FoKDsukrGucoBpWGm*dtid^?;EOhLTa`3^<)bI z0iBJNR%1<+?~7F80}v{y2a5G;QA*?w?Ax|=BEh**Ee_IE!c(Mg$|6Snkwj}K&Tg_SZ!Ko2Ppeo#WOUCxuA2$M!?x%oNv)tgUqH|nS% zSu!J^i_P?x#Zw-0odb{a##K_(HOa&Z4}7-#Vg;POKqadr#U~q2OyW}Au6N71zx?V| z=jT`J6bWa9;ugqFE$dIlRE=eU=MypIxP^3T#AK}x1$mlmmgZ22tisf_&?5R&S8($8 z;rMiVH3xd5z`ghtSmdj#2107N;OYq~rh9ymI z@ngfKj4?^GOPh2{Vom^%y6ffB)40@zp}>vF%jq;6)2%Q zKwM2tP68MG=TofvckDNHx8Iht4y?Vfvo0-H8FgG<^=)3RLbItynh380z%iY{S5e99 zm&pwvkC>qizX(dphO~$z2?AfPMEgO@l4Ozlj?uaF&g0mdCdV1ulyZy=TsX|o9XWVH ztNN^^qfFFjU?Dux++Vc^_$o770Bfb&HrE?!WO+V{?c07MRjezJKb2g==Sttk{h+wB z;cf^uS;aAo$kAY>52-7o;24~!$)a}R&&__x-jG*7ed7cjSf@nawcnWpt;Gb2OGmtz zgJ#)9cl(gq*w{cEluAyz%~jmfk@mPFC*`hfmgYtt=HDrpGULrh&kyw3JQC*T7xXCj z5}OMW0-srCe>s)DvN%6**hbj2pHNm}nNid!wtLF)iA&u~#J#JUM4DKi@7QpecI?~U zk7L?@_u{Z-C*8!x7qSmfA&3VVtxtZTJ^KHCgo->01s50eOp+$m^{?uXP=VSas0eB} zW`3|oUVE08&NS5|awlg=FhEGwE_w|+x$`kOj-$!4WQ#L5h=DzF4zuT#k5`#8#_Gyh zng>Sstdso5w2gJv+1%v!Ic9vFW(y8!J%o{k-tL zPm|7wQ4HZ_f;J_|&B(Lxf*!sw$P(gyqVbkwLAx%7&lr^~l48{jb+5f~CzSU_yXzFi z)^NPMO!giCv{Ik^J{;bh{XKEDgi*Nu(@5fZC_<@yp3T4R6#nC;G7UT{J((V~JRajI znT34bt(ru)^Q)d=TzcEiaxYn%5vAErqI>LJ?ftYRTb3LFnlIzJY;$oUi2+@^$(3C; zsDLYPM=!d!cZc-YgkUl_J~X?h^6eF7icj!-=fvCtTY1_F4YsGd5sX|}QOV`Hk*Dr~ zy{_->-TZC~oe7&<>AQJq$FzE|0VL>iyP8ig>8g=1X?VoqxLO+lcm$AXHlWf&^?ion ze=b#@PDsks$cfNxBR14sOYI6<+TH>C0)Hhoen~oRl>1XD>|u_$uD|mFYk8>Pj=s8O zxAZk;K!lj_adjeDej|WlGW&t=JB2LVWS)RkAX%%|mDOcz496w_?d7p^NC>iuhE7x} z4!XOVM|wxYf&BN_%DR75HE&0pwa{yxguu&M^x!z(VF!sYr)Z{TS)|f=rR?%)9Gl3? zSkch?(|WMazC#lg+Oz~!^NGt9Ps+>)d~5MI$U(wzG=)G35Rv9bg@cfBo!%L{pp!B; zYkekbizh!N@sD?GXKwVtmbvptu#mec_nF|w2P;ArS6h)OjbsyjwF4V`sg$SQyqWom zfiU&0-~Fpoa54VW)Ik$0Nt^$LPQRzHAUST^U`p}thaSxi?_%!Ar1KR))fvYnQ_C8u z4Ysg&>2q1Qe}V_kM@^jdtdj9@@G*;a9Kcaa29=kGc!OwaRzrg5cyRw zDD<&h%*EIjI+#`u>Krv4R2MZSi<-OMy_Nao3;#47?$q5M^fvgNCgi@~i#qDm`1C)K zA^+<4X+fn!k-X}0#=K^KFDTsIwpcDjo({h7UPVRxIwaJs;8v~mmACbU*!nt)!puNp zb+7XgYD(g^Fyy7g4YK)`Rt^%HMDBJ?FVQ1mAT#Vh5cwX@cM3#Jq zEi3je7q9E>?W!5lD+g=oz}7W8gCF2$xFINk#4}Y(=ewa631RU$j z`h#x1O$^9#_KYqo_QKFi02lD?=yk6#m2~Xw&}(_c>(q}gBar~O?tv*jyP+EmeBsqI z!MWRe6wL0r@1!k+_Gt6lLw7xZ3XYr|207#=Y+BZHPVOdeOYoQT9e3LULHx;Dzq2At zXWgA337_BXf>LcI^D+9S8Hu;&o+#A+j7Bp~1@jk#%UxU6S{MJTi}eVbP< z5>emoEt({*1kX2wRv)D} zKjhv&(uG>8b#%r_OkqsK#ww0Vnp`VbkUH`5Sp2Io@eC1R|&ly%WS%Xhl`)D^f3asSnV4!!T zE0m62z`WhQL)*Ju{ervv&h>Jpv9bSd`VZ6RK(W9&nAj5>y{xgJoWI>yi@jdP(8pfX zk%?AG>G$GKUnpDU%N5p$a656@tfC?NP@;CVu!>oQdiB{s9d&m%%h%G?5-%^G9ZI=( zMm4p6JH}Y+hMs@ZZS6@#4O$Z&(kI@@$Tz%!zEg?dpTv3v&1_duGijYRsP@_K_0O;W zz+6)@&n_3f`{_=*YSgZh;LY|Az0|HP;?>(CMa;MdJ`ObH3ar^r?`-5ZbhY&%?(k)w zemnR^&1&J%iO;4LszlCy_{?eNA&eZ#%YcJ)#Q>c%!KAm-47d|D(<1ggP+ZBx#fudl zJ?hYveg~co6hUTcG&^`uaTdt)QPU457!bBC%+oi^$Ngk`mN4(ao5Y`iNbx$;OJbib zH{-fj?0-l(Eg>~;B89>XNi8->$cyQG z+i$+_N$@SHK ze6I(SKUSr@z6Lcyo+ygoGN z5P;zfUX$B$_Yf~{MrNPNchtww7N{`^k6Gi1OdK1Q< zY%dB+u&W+&bzgCU69IsEcO6K?%lctXss`^>UYfURf?p_4%o(Ki$j0!wH@0{B0CJ9| zgEno{4_*L-%PU_Bv_{~F+IAMv&8HlL?o?w1Y8TjW&S+D{bo~ciYPz3rmUJ;215Id! zE$06-#JeDEUjGJxTLN6?4@KE3Xc`Uy^uQV;EEM|kO~^_60OmY>>0d=u$tQDXx2Ap& zYZ;B9jEe@_77Y$GbncoWZMD%O3Bfdxl+z|WE#_sW+D9lSuRhBWk69+xehdhz#bgTz zO(78K*^&nm9gp7x1d))JQE}jX30o~?YQ7{q}`?Edp91 zk1;ia7nE7&VLs%VCh7cSK#4hYaj;hdpOXC#_8CZ7RP8Nq7ue4J$6*^2F*cur35lGW z?`A5anPM0{2nV8XA3?INv26REPx9RcoSHtC^g~1bM$43CK!<2-bXEC$1lE_kPgBn< zsu!8dTTc{5L|QjC^O;#$KI&}8e{yIq67)s!-Eh)F`#UN8{;BCM_*vG~wCGTb1ale|&reYYj( zZrMg8bg>~IBw|XW$5SQ)cw5PrsguGO=8w6ctJ|%{i0k)a%7(CX7qq}t*Y}Z)r{_5q z92A3^GTdoJ-%ODQ@@FE9<>&iXeHRSQ{=;Dvq^y>TGuB^c(J0mTm-nB=nj=Loy4Q!#x1yZvU%+) z?xk8{OKV=)T=;M_vcMKhu#X6~9+ZsgwXTaAv0Rc=V!6Yyx5Y~}H~gYp?a0{|ykq4Pcl{6(xkq-7nnp$A3NWHjT{aGx+ZnlQ=ER=oSZ+sz``X9_TW<3 zcE2@kdLuXStOQp9&Umlp{a1t+P(5c?FbptBwOd0MCm`h(8420P^1A{Y^di4r>PmP| z@qts*TpLvjxN*(+qU5!NTZ0a?mv@9-89h9YcTYD12+lXx#cdz5hkyTf8V{FizIdTHMiv9S z$=ihW((Z99xVa6Q`T%0PBtg~7FxLRa>b}*N`n3-o8 zE!8aE?{#pLi)=aaheGDni!3_Jmu40p&k$(34UxKa5l?OX1d zHj%+r^A})03Ss-fratHN{ED56G?uALwiPIrZt+#=Ip3F?^vWpud{2I<5#+|)Kj0fd z`Kc2Gq`%SE#a_2Zr2XU`GIt7m;?FSIQ`@N4ubIA+x%A7QNI zeirOM^|5!*r7mrTpW9074};mLYkkuHBv^tMdj>WlZR&grj@$tJ4M!kPp;xZP9>#LN z#`6jF?O==pMA4gwV-K9NblkuBsp?7qcdBrj(f>aMwoG$9JK7|@H`{oYE7#MDU+d0{ zsww|($7Dq(D;6SV)t$z;z3_hZ;}o9okumJ%74|L}ML0)Q?_{ z*mI_r?~!t-%nsef=L_1|8_j(%9oF!|s@_&^UjRPh8h1Theapd=MZY8c$M!n38=rsG zAcn3dQfqX?nbk0rj!1l0U#wnT4Seto-j6%<_B)UHdE&1Vw>u8@SvxX%`u4VJtj$fe z;*!RX@6r2Oe&{?|eFK5qyj2^>?p<3=PQefh|Rt{qN(+6;VL3)^NT?_B*yVugrOR^*_^W7Q%(R=`>VO~);qOlP^^*23~y-e%}+rz~_c!VAK7@wM5CUTpZv z44#Hz!YM*}&CItU<3fntM9Ad3%t280j4Ucpkkt`B?S#mQ2(N5Di5b{oj*`_rO>?wj z@(d{U+D|vM!fnWkxJfPhN0lqbD`{5;hPu;l-tbkTBfZIh_YJ=mZgxc|h=|#1qWOk2 zEsqN%vAbe$!^_?Wlh}}Fd~Qu|fMQO9Te`sE9J-;PW^2S+ci8kSFu zHT^_?Qr3Tf*d%qBM+DLvPess5+uRwvYR%5Ry-{s6ECI^c0Y`otwf(VqQ}&0 zENALM{W8+FD#~J?BHlrq~LU94XfEcHby9N?b8aAKV z-nqbHb{Y^SN==0VJC4&wjg;eBwuh}fAnF1#`~g`&Ey{pV$*x65ze4m6MN#0q?$zs9l`DPEo^llCYy{aljl29g3(@LN2f=B zA+>XQvVQUB;TGNT*;wtJg*z2GtZeuGJzSwIrPAUI5$9b!NxY{L_I~P4wqmc?raKW? z54N1m3BeH8t?*}9GxJ(hSv}uzW@hzw*+!&g_wN?=1ViDst_e0?>1$4JU|LQ89e5$% zmI86D7ft5;jiV}dg_lL;?+A94UEP@At67gYFI@e|W{LRTQ{ItA2zci_*ZnX;pTrwSK7R+m& z6_WVP8;i|l>Yu%FrANAcr}0$w#BLMfzGoKS1%k6t@N$HoGInL;YU)_1D*es`Y) zd##rd+^S>wVM(6@C(s%vXf2wdcrQfMsNg~QBPMa zQ@KNx!aqT*(e?rsu*u_KeVAm2Qim;Xe@ESc(NHHP`K0dfd3ko0kL3qZSah|>S1tW4 z_uW}nr|e+%4Mce4V!K7KWKdPJgira`xS`dKh)L6{Aex!Tdsz5ynnz!^5k4va_G|BE zSR{g3U}4c*YyB+Fx~v2F6Kx@q8woB6AW+}!Z5l$F$xD-rAj~uQ%Jq+Lr?r%_ISWLm zlo_PGDN}j3>{;ee38^C+YKeM!sl}ul|GnPpTu(AIBcgXTKhAQGe!t&gH1V4WGraxE z%x)~zEA;c+c4GreEXZH&R@QqFhKR#&+86usU;t#0Mu=OrR|X00Fa`STv$xaLdx2u& zxDAKCx|-Nmq+Qfoj+$1`_OPXnhrLngEUW7>Z<5G%Y%iG;nc{VYNFUcFE0bFHUotv~DE z2kx0KHhI|F7Ceh0DuhHaEJySCu6XgsOTS|6cw~W}(!Hnm>;is1 zo?T@h-9K+9M^=fAxj??)>eN%U$e&Qoe##C5ZKfD(*5PWc-(Xl#g(12p1CJpFrS1im znm0Cr2vkfQ;P6dsNOg8#IGa-I6e2^gZ|=RAyGko(B;HYapP6C!aZZ0T*D3PKWKlWW zb%NZ!!Epuhm^z(yA8m8-zNII5buI4bok+VSj?Ozcpvq@rIb0502_{Pmyx(IgW4srT zYsRbj#7G1B2yFKngDt%0r{JCaLrM(CE-nm`Oe^RM{as5Rx5)Tk3SU?!5h8{a_DtPib(nH(GgPionNnE8mKH}L8Qkmo$8pCkQ=>gf`?8^qvijO{d~RL#+; z9EW(_wx3PpoR~ca#GRS3XaRHtSXAvrYzmoDy zBowApXxayc=NJ3)c1YUZrmoA!rheed>tOt`6>1zH!T?x~Ih-zj~*i7}zE_vnI3dOx;%@$0ecx!_{TB?BWOR1ECDpBr!eVKy7pHfO#DIHqS~H=j&pJ%bhKjUHNA`gSd#!jYxiKojmY zNvLj#pF-PHI}vk~BM1HRKZC6c3YuC3ZtQxWow_nz`T|zNPs*VVkUBZSQ^%% zC%Acgi$Fco#S;Hm)_6*Xv{l?|hw@54Rt7|O>US-4BJ zFB2<@&cEsKcwxuUe@)ZJIRJuH(ABy!w)wdMf+&yN>s6xQ=m{&RR!6|`!e**LpN0^X zMgG@BC-Zj7tmeR#w@RG(^_Ng^)c456lncR27P}N$rVJh_@{bv-h|)ob8f==88?xd} zM>YNN?At38Xg5UPxmu>SXMEYc7ze4~&Lw;Mj!k^h0_bf~g zcJ;5FPEm5PeDJ;Gm8|Vy>Hg5j30V|h+?#Fr4dmSiJ~NyxJX_{$vi3%YTBLkmUJ|ef z)Zy?GCooLj-gYY&9SH;@(q;|ASm|C3A^suXPC+D>Qa|o4%gw=DA_RijrlS$$l8Eg} ztG#JciNxNQmy|EGZ+P35`0X$(KEFGXPTD2Btv+Ka{p*i{)ApC9(bYbL&cOaApw7|W zx@%!}kkKDdTSeq-&Zy95y~TPLg_>=_pTZ4V%f!(VHGbaI89wlZVKcus@&N;fy?exZ zMCuw~U-|F-sT6!IeF=RoEP6rRTK8{b_SW8}7e1p|fl_b;=ydfl@gf524Hzrg^Xr=pKISaSWfw25msDZy;SFq zKKt#R7RjL{lDx85HeENSaGX^;BqT^7g@Ch@26-v)Te(z1M5s%Cs z=2nsrJA#m=MoKb_Fu%Y`Mjy0Y@RW`)L_O8mxOym-Y)Li7Z?T6TNkGf!ozVGyS~B{z z#HS^OM|go4EOEXkj9S{gF1pn|rF+VFF&h{jXx_u@1947*xzHd!qYFNku8Tz`f9HR@ z7m-C^3$}w>n=*6H=dIt~JJY#47s|}f08K}Pfb2J-UMVT(>^A8txj;Ia9rn@?>1mmr zv@e0Wf*cL9HmtPuW=f?otT>P6c+dQXcs2tneQ;@4z`|Sj*!McUjb!xUA@u516ceb) zRoO+(ar)Ths4h$E7N^%TQLV)0Kf{nq8)9Sp)cHFm{=WGvVPJiIM2|8g8lR82UK(d& zoxZs0GqAJi>TzaZVasxKA@TC1?QFGI+lzdU8SJ644fhN@qCIw+F&_>r(kkmP@LUS( zdsKU4@!vbzEq~9JeV)<HfmOyyB*p zMYjJ#JAen0xJAbYfzx%iTWAZ$ZaP$OhdPltMONQiUk#I%Pnr=#_azhzTCi)>Riv{R zYg8sDXnjVW!&pHUFCqx0Nh_iRUoO8)qXE6z`W~=loVD5z^_UUP`?`EeqvjX&dJ5yF%<6TpxE7_ujn(bKIl8AZlCP|9!~E^1QnX z^6nzzYUj2wAeRLX0&P!%a*pgquX|P2Y9Ck?PWvWY=EBypp?n4X*=zMxvJE z;O!+X;iD-}gTQ$^zQI$HzY+puBw*#Lv$0T#EFYmp$^HB$C4sX z$wL;bA-CU}@TCU#yMy?n6q+_qWkl5BK4q{Io*RI*c1VVx;qcx6I)e!mNbEh+8|5g8 zN0e^!$)zupOKZ~$-4s&$bcYxFzs{O2SXW%Kr>6bngE%EAMM7jMsrcX$DO7HF-m_ps zxTsFo2Rj0aKPvKdcP%MCY^tUq4R?|*M#^mqFVB6Ejh~-DF(YSAR=4y7ILIzQw@VF$ zRD>LNK5SBULes)oLxNH-ad2k@z4RbG4ByoV8W3gaN^{wD6(=N`NYsUVvbU#ABT#&_ zekAh=k8?154nOllr-{A<(bQS}PF5#wOsI3giHf@bAukMvap#|`@k?*Vn?P}Sgr2XU zl55qtBA(|k5e*Z2jZasJ4wABiuG47<%8IcpHwaMP2YHZuZMS22!Q4sXEXv^~YIFnd z{28ue+Y(SNm6lbD#eQKhx)>f*!@Z?Qj6<9<%;KO@TV>0G0Y1Fv%?kJCt1;;W7V@*k zDyL5iyX%A86s|@UScd~_$?`wf*~Oaa=xpz1WFU5X3nzfz3N!q4w~ZK~-7*mzew`h3 zilN&A|01+&gDT?O$dkt9Og_SqYzx&aWHRn<-#COka^g2%o&?FI)*Xb z7mw0y;7nJAzhA^ncIae9GMix#=A4w|V}jQab-X z%vObZA1pCuF=&3iV>O?!G#o3vx?k&)W@AJNhb(Dp?w%3GSoSp6S^c(vG?BO6^bwDx zHqra3iK|mV?IL}Wr~b>1KW5W9>;$|o?aaY`#8b(1&eKiX zgC-gIX_Tpz$vTVwT^>2 z){gM`F?WEho}V~d;1M1#i83{n@2#`vu+slSv@3ZfX6>Nr0mtNyYx^}UCIsH~^bhY7 z?JF*n6tBV^p|-TZ|GaTp#ud1%t6Dqhda)dD6o5C24r-Wyf)bl{Koo2)H0an74d z8q`0E3NU$C2#k8E0pm7Mk!qw<@o@0b_UHpYpZ-JPu4V;b? zzB~j9qigObA4(!QX~D*IL8IF+dwsRGVU=`{=mxE^U{o8Xraif`k^y-CuJ=o4B>vxX z7XE6IxeFJ278K2m>BCV(6NN@^@2Y}z`%6k8izr124tFl%2PJg9H3|YcsnouxnMlue zriUksC^d$xq(i3@dD#E1Y_pn`UIUwb9}!d~CKXzm!s3P`GIljiEn*aj6rB!qKxT5q zl?APK91u|3G$-lmbfsA)WO+<6*#2ZgpG{{lhX6KV-?_i%wJv?Ys`SXilnG{WEJ4HE zMLu11->I=f_sGJZ&3~#Nm@t{liBPMI z{Z2ED_xoKol{?^VFHZHNgI;Z)CRgvMpkMeeaA=|EIGM>zzb{u)-M?gB0` z0|<$#`8Dot$CgWuH4JOlc7V^R9T?2N6y?>1U$u<>{qn5uqtpwonTPclx8@)O5b_Bg*M)E$`M0eh5{_ubX4B6@qIVq^^WUVdEXLRHcB0)83BN; z<~gKEs;IZ=pFq2->V0JozUT8if&- z`Z|E+CNi~AIu&7C=6J&EN1057Si#$X=*5lcEfET(yagBLI~aUtCaIi+6s+-vmAT)4 zqg`Nc0)FIfFC}KeyADn@Q}WsD2eR`FIJ_KiT%>2Ar(~&8waWx$JTgA)_YDzl*D)Mb zUYYf=;{9kMK$ZSWYtfg&2bDhb?ai_^FF8q8>U~&V7ZV*~$l`F5qnF@19I~#%b(c$; z2m_TokZ6dR%u!X$%wcxb-5O8H!uBrBG_|2emgtIr0?9~ZkOsY1xsg3oA;#(GXJ_6p z;L3#q{Zpm7#o;Dr%!r&4i#H8WUD#cVs^D(1*&3+fe0cjb+5tt;v@<(PdP7FvIDL6M zK}oN15^A~42RvT|Gq#8xaU0Y~Mc#pSsip^rT3>i<&!6YHRAoh4H+kJxu2~d(}%D5i6}R^Ol-e9*;oj4>UV7a$x$rU z3Pe7~O5pp7lW`BbUp=*=S3Eaxy==&nKPv7=xUi4`s?gYA865k4qW4%~$hd${)%>i9 zJQ}*WPYL|QDeoys8+;Usoci9JW+^)~Q$5gF+cDm9>)^CO`sm$IP2P49`U=WvCNsQS z#=&*TA$RVpotf6RY?*4MlS(f$3hakCWDT$T#>kgPnN2s#KB=UFd`RtZNja{aY_fpj zHg{rjf2hRZU%DG<0TYw6dC&)-pKUsqp9O!aPYl_1t9?9?C|!eN?KzqCMU zIhIp-BFN%|1qd@0nQS#Hm-CYC1(GtOW?)}Yd1lkxRQPPvk%k$8qge+MkzRn8T)Dj7 zd^`B*`cj)hEzpGcd1Feez;+#&ly0Q(*_WO8XefE151Aa($nq{?aA+1KOWkxx#L_j7uw*ajTsS^YtkG}N*Q5$ISEWk zBW2@FF}-nVpY7Wp)kt+!aWJ>(T^u7=`Fx;!;dpZxjH~U|iSw(i9}^ofg^~gbSK5Aq zVV2TH8O{t9{sl+X{Ic-wZP67a+|YJluWCD|_Q}h-QSY5fy!nShKfCJ>%e0x&lCt+R zpmSuf7M9NrHw5NQGD7xhmxVQoE`vOe%GlY-Rv%lV^aO|!3KdzP&@qynl`M?$4Td)BGl!_Rr`!xSdnHr)y?98|4tX*ozmTm`q|g z8@0xj1BxqJMh{&qZ-eqjV0;?5GDcCZg!(eKU>$4RWZdw z6VMEb%VXY$#<3*=pNia0a1{&Hu8q0}gy~5;H$<>DAu@yCHb1HjXcqqn;3YM3={B&0kFiAfckZoNA?viLE-lcJS4yQK>^x z)6E=U-J_0V1yRYfAE<|p9h#Z+0_q-oEJE@mm?HuFkqVy~*Z9*3Wck=AV124(|0NE^ z!e2_#v+6D1O7*nm>=jawby(&QTMb^Kl|LWovF^8 z#?UY``lv!?eed-SjrowJr_ArC98?r9VFFB@!-g(B%>wa29hCV4J#LwV{=ME4+V^jf z1dKZ97FK+173e>B%5?%q)*uhj&m&807smy`Mk}Y2jDDBJD3UbH;>lC0TTJf2G}1X7 z!jD0HBi8CBDcYY3N8UQU8ti@IIO*W*!)ANcM@H~|F?bumyTyJAk6t@lko;2y{PqR# z<61Vj`jFJdVYJ&TfGIe=iC&OVAWpt+KOGrzKeYC1*&*P`g~0Fngj3v3xbFXxC2uS0 z*uXc#kxa+#yCO}FE3zXT8-An}wfg;V zu+`=whh*+JAU1b2%d^r?0RQ9?Ct$6s;6#cQI7Q;^{{rtftL_VMa{AFZE>_8epoTZ+6c1Uk%#mc2YY&J{>DlOxdm=yroc;=*Zi zQ3Ke=Ytp~b&%a8GKXIO!PuV^Rc;(cSpZb_TP1+xXAyK!Ff98+LOk!q|ID=O!DAgu2 z4H#2HDUXc*XcGxNj4-3PBsPYIozxzPi@Cr`_2Fbk??7J9RSwRlw09{c+#tatq5p za&7#+TNt?F*gYabRi+~=@P>Pw`scP)QM%;2}#I^p># zcWwT4iFhc17~`!l334628&=x23LL-hbgE}#oU8LuDMfsZ#jML)`uY7b%Xr|!?0r0p zJIMbj6{y^?a*B-q&np}Le-UF^7(0Bp!jFhsSjh16-CQ0YD&a)*a4Hltx${S8@6Y+3 z@MTvCFC2}9D}Mlybl0mA!ar$OPXD^%x4Yn%{tmH2nttLY5&1hNvgoWZXAyoHQ!jEYBPz!!6FTDT+_0<0>zR1 zGZ?AJeABY^#uiT|>tHCQsg*t0oh%|V%U4HuU4hhOPp|_B+9D7V)=Lxnp~}dO*(gak z=`3;VP&i`VIx-)=^(!W$Lp-d6wY^!_(j2DSw!!CVozyGec~MzFu#oSga9TWH2UI;0 z`v6pZlkbzzWo6fGr8kf%c+Xh#?7!t{*xd`R58lxNmt8ecH7O0XTw$G6Ic1uX;Mfel zCrRO#0Ly0Qwsz=v4w+81Yd3s7SHefIa7x4pqT*&hL(gUe5y{x8N{oIO?|A-+e`Aan zKY+=lPNTmkyvlvz9ke{MXAHmCD!=vZT?L+9g+o{En)A??%vOU^pCS&r)0z zB@lkrZ*T+i*4OYj)fENb2%_tiVu9BMwSBHFbnO;pautG2KupU`9tKNz9sE2^P`f>$ z%lOo?{i!;Y%^?*Nnp5Yi-d1IWuauY1Y)%q)H>udBy8EM6ZfNzUUjoW{EgT#EPA#rO zyRUVIJofqEyr5BKubCRqv&pDwQs_7(!TxRN(SD91gJ-0W&Zvj5EAd*@rke2qJ@cp6 zLVczJ-5ZnQKZzm`Q)>~Mxv8u25=-51q(L~mr z_R_?#z0OU_^o&lHmp|LZioqgA@dTDlzXKx69kH~L8c@_xBHEu*gnwdCR z^+lb1oI&!67~PEn*NxVv>>f|$yCybZHV|yj^O=uGIp>qCzx-85Pls-=mv)xm7`Af$ z+O)TF8{vcCm(ezMq<)0`?0GzU2fw#d;!2U0H9ohyQI24bDW;v=>I*Yo%h~G;siK0H zo*QeH#aV-IBy)pJG~yD>MJ*g2!|~_Ql87W zyBTA128GVg2QSU9;Ue{7y{moKGJ^A3ZWzxbE2+3Q%fzUlmct^v#~o$zg=G*)WLA%R z22^t~FG(sD(@m!@zPR%ayqKR@rIUZds{H~hL;T3b_8P8g?@s%NxH~hbdFA#E&7QFh zlf!Q(8KFAH&*nL$U7OXMnnZJVHanmT@6(Ean9^$y;@unAF{#CTA>;Pi&X7PckGO5K zkJa7|qaWiC#)db?TPz_TTSU35w?rlONNNe+Owv;$g=Z=RvkMmnHLwykE7CmM!HXsz zob4^5_^gF_yR{Y^DBo5OfdSNhmoC?Rgxm;TB%?j%kPgX|rsz!H^^UK)8hk|7>UGcZB^;yC>o)2l5iC`Unh^Gthj(*5B5qbAS&gB(SgVWD9;*X98UVz5&%{+B48 zQ2xKA7jF~qIZ>zZYjms^0@ts%w}VFiTeIsxiP$*3ez1Q-Y{f*N6%~vU`Il{IeDq(D zBvBI?{9V8?$@6!R=M3T;&?7&rA=a|i{w--1ffrecmbcMpBwCxs8A`)y_p$VRZ}oPc zMueQgU9@|$<(+Xd@LYR}8aIA=`jx}Yx@q!W4HjeZ5$}}k^jnOcUl6%R-Ln*GnM#q! ze{RYD9(68&cN|`t+$FM9#&%++I4zE5h@V7%Ptf{gq(gnPz1%d$BJSuTVQW><2I7caq~PUKiOlj zpzW@h!1$9%V?~6NZ#T<&elsGt)9-1@IZoL!kSD#d)Z`qfZJrM%+$(36M;>~Dy`L^h z7NqiRm=wQX*EjO7PximuEw(+50;tGGtpgs3Uw-PC?r9i*g?0DLV~eC#e{8jG4{BkO zX?LXQl-B(S&3>S-QV94_GT(KX^LLMwm;_3>-hF2g>hFdHM~Ixv6-8jpyFv3h9%sR( zCnSsSBEbghh|YS5wn$PH8+fovk7);SaGT6ugu1cvPu$N^kzu7(ULlZy`B5S5Eut3S z`y+(!;qHj4vOv-C@_e8oR~+X@9cmRu{AmTfCcH)b7YNtrd=Tz_1B;sfZd9Qr`3i7b zE{X_PryY4L?A@o7-(ryH9Ev`#nCE@5!-4n5IMrTRyc_3{2`HhW9F2KGD_uuW5nTV! zpeVz-S9=EqzubimEig(JksR;H;T@mfN-8QYPYQQJAzmY2b?%ZAF+&yM#g3HK3XbKDEO!RKL35`zp{9k;n6J{)ASy= z{ilHC?qH-d^Yh`J9@Sg)@!jwapBzHCEzQ0I<1iYNaG@hkK>49Xw3QCOM(po={5ApoHY9 zHD1dLj1jWwNo5h=@m<^N2_~rSKLv;L*qCP&T~Zw9Svz^{&_iCs#Yon5^|(89fkVQr2w$?0br}{g2F%T~_6Z#)-KvVk=tQ?PsBHL=}Ud z%U>a%Uzceiy`3iq^LKp^U%P;==hq?5!fZpQ-m1UV+E@;?0sGHdBaua#~eDk ze-@AG!;yuSbn<-&)BINQe5Wd9T4rl9)V4j0Hb8-ddIIY++ne;4+DxD5zeLKlQO=ZY zT`s4_&v%`#i)*RH;h^v^is$HE24+oj&1ENA4&vP_m;sQVIu0Nz9Xyq&{T0b()A>Xq z+hl?9VW7dLK(U1G9}%q6&G2=Vx6{--G^LL>RPawdkh85Xf^Kid`2RfqNyK#T2HCtl zdi29#==?qy(1F)sYQj{d^}3qMFpm*#7hhzaRV7tCgQP-gU2h>dOW+ux2KzPxF4n}l zOnQIt?Kn~JqD;=O6zmnvB?c`SuI!yh<`%3W4QmSqC24(bCRLyNxe#1=qMo(LzwYg% zJIddZZN>Y^VgoYD`V-JhV9D-7Ka^sGU!*fIZw7q6VOWdJHBre==u3>zl`t_zII(TQ zS24r2nLA zV%WhPKm5$2$$D&0Gj6hA&`}r}x;YM0!iD@0l4x0kJM^b#5g8Q!u#vGJVW+Cl9?rbf zaJ8wMG-|#7#Nj60>9IgbnA#@!UeFpZIq*Kkrn13iYvge4^}$u+d?3IuhL?1sen($D zH^HyKvl-H8le5#1$H1)gyA+8-!J9N1&{f2fs-{U~RMjTzTY09Qas(Ugcvtb!X{KYg zK)Pg2+*u_wI}R;!9E(6zJQ+xRtWtUWQhB}yoUo3^;{b8Dl$L#)3zb^Yo_a^-hIhu) z$o&9J8oHy-E$f1DzFus0?T`x8`R=@72LL7NEmz*RZxF?K%xm=p@+M*px>O6=joy8tda7CK6s=XZRzOzxcdOhYQypbicidhAGwg3GE<6HWde2 z_7kmzWILmY2)JN#nqH3Zc8CuNY38J7bCRu#UL@|KB#BczT6c|YVo)jx}4Fe zbF9RWd49{d&taa*af{d7>PGLYinT&R9<3Sp;2qq6cm@_~xtLH^nH_Y<$*%JJTjToG zJM=YAG2(Lo2qRba@aOsuuMU%W3Vb=z+dS=om_}dL%$dPXZyDD!yr@cO;6j#+AYGS9 z2^U@o$Pid9J|bNd>wAyp`9;uCx4B45pH7WPLzE2Pqc&Z~!4J%J*o#V-ZG^TjX> z5<{wQ%e(=%{r8&B4u;K0>2PnIr0D*f;f{lX>+;&#!a0(eJM zO@=q!UGRdjnkO|Bh#t%sCArFv+knNRC^<0VxZrXU*ulqTYG#*xaetjm{Xn*oI9~dm zx$07jp@rd8&%ha-@5RiI`*yOg4WBiu{+N$Sy=Izs=3A|w_dAsgB1da)-i)PMK;f9i z*d`V7ptRBlscy!>Zu~;M0mS?MTzKbs4_=wVYdC`Peb(sxfN-V{_bLfCQ?{Soe%7lZ zBULh5b|LDE)O|YZ(844dEPt#>Ys$QOqVCa8V}Yha`bVr5u0eG zO-qF;+*Q~+0J_$im7}@O`T`;&xKOz5FB02z5aN$pss$tG{kF^q$>vPOVY(7ER({0@$(9dn=Kzlo%B~deg~xFEjV#HSp_jX_=CDoqxv1jv zX58&Rq30S5hVbFEwYqfGLdv01;7_UF^%^(q(v3w0QemyKGDgGiY*Kd`pxAU0!v^S$ z!R|wz%P{N^_8#qI7CBlS=?!yWPnvQR(IkVXZ?QnusS+-aBc}IlQEl-?%;JK}=c(dE zpRvJcSd%4r$|MI|I&I>58dKVGfv8dkWV{M*bW}R7uYOv8EqOej*|U$oT$D2v?7YRY zwR`gCn<~a@Lwi^J%a*UzR!4PI8A0ii-rMGn0(^1%$8lb`z;wtj**nXe_7VZXi!wMV z@R-rzsK%6^8kk2LlId3$HVK!xef8bI6S3H+U}r;HJE4_f@g0}zqz~{Rj0QFIsIDke z_2rpahGpL!wU1aMstSTIL1lbAYyiJRSoej`dyyoX22|j?94>-ITo#Z3$Q z=NCGxwPQHn_0N*f#T2YLlRRVvU|H~;ySEOi=r;#ROS|rVFR@EGaV}=~jH0FFT62I(~eOXUY7cryV)+K~KDE6mTGIg&lqqzq7Q} z14}u#!{0mitbehxolUZ}n(bm6%HYw@v-kDf$>s7IC9-I|&FHC^hHFk49G7*!i<}+S zOP#hEK@It+V$<}?`ZN8I$#Un-SnTv(NXgu6tS5;ZysvY^aXI;xx_(S%7ZXtBk>thW z^U$rS>LkVx7Q;!JBFSRNda+rr4{%cQu8-rN5q;1i^Z z^G7h>b3V5kO0q^XFgF>{hYUNc%gX8x7Xe*xd1!hc1KL*6lxMX}e1N^E1VgN5Rzaq2 z4wjKhHaVgI(bZreFhbGy4)K2C_2UD~Z&#FYm9DAhiR^tK9uA9105ByJ@M(+)HDSSg z<1a^Dt(4sx;IAO6QlsuvrGae%5)XexH(Uo=#IhxEA*_fYn#ZVP!gBk37-V&{E&;Hk zG5f6)z;H`#x=Qh7UhFY?sw4rNGxf|*WTI*z=q~F+Kyc`-4PAp0c3ebNA8nGqb35-; z>*7t)ZeKC?{;+NH+QdVY0Zjwy$u6Y_c2c-dRpocB7!bezTMoj=Hs|nGo~4!Z_UP0n z22>i7>eYV&_$5Ebvs}Ib_f5!ghC9&idtAZg-&tT^IH;k$3t3-Y85DksX!#1%U^Z>2 zY8)biwiP?JpL*h%$|gKk7KE#<2s^>~xAn?7b{20$BB|m?Y!9zl^&MoQ3KX8+2uw7t zj%60ZewX*ajRzSko)KXj#^S1G&AN-g{w^Z+NpF+Y^0rk5a6o8rMCluFDPYzl5vU_- z{Kl2!(DW5Jf4A+Nv6?AKc>6IVt1e|AsoEYzWW4L!k^49g&@N(M?aQRhYtlV+oLh)> z-x=_Rf%oX*l@qdcYrA#Q%T}0X%EU5!y~R5tN1lIEQP*-1K`v`DgD=z#4Y#%^FKi6~ z9TLBu0=Tw{=sTpgCj3n6cCN&rZs71nPXLr(^?3pJuy+MeuS++zJuH{S4#mF(T|Ry+ z6O$Gnbo+e?bGl`tWb=`oBxr{+~f+6#;UjeQ!Ip7kwpq!yP+u52aX zmjGPSqJYbDChVUCEy$g+jvs_g;Q|N&P|6lCPoB+8OEw*)gK9^PUgsV&^E*fI6`yWy z7g;v1FO{}~mAhVaYr^D_oM`#x$Sdp7wlfyQe?Oftp>|XTa(fE+mZp7j#Hw0r6*s*~Ne>@j7)XN7#TbkNT$&gKTn`uP>cz~=MZ&-TLxxLbbXVb(@=Vh zlsr4*i@CGA@|0qwEh7~}5Ep}`eF+D6$H((U(y?X+@CIi$1&g9`bLpb*&0}AH$DcJ z1bDP-Ov$vVh=aRp?oo$9WD|GH!DiNcA7FTONtmk#g6R%-Xv%3zHAt*jRr7m25a?EJ zkp@Fy^H2pjHxOJG+K$;C)x=%%=(%e&(2(kXFV*fPu|=0()y!P(R6TN`mrz275;nMXAKBjag1J zlGy{MP}FX)>#yg*ls0z1+tlp9MzH{iYe>=K5}6?O_0X@7>8ZGUwXi;iLg2;P`IZ?l&Bx zSUH+FodL3}ee1>gzCCKuXMD3VOmPf}TAwkKJ_NcVm}K}0ggg6~2R&h_=TLfZdS(IT zB$v(i+-48k051P5?rOlRD7leje|VQXWXH<-60mst;cW>(UQHj^QcPghNwrrXPy4tq z)mw%GxKg~2Jl=O?U{eu51JqWEm07ZyH}nfVevZWlV9Re*L7)GAg%3XR&FI;D%{RW~ zZ=G|X(2xIhMnvWfsM6vsALFI4e{76PUa-~H>dZjQfNo|w;bc6n>4I6xbw;UD(d}sJ4k6SBU6CRCyt(MBVQceQ z1V?Me}Qy?OlJSK0x+X#C)qTj?MIVdp|vFwE5v? zl{{vr1t%xp&>LgkKG$;1c~#Bf1->t#*cf?hRJ+e7|OyMq`5RE)4$!=wWG~u%?+GM3<%qMXE`;bmOj@TUKIb61oeNm73m)WSpxMABX?>n zLQ<9D?Ks$+KX6r}Zo~cPcLDpn$j=AiRIwhjg z0Chk=TSmJsS~qp0QvTZq9`hIb5WZFTeDeCiLS3rmZPAT1A{n)qUn7$ct*>+uB3DGw zf%vAqoX7%bY-`YEmlQhslWKw+W)+%|`$4yghzdORGr7=T9sys!pIiWHrPjT2$sb$GlN&5%Yd(^WH$I+7Fw(IO|f$fF6>E@{_hK z_vBi`31^53;z{Sb*qEv8Q~=5yq-OAOYX)?)Hs5Wr4!NIG>G^e;z&Kd9*qoN1#MKT& zg;0EZ*jNW#N;Hc=#xMRrw8cRi4_4^lunPw7N1)e_FAnFnfc~=ED^GQ1qOyjUqBh~~ zQ6t4ap1)Yb9THtyIE+~+v|rv68Loq$^deM9*nJL!5hFIhyiFpU_IU)o1K=5+Xkbtq z@D|sAtM>3_{O&`YAtT-=J*D8LAybo65ot}w<}B4O_LB>zU47y^0V&jX4W$Hk}fi16{>3eVHN5O zLF5bJ^^xN8x`tY6@;he=Wz7l7x}T1sC>r-0gy|$bnc>ORVKggnoCZ2B6vP-LufI58 zEXxz71trg^Q7YGyi|z)I4KR!`$>j%98QgybPwYYqbNkB^Yv5OE~3w<970YGT#31P5+BMIjVdq%z2~f$q5mE z;;aQx;<0hoYcgVQq6uw0_tkqLu%aHsmE?gmx0H zQ|(1{jp7f-4?eT27V4=Km7A#Mv(_5vDj~R;cMd5oECa>hxc8E_X=LFw&)tuP7TX5F z(6OMt)WjUKM`Cr4OjdHadftHHwBft8| zT~401t%Rt6=)8cLpsir|t|}Shgt+`63gg3Tl(l^8W2*^hIf?sB@h&}7Flh=OrnbW0 zxsm~U>XIWqi5KczQDeXQi6j#H@>Qr|ito5gc2FwpaXZ=Iu16)w`AeoBaqHH{iWU_^FS8sKdu3k&PI=C>4$2y3%O zRmKm0&^LlE8=q%`T>eS!b$dnNNdxuW=&{^a9w2hE^X3+tQv@>W;nMDTmb-C`E!dWo ze+oqA(uzBe{v~lYydU;;JLi=9SZqwn>1^5Rm8$?H)dGV;wR6Ss#ueMzmvMo? zD8Xadz z*sfPxcH_2jqNWI}9uuQD*2i5#CMrR(1mKo9V_E+gtsIvwYIAgcc2W4z+YujpseoUC zs*K?6tFr(e6jhML{a{~AKUMpC^2}dE+Vx1f%iFPyQR7*G;vD-sy#p_Xrvq$)-ctw+ z;=+z&pM;e-;m-&Z zIqS5j+;5-j)j2dEl4*3T4v-_uV?yzAiMRD24{h4RLb!Ac3VcUi7D2}HEZOLDhJTt> zaO}*&0?9A6aq5A0@7^FAi5Bw^1Rb9dT=1+mIcwEQJE<(i@2ED#Eh)L^Le(Z(h^pzX z(b7AUU?m&ISd%{_ejwj+2sCDyBOicsg2Pja#E1jug0LU-A94h`>gPSl;dp#zx#)-6 zt8It^`ljbkO8pKC99ojKRTs?qHvBWwxl;DG`w|G}jt1sgQy;KkTzXlJCkGowCVS#R z%9)8o5P$pLANdj?d0j|x0G?(q@A!TdzDwowkN72?} zAu&3`*N%^iL$eJsCeBPO9yZnzP^6HsoLk>odIWi|lLj`N+vMXp{Gh(ZUsfJ+ zoE4OQC@&}F-L}p7Y*{shRB8i29ZKI`WpCR;hn8$k^t*^7+aQA2=m)_@MT?LM&<$M^ zsh&p+zSqO14sB1kPbde`Wzbn?`ST0!e>uwW@!n{#H(8(x4_-jE4iaMr2*A zwqTvi&~6tz2IUj{eh_J##~`LyvfG+2U=H*tJ}<^x({t?uvN^CbgcxT$3h50IrKV0? zfn0G5>Q`M0R+~x-&n}ULR`Sa1DN9=vocq9~onDq$2MTzGir%N+yiU#;^K?`@*W-2;K$1jGY1&_y@u%u+>6YhE zY)YLtNPvRyhj6p2PYiC|j_emlPH^tzjj#fazwoiVMb4i*0W5)8en4a~Mj6WSSP7Q| z3IyVjkUJ|kj?Y`U<6JrcC7k!ta*Ri(mC}w{q7IR}Pn1jj@lug#$!1+{Hb? zn3*gzu(68=4{2kdW#sC$shcFbr$(pK&4-NFm#VPFL-6EzT;)~I)pW5=TBx>n-a@ui zFUkfS1a(ztcYWAbhH3Zm=3SVy9ZJ#LIV5f&=>2E%w=+J36g(Nz4rgBliozaQtNre4 z?ZmAB|DB1UtzuR`ps}HwbRP#6*9z8Xr89!{eDI^5ZsD^B$aRi0t~bMaSUg~M)PBZ& zoVpUWtvPIM;VPq<`o(`j*545N8YI4us`5=Kr9gx{7_zS_X#bAmyx|`O!MELtYx8sH zW8o>BRq%<=*}PI(SvyJg{@F4Cu`#^P99BFKVouVk%uV^Snafq4413HyR-B5O4=Q z;Dhl2uM+YXuJ--6>yv@yR&per#CX_!8PJORd;>%2{@ljK6k~Ti8CGb+g2CkqH3v2Y(t|=)R_em5#9FWbz-!hMAB9sBnMEhreiIDFj)L)2p8`nZYch=?q z{ATo^g~zlpZ;r=&I65uWCuK`{`Ct)+xOWq$GyPMj+uL23+iymM`vOEHFJvZY5O7B< zr4PEihYxM}z)u-BBA=LXa6_2m^{V}1qjpIx(nx|;BMSbLr%j5Mp{1*s9@@B1GgsrJ z+CB(wwMnMzgmcZ)_UqcF>7okW?)!&avRsF=V{#Y%tV>cK6cw4^JE*H%c`_p}_YV_8 z1D&%LJr92`%qTkRx9%Ne1PErW?{(0eXL5GZ$d79{M8ba{u2D%t;0Cs(3~v>z>xqpm z_l{}GhhcQ;tZjVEmdMaN-R`}pYiC65EHyzpvaP0WGGu2bc(j%CRV zSsdw?_VV7=xFeoK_r5Fm=WyL0ykG0av;wh12n|g11oN_HyR?1sa9y8;IEArD9 zhAkKF46c@p(CKR_B5Tw0&^8Vo%wh?}cuq z2Hc4m`NDW!{k6}_C~)|z_Ao>(bPks2Pe5+lvZ2LVS_3BcGy0oUU3^ZI8Hh4WS!#S@ z0Q`5`A4_50^pZh96pQ;0<^I>{WRrWvFHQSeb(D_rOf018=zO-XfkYLzawTY?IMtj2 zQv!9Ck<))OIzH5Fd)n521k~q-F!*c?Qq`bn`c zAX3MtYPVO96|n;Rl(>I-F2u`_;hnue3E=s5QlR}0VAGd^f7JGf$+;{4Xxb5x|GQ1z zd|Z!391orHk&_2r9Pyu8cf|i&((?ariUL4_`vyQk1SER-lV|X5Ko4NHsi9(Vhz+1| z4$icN=q%Bz@*b<*E&zPh zF+-v!bH|w)iVWiyt}+O2b?r%r9=)-M&dtf4gV+H=Tbx>eUJ%)VXw_cbb{LaHM{c7F z)3H`+K0pgQPnH_(BTGw<4Ij`6;(@AyufYZ%wC}S+)t*dE80N=(AtqNbU_O90I(4*I z5AFld3q^V#yBuT6k0M9j{}VN++usi8O?nK57*Nic1pHAK|Jg+CNMC@>+fAK-)(o?b8KHcK@Ebn?`bx_rwXnJaOeMk+Pd0gRf*U!srBTWL`& zF&7H~{8N=D1?QrJffKK5&(!**Fv0M`DDQg!66`uE?4=;7^*F2 z272xU88)-og7fcJt*7`5K3H!fd7}L;QQ-4m@ctg{8%9?Yc-r?ytC}Fu?D9v#N;YSL za%0e79CGyF^8^XK$QS`+bk^9k?QTkFEj0?02GrOhiihWp2Xp8fd_QQEyWCuLwz`s^ zbG!Z53$|=dTm=m9646>Z0^N@I7%HGl05q3DapauQbpcY#W}lc#KIW6H9Bb5(2gjK=NHrk9MHMjW0BXeh zf$8xvA#k5hdAOoE(6SpkwwO=tUz9*{;^;pXH;e)uG6Dm~K9=6Ws`<^8<8IUJtxOzr zjI0?0yBqNga0r9R$=r`GxLr@qBkC>RbGO$TI)<8O#-d=~BI913Z*MX>fBTna_c4~p z79%D@CXalfG-ETguGug{zS}Tu*DjR8nI4vDtWy{{|GC7R za*<#Ytm`%D6(di;Y_87jbFe$zb?7$cj5}GEC<20{fZjrf0+VhAX6Ia^t#TTqC1((NplM6HeUCX*r_7~dHKGXY5ysAdZX~KP=}z( zOzQbfpNFb3dRJ-vSmS~8Z`jiAc0I}VW<`=ybscB(0w_27_FN3vkA@%jhpzaRFFLcf zcZQqK;a+S>iJyZLE_C5AjiKtI#l)tWOb*U1tWxP^*BA_$-Zd&8_Hi25^OtK;#mpb8 zn(!@>Yr1B>?`ip5_+77o-!T`_gafBFO4i?wBUtu5K8{zAvGY=`XgPprIExe5N z9clkMy#1~iB&DdPhnwBxq=veky+qW_zW2YrPSml4Q(Cu%M;OejF`LXXGG`y;No#;l z_cdihfL(yti?TPH@WHU)7fNI?nKPL`ItHS7rheQ{Ib~*Aq7MOY*$X>4jyFmwcC4OE z$U5e#($?lW*X^u~63Ia{@kTyw6n<@BZQ7?Uj_VZe>}jk*IL2kE#bZ32_mc|jrvQWL zI4E*dbmOZyPxt{prQbmrF8`GNz>-tpQ>{+w3|zt}Bj< zJrFrpm0<3yE`3!bDX>2^AeUV?hv?o-h(vscZP~u{i~)Lby2zm`E3*k$c%y}}5Wl1Z zyyph{q1nxzZKMbEkxJ7px`7b3waCcT6>4i)yT42rc%BUm}$gB)VyN!CbZZUEmUGt*a4zX`3cVt|HVHTHu~ivTko| z#5!S%xi1|UUZ4MLns9Rg5u1c9A0I#9gBeADSf~6~IGy=aYxY)(g#jOJ0d-oca=EE$ z3B0zj7@5U~$a1jORlSEEm7B`rbWZ;2A4YoWCdn73uXw6lt{r#3N3R;i~+LJ_zf6w?Q!syx(?QLS~PtU=`XBa_9itH{G>M?w+D;4i| zd_YIr*L12aV>WjAzInx!q`;1YOP#bw8sorK!SW(VisN?0gvLJ z6rE~T96rBv@DJiMPjgRxd23v$u}hzy!y~@wkt3*DuCEf09=Ssd7m!xJ8~Kag;zzPl zqq29i%J>?(4QS7*&7ltt)5>iw2ZD72l0UqDRVeSi(punI_4SG*REm>tJGlrlaArle zgeuw7@8y+1<&#>^dB$Nphx;+2W|0fufQtZXJO0edR-LEZR~ihX$t~opb$-57iz70e zgDVFbTw}4_E9l;2y+t)UG3nHJ(kXA;1;lsV^46`5>Q4&g`XXOx;<|$YkcZ#T(Iz&B z14ddd)ETM?^0JZJ%)-0nsywE$6Uo6 z!Z+UDKBiXcyr3n&9=3Vk$(pRI;W=4g6p-E-@B*LHNEU5>a0<2YyHI#EoRP-Zb+*cJ zaHcAT1*2-TPfG2Nk}qGOFaAwm>{2VE3oomqTa9v{l8MN#9dqVb_fvS*8Nyyg#;M%Y zI!|auW1;O#*=};tvBlJeJ05$3ocn8lI5~f+ve!e(1KF=r z+Z9wA2r@kGG^=q1^dfWZMd9VOT9NG-d-2{#TT8}iJB~nJebyT<@|cq#JX&`JI8Njx zge(r_-4nhLIG8Gs+UGyPFPOjim6e!x`e_{$cm6WE*_mBs&;GA>2#YHsr_&tDD=S3ZwP|$cO9*7hU1Fv zh6Z%u)(s&sp~}u8;@C^+>wl-PWrVM=kC1bqlZai7;Yf-CpST{mLRT=)O3>4&hgcS1v#eYET!_x+z%88|C`O+#yz?Ax^+P@+ z!jj7@YMF6%k)IH{kCcO4KX{ZCc+HqYMk@2w1NYPj759|p*Az_f1cXkrScmO&EXDJn^Wz}gNE|Chw`=8@keQX_*+Wh~y;LkywJ@Gkkq- z0`}^h8=A1vZU;xKeM~0_SgQZZ!^X5MXbz|?oy;GDZ;aw465X|(#*<+Xc}{8@&pJO#yNhJayvank>%xsaHIY(Ryb2MbjB_3q6TB z*76dzzIkDTEG)MtuLTTQ>vLepbX4;2&o-9AP&&7Fet#4;vPY_~o5IG5C|JPITG?(y zpdR*VJ6x+WBP<6xlxUW1>Rww`f1tEN4Is7Nj>yeNc$V|OtBKvXTa5%6mo+G6Dvmr8 z-#BbM7pLw+kWP?8u*O&{M%o|DLr(PDKXl>r&9=S8v6677`*~?sGvywR$&-IdemLDq>SFZ(Hz@Z$VD*UMGEwZ3*;Z%&$0W zmX*4aO2J?87>?Wo%d2jh>~oX;{xcumL<>eUz~qd~4^!!Laa)%b=Tj+Rn5FqFZP((~ z#2{4E1Jo@an*HO@`eF}4rd)Xh|oqfqq(Czv= zF9w~0w)+yEuyb03Ma%nF%_Y*C`Va@W_n^akq_nQ0Q1@lWr!%cVqRZz=n( z9Kv4tTb#a9UU447!bIzln+$AA4lM9Zl}#T|-2F2#n5 zgaMHyp-6R0!TqjsmT-=c*LmbI^XaSl#V*atxA*Oq2hl^vsGt(7WWL)|m4BgOE5tz8hP; zF}#0_l2+AHpxEg#CR%WYgBala#E(%%I{P5_b&+O6{DsIh74D6`gr+xkAwp?7`%Ydx z@8Qb!48N5=jfNF4F=>;sCmEY9;^b@PKVt|3_L_1(IqkKvDsYmNC8+V@1#^e1s)eb* zq*bihI-ga;dctuljI=z4X-mtjx?obz~Xs zJ;7&TNTMW-^~7YQo>GLIqTOU0Cb_wHO2-{AvAx@fd}7`L?vu8#byFF$y(XPJr{oC9 z(Xs^H+zb&&u`9e2ca4Kjyok4%%fq#%@+2hsz*Eajk7Mv_RP^kUD<<1nP6fS-c5hNX z2)kdj2CN~|5m>pgR`V`>R%f$$3;FBLCOVq;u4NT5#lBoI-P(AmdcF5N>FQU9?#Pq5 zBk#LPTied5Gn4p(cSjdOjASp}+huGXXzG8_zd@?MX6K87-HRZ1dnX1Ay4d&?(GL4tlwBNt>vF_dBjZ9#Z+0P*_mw%I~#nL6ZFtI|G+SYu2m5> z_VOF@5g}dTHjkk9Cy}%-K?7J}cPXh84Xa|4e5={#Cn=ZN{cyR`UtFYpoc#+!&EwyN zwx+bs%{Uxvsir*ZC%2=UKk#go(>gCdKEuT+ROEhrS>6WJaxPE7tAi#UKBU@3R|inp zLF~`T(uP#ap98_KO&%o5t;;kPV-mv_m0!s|EI+xC0S^wTSsl9?SBJ%16TEEkFnEx& z>js zdBdzo5$a&0an9%Mjz7x7jh5h!%c7#U2K8SDGUeMV5YRw|m_1dqcS}apL;S=T=-7J$ z4z3UYRWm7neE(Hbl^$Kd*d**Oqx?4ObN#II_Rw-j$41e;vm3<%!5aw)7`73u$ zxm71L$?X>n;rZstF`Oj0+d~UehD%Yq4;{w>VFPlX9{X_Ulc)H$ZGY6%u4M`c;usgp z^6{;pxs9=PKz@OU(MFXULYB$sfOF5SL1Y!N8J547P+I3mc5dAH_j zxeS^VsMh91iA0`ef*U2 zRn(&0Q&90Z3xH!f=%$!%R;^k$$eNc?e71{6!(@uR7|EeG9;Xl}t2rhQf~Gc_ZeXCZ z;X^K3qj~+0WYVnYs>6{^yS=5C;?z(@`phc1DeRFcx>Tm2qr@0>dI!kG+&z5yS`#l} z{W7I%ejTuxLQ3u!g_crnC*ugkzpwu?JeKv#FWdI{cxTtiQl7k-vdRhd2ifx{>OgjG zD!+}6p|3;Oyj|aKzg*PPnk#RdYu!pK# z2g-v9uQ!Yx2tvHTb>5x98lv~AyTY?7xO{IM0Au08qj`=HRT~u^vth!TLtirHwdc%iRIa*AtQSXG#MsL{y zOFv{d61Z2^BMY?j#W$zptSG=!SCsnB;!#h>B5rH>4Yyo~;UBiSXm#{FS^wx*T=wa} zd>vhe+L-cGKk{4-9zma~S&Mw*C-8|a{3t$MmEI_L9CwEsINc&8aar-5yJfFBk2284 z%)q3hd)<410-69-#u!N^z)SNv`Jdke;5Zk zqJLDB<_F&lV*nNjkyE5Y7Cs#UzQqqFZPTAF#sAZ*nm%AzH#~sIl5r{7s)OMwC*9{R zyJi4Ip?2Kwx<^&ucIv`iM;4rNr2)F;vrByGyM!&nFnjSw6`|Wd66h zd^xfg3A97@H~fqdaKk|^cH9|z)l-%*NAV{t*JI$*t*E5#l+mkpV&Sj}pXHrClINI5 z9iYq&x^LphGZgx4mw5o!myOx75T$kg(C$MecXObva02gQm!k?&0{uI z2#cHKs7H=_lz!Nts_aj%nW0*z{%5H#*wg0{=oQ@E^v=M-v-@_!DSYwfuGKnxHXE4m zmcZ?r9&3*;E^b@e>4AGlDf*KQGT6%)^F*uZDXdGAoom=)^N-I|oPpCHZi>>^hfHAt=Fc^2uSB%+|^+}zrRI)e&vU( zyS8J!l5So55Hf>Wl#42JgKrJWmr@>;Tl|>LpA$}2w?1kC-=bUhxwHPN4B20Hz8X5j z`KR8e8^~Y0A~R7n_4?soL$1(d*0jb;ZRZQf~v+h2<73dgHS=SEK8z zmz-4|&YIN*@>9~$lY+cY3v)P}ww0azA9mHGyzKW2QTY*LICU@N3touO*n;(-y$>VH zFgDoVpc(W1uj;|CO%&Mr)G044?-zA2>~-t)C8D}B(jjc^noN!gk|HP8LF()7Dm8hO zjmjQ*E^|qRM#o!e5wOzR`rB#llf1%_j7JcJ$L^0oIX?wt1+aDGc8JK-Ibw*WJH`<0 zqxvYJFlR0J&TflqnXR(v6v$iK@ywB`-g~5~8|fjZPK(s0YnUuUuig;F*b&*}=kNQoR&s0TI2{&61H0yCkd~{cuz4(98)j@)#|5H~N zGI}$zUh?*8&f5HYH*6Z#cw4{nA@+NPjcJSRUDeLvp?vv zaJ<^y)L=Z!HUgfW^)ZH9S^2RS5#Z%|&7KHquQ22`8S7B-D(YEoe9 zb~nqqw<~wPk8>1f4cP|nMo^H9PWEB4Fns<-R}7GH2iCRLqvohn$=3SV*} zN8N9{jTV+`Pk+(Qe3P=-y&~~(n#1UQ0Bqq$7@QGup`aCr-%XGrsO`N`pOKIw(PNSY znH=#!)0PG(@hN?Bk-tdhQgj_^8^pcIFP+*W{=Q0Ei^4)) zf2Hi@)|%BA@R+)7JrD8#n|g4T*rHlIb2hgW)SLs{&@c_391HdrFZJtz-G`1;d9{~i zeA7wJQP0;t^?a+T|4iWv_6YI%;+cQzSIB@$Zz_{le2|04kj6G~dvm&N`gFFBcx&~# z&lYW`X%uBha$m(;4`eERgeu-lC{yAr3FfIt0F$8wP^x0ZRT;mY{sEr-t7~3uRdzK3 zbT>c4=IDXHf`J^uon|JVFd;N_cFo3YT@0!mRr6>0WKZ$@<8VF&!n^elH!O94LRgtz zbhH3u8>1uH=FL4AiD@@E{)07_11N7wBzAl0li3Ll_DsU{Kxn|3*IDO+j-^nBDpY>k zy2l9PZ;VepvyIldJutM(yNKxe6vxW>W`Y=GW7c@@SJM^!(Q(b{?AwmaUszMflWodr zY(uT3Z8$mXdq=50~fC8y@gFwo`8Q_M@4VG+(TQ47NfP&;EsJFD7)@G_)P z67_f3jgKj?p#@jO-;P(i$tmUfm#5DEG=ja8Z3Ol+{$d|0lRx3fBR^FomU^PTOSe!u_?fcWRflM zBj5~6F_}Y4Fz7<$=tX9!6Eq%A#H;Jy(ZP<34Lsv4?j|eCwKCw$_WqFi9xJX~sUcnr zXTjSi`p|1ZK31GjVJW{*b!V)$@CH+qi_oXc!(bao(!7Xj*KU3P#)Y2@?;vp(LVG1) zBT`*4lC*S!FxPd+%GdOTBAEl0Sc^J#C#)(w(Wj;Cj00zNN!Y&k+zqgPWYGTSpx<@v z6sYc^64Puh(&K^xJgCQd*~Tk0IWWuX=hyJwf}07*wf5(S8_OZvaik$yeAz*6Ew5t< zceQ6ccVpcA39^?sL7Y&iI`;k-IzH&oK%GJ919A7zfvc_0Q(pu;mB*ovYJq(V>Zf%n zCVCA7>avy!!x3XwVjW9(8{-cDgiSiB#+-ET^N|qm`3qN}6s`87`Tpj-2_A**sRq&o zBoOdKeI4n{yOhSeRx7wI{A`)rx6ftd%r5j=CjwC*85^Y|qUBI9;zgcD)h&T^Zxefy zAWrDjL=K~%S4NkwH9&%Zjov|8f=aK_ zdwZow3j)$hkSZl~2oNCi@b10Ox6hfGHQ&sfnKf(Hw-$fkS_Di2Pr0w(^}FFy_U+eG zYcpCaP~QvbEQho7mt*dOh7NSXlmUTCLX-E4U5ei1-X!J^JDM+F?KtgEqL1dar>)J* zeslw&Xt>L}vMgnF2xihdqtjHj6mj3+i@0@8j$Otj7Dl`q@6`U_Y_-fB3nrL_wN~lv z7}|gQX(X}VfjRUwpW;d+J%c`GNKmFH+xivlKlto))9T7_U|2Syt8@1X=}|y4`qwz( z+y{LUd~&u`?#3lJB~@W)$3SBdpu!eIok$8|RmxWAYq6fdj*abt6q;XD{7zT1uD6KD z>5MFBA+BN%X=)+Gdp_}aG2)WEk0flM1x3>}Z#u|NFlp7gjRxO}c=KWsw+<7#XNnF7 z@^!?T`sNZl8)`3X{br$Y?8lrPFg-gl$z zyWfbeZx+?wdX})-a+dcXgk_mNF+Sog^SS_ML=~*t=4aOT2Fy-F1FqD)?R&rgcC6^a z#JoP(NORuT#g~-OdxsN1P^y}=H)tVb=eMGkB1Pvtzv;N;kk={ zMb90C3E53B)ePt1L6E0$>POoNd~7L~%&9*Jw+!dRGwzlwqXcJ9Knly3DaAg2S$Vej z$)w&!oQ6Ot{_?w$yKXh@re*L1@vO*KwnWlJR9PZXJ8V?_d?@uJx-N~F*h!q?c~2I< zCtZ8JX~pj(%q45eXatR(HWm2N{zM$IxZw$>jWf1v%A>-s0m(qln=QVHC32J4vrO+o z!}1Ntlp16*LvsZC-aT=#e;x1Y^kLbW%cYFykasn8fu3 zmUl<@Zxh$ejz6X=#luQ(FT!xJ21X%YVy>P$)fVuL-(OHiGJ29;=1Bv_1t5Kt?=B+O z=KXEBW7dFl!T1Y>?QrnJHY9Ox5A?68GBfW`?;-8jW_r&4&Hk9$ruXBpAxC7@RD6$b z_E@X}|4`i`Y}4;<0(XCxfoxs>m5gK}Sns+0g>Z=j&$=aW{&54c7PolePs^)?Xf%Pp z>7rzHhT1)ZX*E}C$O2^D_xO^hwyG+D_D6VDb}YBOY|VoTP$KD|^~a2pd3JKG^ehu4 zRa@iw$&^HMgaDQKU~bI=bnl~L)v@Xz4vp@R zv-^1KYg3!D8#V?Oa?rNxUu$6@Q&_~L^=NhLfsg8oj1OZ}YaYkor%xEN!kZMI`8h&4 zl@&g{RtxWzkF1So-z|NQwCPPCnB!+L(><@Q_&SA0&)7V z!ie=SycI*IycP6G7`P#~O^YCOino{Q&;BJK%b<6AQb1l|l*nk5CG04<^>^R4QIv`? z#nU`ec|CJunnKc=+PcSo**&z?iE5JI_z!+lp7{n+>Z?r5NohW(2WsHGeE8a#|91dS z(LFKHgm_N~45gG&)~77XBZtmp%ZAqF z@9TMHDDS6`oWr@e1A+sG&X}T&E@x@c_u;NuuBjQaW!{gugM9611ObX0#%rKKN&;lMBzYfB82HK<(M$aY2~?0PGqAQ z)}4*_iM;aUM^D%}Ni46XFnQch1aEX$7jZhpvo}~uZH02jkD&R(WoMnW@_nlP@W0Ga zcK%GJO_!=z_9wDIX3I$l5Dk8*^40v{m??OFIH6C*l>15H! zb){pCtE?eEY|dCscpWX0h|m94mxbAxUziCyKRcCwo}ur3mrjYd^C{Oa>3SifbNXtw zKV-!9%|`WtBtLv1d23C_+2IOK6X9UZ85}T~yA^RmPAF{kY=!`YgzVpYEmeJIGYkfz zD(QrtjG>c8^{cZJ)g0^h1lp(N8KfW#qveyC?Ua`kV3&x#!sKaJCV0(H;$j%WE0{a36Ht0udEUfgx)5Z}mGs)5*xq*`=u+(+S9X-|v!F3&a*=-D zCVNpqN(8Pzp0mvA-{#e$CQo*+g+E^8_3mGMj!}{0M-CWlKxbQBl&#@zrYWqO_C5HM zVSXNgD|xU>dmX%)R-das3U~f8`8`#v;(i{c8)Y2#-Whl5&;P6~r&97}UMG*ja|`a! zN{T4W4-9DREaXe$9Bd zJ@Ki&5WEh8$YGr|LMX;^f7N9CxiD#5s)37r{Y2zRPWh2OYkX6czUuoN4-m}z34PQ} z_1QraRu$o|cap0Rg-&{nX~8Nl&zV$4?}-b<6*vQUctd_|J*loJWw`ANy0e`4b7hRz z_XhBfp{YgF_IQQg!wnnxjFUAz23Ot;eFBtL;V*tQnR)3wP86Y}2z^VBA;s7P_n<)M zT?)*7KWaYuKoDK{Th$DC14~!LjB+kog9?{NYp7d0H?<5N+lXB0dTujHg>X!9uO>KV z9?l4!^@)f)3=fKZdkY$I%tsyf6Y_kw(*FB=$ieDTb;uDSGShv-%>V7p+!s<`#?Hw{ z+msg*3owT_Tw=Mu5f4&2u5SQyCfN({4eEt9MNS%xdjKTlxM|3%PsRDkMo#O=J~QI5 zOG;%{SM!Y=^^oAK)#M!Ec^mfROKTbuk(x;BkT&b(PE4_*jb}^o9pOkiocW_(l#Amg2L6DQ;AD5#Z zr=>sc@Dir7&aFhWi9W8#J48Z?PvYFJzHF0hi9R3ZCE-)Ye}{35qBI2yNW(Sm1=~8I z2vorjObEi<9J%Wv9vN@%mZYWPlzz9dB-`3TZJXOfB5zjXP#fIU^wL%>r|yH`m#$p_ zjd8CnQJZEiVVEzdXtdENf7YR%hUUE~ z#PnSVpjG*n-9CRZg#E*^&K6cIb3R%G04)gZ%yf;H?d{PXkxGx)>Y2Ke)`m7Tr5W4J zxu`3WIPcxAT6@Os){cfqQM<}Gqe-QmY+50aD_iq*mwPqN1s2$GG~9VkZyZh64BB6Y zcSMR(d`jfAqg-v_*H^(uNB3k716DGv^hk7;30O{3Y*NIS#otqSx?*w<*9Vk2Lw^>A z!+6ntcF0Gf*M2UR)jmLQTg4^F5npJ{rc!T{x|9`NMS~%c6x!&aeipS@p*J|*A~lUHShaX``$VmlEk)t zr{&K2+!J8t=JwaZv(H{zvn9-YiZJ9~HdfL;HmH!&c7Q*OJmDDM2@QKeE1#_+{EPJq zI0ha9gF!1RL}o)L2{6#I)7s@gk zo=i&4tbl{*+;A|u{iJ1I?LoEAS_@N(&Fo8 zAD(bb%e|asuv-f4&P$(Hro_Lje2ay_O7$W0h!Uv*2ot7*5Pu!~`w=%J0MwFLOv57B?ove7@b`2<2v z{I(*dn)H#uFZ}^j2KyH>t8=ybMrs-jsH*oPyYP@>EXA5 zpL%!p8nvpn?*BJ{xSaO?XJAHR`__fUHq>Qq^ITMsRtihM?6vwe&TlSudCA1RZ8f!S zcK^&VZn(k9Y~GumrLLuhw^eq!4Xy6fEERHf_{G=~H|;`jG6V~-qSq;rYB9Q)s9GQ0 zN|{9Q_t2joH3RW8fLx^7@c6Z#33a#Xx$7wPHvO8E_>S}FZ)yF2fYzQg)nQ$0JS`gP zmhZ2}V(ll6agCq+RyUVE9|ZeFZ4FlTHkh}c9sin$s@M?(elG$6Lj9}ft6luTJJHUk zDT$;cH2H`$^Vgbz``D~T?`B;vc>^c8Z1RnzI?>-9{vWn7fUO){MydQSM&)Da>{LGs zzR}J}K^N#`8kvX8`*zbgWQ~ZD)Big%!^4}Grb*(~({(ep8Y|Ef68H0LT}!pS1j>{6 zkqYZsK5mUYUQkVq)#Xr;>fq@r8>=rK(Y<#q<`8p-(Y=`iZ&gdM(OxVFGOpj!<`+6P zh=-ac&aMHM4oU*4^MSU3Ww4dcsk3E}CAn@i0_Qs8j;+I)9`$>>Ahg}y#|$fFo*e!N z$CfH_|dRvZj z0RRx_m?)#-0YR|bz~V+tMh@mNjm2|qxM*I$wj4?`)QjJuNt~0JXzlRIME#r33%Wa& z=C`7+n^V@XjD&cmVcqN5LGD_&x=ui*5RdN2`$K3M7$tFyFJP?zZbsf*>f6rii}kwB z^})iNY_YYWClMrFgE4t_2OJB)=6bB%>(8=RUbAlX$3w1D&GnF>-V#9P5#iL+$h}^1 zgWC5L5^ihsHyv7}LrVl+^cqf?c zm;~AWO&W->-Lt~Y9N^_8r=kLFwX_G7wz6z;nSk|mG{&f-yw_GNe7Pf(dgel(ppPo8 zCnziwyoT06+RYHrOmq|EOPfKaL&_zPD`k7!e0c|>x!)xD#cDpdo~BpEq!N`7sMR(( z*))4%(`*SJbFbg>YkxV)w(H#7ZsaBc*8{Mm4Y-EBK3qW(IDF&w^a+c?ax6h7g;rL_ zj$hR-BJ37@|AELZm40z2raQgaj3z!;>8KpnjwECbU{!br0|40x$@!>pSpJ~n;>PyB zyp#T%2M3GbRR;i%O$}aaC#;;+jE??eJuyRmuk|H)J>++LBt;)mo{NfZq zt6#NE06kqqkibRd&8RjAovzan9V&HlB;?%izpe1DY8;ku@PeGYA6NY!TK|pf)$V2M|a1{b#h5i_(gDzv`7%=zN z-+RZS4$IEF_E#t4UAmyXwL|rJyJw9PdrSv#%)R!*qLL^%MclN_0S`Ic?4 ztcxlck9$9zbeJjO!sBW78RHN-W+3ymT`wk-y0=xotugrkSUQraxMmt7GBc3$V%~g! z+!ojzXKU^obZ5>Wx>0)F*CagrwaK++)((E$GVH%hyTqJ+1ozK7%(5DGMw~{AShfxW z6YHyiE+7f3Kin#4&C>U=$(K!Sv@s@8Bd*+3f_4ARnLrrExA)DpPNNB_7*CoQA;nuF zTB*DJN9{&{U)`>BLFwJ6+MnX#`BsK?_d6Fh`AN`bpwGlT)yVIOuUkZRwkRL9sDH}> zb>UvbB7`K$ZA-i+wLm>id_7>!p<>SFZ`JzDyopBOYKJCPoja2zJ|C{ zL6;I?F5-^ia!q;mGR{iRm-M~SW=Ngw%yyDw<^latH$w<2(WDUm@Z>RztwM?{*xfM` zCK?p+w)5a1$Ymf`1;_~L2ew*oRoNkjD=cdB6fI#8!6elv=P;Hyj`4M>GIp{ov*O&u zuxc|LW#+gIfe)fyM46;iyiOR_V=lcHmZl&Gs8?_eOYg#t z*tb6-h+c@3zlC&c!$fm`&Se^q%#ks{G}aFrn&U3aN0#RWFx=F8Nck19v$%2SEPG&1Qlh^gN}GW+pv!lIu~sD1swiYY%Zt#0t) z*Cp+t$2%el5ZgKRf6!`p3oTSM*tB6Z@5&Ok#2;pvZP9gFfxKWF`Bp}8!TnNr3ihp{ zu>b+@5yU!6Q5&aXNINfRq}-er{EuSko-oDQ5FX$F8gk4xM zfBNBxa8EfJOS% z-rGpL%RI6(8Ebj(?CbkRA8XGTLMKqP-xA(+=~ufiUBH)gYmQwqHTj!Rpx%?FRgE%~ zb^V{7QpU5B{3c0dkip?Ghq$CUs=*#q2&qyE!wyQaYA7XQZfHjH5InC(SXPL1(yqW* zS#c>^PunA>nS43>GO82ltK(IhyI3O{bo<&gNR0+~R!_~I*0WHu*0fiRawm$N!Sq~3 znjf}4Oy{%*-|K$6bP*NOyy`b-W4(5x^Fo8`%_{<&{lr68^>hwhD!m?G29pPC zXG-wh3is9;eTgw^eX$O(Vj1{mV@!xr<@JH6aIpW=v_SS4hqFYFhHCdzjLQq1lRc)H63cAAm+sOG@4qPnXgDJhqE|EN)Ec~0gnbw}5iS$mO>zuPLj#qPGZI}qRK;c`>_NlWNx z$mMiSG#|vsp_!_S!3UOBypPy7(@CyzsW2GD1B*9Ur9=N}BCkBTImywcCtBs6N{H}g zwpAOmJ}FsX-|!sauHYFXeLQ<@N=+Ce*#T3EXG5im4dw2qllT&B&+rshl+@N0`HRLg zhSdwi!trs?fdIdokn94%M==QAo9|n3b-U4~uAE-5Si;VuWQsS^l+Kj>2&D)?VSw1R z^U0xD*mN1S3^Tud4679(yYXGPzifzzWRt?M{AayU-ibL!U-NlJj}np8s7E*TaEJ7Q zVP}Kj4d8fMmSO(UOY0za{5Tq`p9lu*K_KaHPo=x53NW~=t>oFXzr|mX=dKg`{8OF^ z?Y)+#6zD7j45_EXI$*Yiu&*?GwaCsAyj(R>Yft6ZU()uZuFRKQ+7zMZ2Vfq z6zU5vW*NZKrw$i1a@FpI%#LVCkE_@33q;xq){99Go)2Dgc`6&n5R6QnFQ=pBMnvSezq)P%8pWJ(4%{IEp$i zu|#HvY8Uh@h|bl&57>)d>v<`ORE?=DiNP5aZYq)M))Z+~>>GNwysLCqPv z6h#tq*PO3MhhH+wRzBWQ^*C_1luRDxly^TfB?46I_|1Kl`iI%;Q`M`xme$J%& ztKi1iP7!X?!8`<>T##%4yF0z}S#V;$a7muxf-60xzL%aO;l|b^qTlp><*>Vh;K~BC zZ6?ZHDW>x75FL@1fNjE26O`;0XLoV$Q~#{8m0r4tjNoiyH4x$9t zC|7*JTrEg+W9)xGXx2uL_#ZrZ!Syej%PtYHxt88vy7I(@z7Y)_3a-PyjAi9+_m($2 zTpMx`{KWtOw6wH7#*_PQWPUnCG5qCNh1KJxJnh@v8TcakW3Ji6RHNIe@@GA}!Masp z=@QYr@Ih{UV9QJMnD4q`B$j>1eY&~+4BEqnnHhXNm$3LHdTgfFWy~))&QF#Tdz$5y zVvkNn*{StJ_CUwB4!>WLlN1fRC-X#Mb0_U$95X>YA!ch5SN2`51yjb&ij|Iad8s`# z6Je(VO0BIXep@l!)9Y68ly~?aw5~-MUbi}sjp2{B)aP7mClKPA8Y<>e-(|m`348lk zs*hlXRfPhzDmN~{ncEq8GstYb&EW(;)Fy0G>SB#}2=gK*Ra9Ef^;Gk=cJDd9|F6M} zPv$UP>$Eq5v)=?}SM)*;=~f+g0)xF#_zm*eZ4mVV$qx_U4cwnQy($ach2Vt+amn(g z0oZdNe$cnCIFw0Xf4n`3=O749v(P4(y*$vL=;PevO0YI`c2 z*w0dc3!YQViYTU2sIY%P6SXBp(+@T{##SB#kLW7)1SoaYt{AqaMz1z?kD3)R6S&y_ zG(suVDrC1e*?#ouKi0r3oN?y{CA|CAsHDLh|103^xPH|45A}LQN9Aei$K3u;>2H!Ts5gqB|>xmW!7pLJh2!NWWxdHlC0b3iYEc zLM-PLc0vf2(55$?>F6+t%PlUF==MIs4F#XsVM9YckKHqBF6q#Mr)UL-x zkB2xWC8Xj(d;LN-x_Mlr?#bNhn$&qFiwBIqy;4o}jb zF8Xe^#O1%ZBYi-iUU2h^lp@Z*DBBl@#kB`GeJ6|jnt$o+HHtetT4P6!#i5(uZw(A1 z%&@QaFLAaOB3=hCodk&O#rUOhf59$)Uz#|CA(CGOmTN!Xvq&T_7{rF$5As86qsLf& zk|KtHc^@oFeay0r$z(61?!eY*ooQE!t*$*nRBX^s+Ge!brJhY#D<_%$co#M)H%c|J ztN4eh8;8M!w4QG4;NUPN$a(Toleg0ITWWFJlaeZ~_!$WK!|-k)*jY#(ltRAsaA~?5 z%ZKIokxBT+>2Qt2ftuxV4}0rqqh|R^$7?RZBW~B$+1@lcq%mqaHo&7DGabA9awOnf z^mq?*k2~a>2bZZl+S0-!Y&q8Li$!cY9h(>OnN1D_5x4TtI*Y<@=!Ud|k=E_(=XDa* z`TUf->%EVx9EFe!2;)hO#X#~F#X5Oi{2#7C3z{rE?pIxdzY5|I7oltW-vo%?i(OavtRG^;_(Wxvkp>acGS_>z{p|NqtI<068}v$1NeMPuafGhFKvt?VX7rHG zdbTc^A13X0!9tqWX*Q&HS^|u`se5LZZB*NLYn%OiZKHu;M{<)3-E8&?F=~|LH;SbBCWQ@u7NAMws@$6xMrpLOoV4vA;6v@R z<(CNufAcChh+7jIqaIn0QX7jmyI1lZtcKnHtkP?O1=R7%ea@sd+d zofm&AVA%IS%1r4u{vdFKDV4p9a*6zGGh(iZO)F56Y6r+3R*DKx!c3B`ExY3H=OouG zkCgErN?S}JiLOG^HU9Hi6yDEa3j&-+)$1<+K62;eu0h;CK4<<ip&#kCKZHu?`u)Wo@a>Rwj?*nrWnL#xsK z0|Vf!j~%?ft*=8gOR=<`{64^&=tgp*NU4_BJ%%$EVY zlzXt>@#zI1<5UWbNcAkg7u?a?f%Gg70SI&)+S3p>Oqk@!D0szHIs6&SFCp1-RgIt? zaBmf91=@6;4xlIG_p_HyhC?LX>Y=kC0)eZIwR-uI-vKvU2Mby0#FYVT?fbBskYsBU z_swHa?iNw`JDJ^ft~_9`Q#@8P zb@dba(GsU#&3MF>pI8ZRo!jvXSX`DF7jDzX+dXic`!4D~-(^>`x1vZiCG^SnQJ`vj zCij_{Lie!$R@?ANHvA&a?Y)`kpV9*pQ_h=?&6&`eS@+G~A8NE+eY~^6f!jevz!}#p z19C18h&K1ZQWd;*o|T&;YB8r&107p$cH#b(=Q6)Uc`EZ&?)x5XEs$O7cE#20rO%M> z+YVs!2GgJq=`qTqfbSwlruz)`-fb&vXwdRUc(Q!Vb$Ok*+?NOaT&r%qm? zp6&pRMaGXr{r(1A{5_n@aW@p(4%=L34@Mgo0Z4$;Ro?po9B zaS}UTCp7E4GiR<}!SujZDmoOxR7Pq%sLc>jJQ-i7S+g>m-{xbos~YbABWS_k0$EV5 zo0n!3j7E2%ugmQMJ^E^;a)Fw(v%?VGyicdh73&kQdSGgqWu2+ce6h7O?xy72IJD+E zPdHQJk_27b9b-nt(9u^SOoYN}!LrBtg!zB_bw{94j!%}x?!0Aq`|HE`$9L^5aEPcz zEAz2CS$fT{eZ3}^Gown3T=|u-vrGQF(6%!LEsktUcR8t`$5k9ZZ=rkFYgEiAlGm}@ z1pZ|UiLiA;nwnv35+>VkBdCq6pK2V6K%dF)K4CtJJDFj6IAay%%O%ZC;$b!EF}o?# zzS()V7K+5G%59hoc!xE{9CrC$pY2~G$5U?chJEnG!)mDgDkBj|M7kwE3iKH-hUsOh zC%%G3Rq+E5O(Sb1)NsM&IM=u4AwVHW$|meSTJLVVqP%nszCr$adnA5YTqS^CEU#jf zZTA@(#eJ!Hr}AGIO$)cjoENI0e1TX!J$tq+TSxC-)>TS36DgvpS?$~>xb2#(Zc}=o z*jGC1-YUUK@+H_Ldbz2~=KgXV_Tz3<-EG@M2?6^_FmnR_1rR&&8f;jd>uNh|R<06K z*Q_^Og$~fujeGxS`(s;L@azMKzzz626-v-Bv4nZJrMKkVdtR&OMY=(P`sy)0>Ismv zk1My=uMYUi3l%2m+rAb+ze(ekaPeWspkqz(y?<5PJw?z_fVp`Rx(12xvHu&@cA5ky zbesranDXiz0(54a%=%qdsC-}We{^_>2I_=0Z_d0_GP68)Hh^J%(Y^+ab3{Ui&+|@f^9%qM{t3fpbrBOmu+E$*f=UKZ|h~Z=v z|MULsJKu2b3AC&fo_5n~gI~Gx-zehXK6@(NDGn@?b6n@I*T1|d5-O!rL7YV^);nkJ zdR-i)oLC8>n)ee}Cfpg;-zGlIqB>Vq4ZR%dvw!wYU`z86LQ{7y<2qD0EEWq-KG$S- z@P!ObVOFYIJF{qj6ATmW^(gj{b+y6e`DcDw1;(Qf%4~nP*#*4LQ2uSLMN5$j-qToO z#qUa>{o^wy=fA@*8^PUs`07V)mBopAM1j1Q>bE5BvT2WkDoJ_;P@{j!WJY(Mt=DVe z38EbJj!duKc7u&FQO6L?<;%`5+0LF>Invd%#am3mSDNB0%O4+ouT$GYyzR8ccDAj- zVS)6`+a>cR<}ViHK!;XyHAN8ANHgy$tvwfBL|FIq)mc!YM<&Ncd_}@D2Q!WYb%afG z@DQ~p%iTW)%UNE!4XDFhb`1Nv+>EUbO``Tb=27conY_EhIE&khNdc_ZdXzaS<8ks? zVHd{pM|sH&e}Z;DAF&saqb&Aon+*W>F_!N3K=r%4pm!^Obinhehnf`-4- zFhh7Ru?!)e&WEiPshzKZ;Zdb>e758U0ddqPFR$N4>IKHqB?*qK`#{dS!zvysNt-Zr z18cL^6J=+^7H^#+w52H3j`GX;;Aa;*A%$FKvZG`@hnkKUCq}$|BuIG&kl$9;&NxHA z!47BF!I;`7N~7{Z7q9M;Qa%JTpDM10L4jw@mV^ia-fLbHXH9y%uh{_|jq6!s9u~LY zj$Bheu;CPXDkyKv{Nsv*N31^}P&;U}(u45)Wc%XsyX2j}f-i|;?oLXT)8RS8x8oKS ztM3wx#;qtQQ*!isj-v}EU9^R7HL?)>2+5=TRbk_&ZlPJVR+`(xpZil#M1#HDph_q) zJlWORFeAGCrZ1KaPZi6@2W6K@+QoEHSIhm90~!Z6#W_CnaNS$Cx|kKHx1}Z!BP3c= z7sUfJoJv(Q+sO4ZiiiPk42px|=Mx9}t%t%cVO@V!t_}xVIlya$FX#5FCvP)NX$Z5D z`StGdOItk7X?Ev&biPpe;g}?ls*t-d1W0(@bqvSY2oSe5j)(UbI- zg@4-kS=>UYA-lIC(TVIFw9FCLHRZ^;BU$fag}t@>)|j7OcPaAG$R!4ass`P#O_F4B zj3%ggkR%R$yQ2`B0De*s6xvqz;Ct6;8JE^f?IiEU4NCgCib2Jf7Pn$?i3c8d|4xQV zT=aaZt&XWRKSU`)9;f^9%ph+~?N)S%Dmt$g$unf!ws;KJ5ViWZ>9Fc;!7?=bN_Oo zoYXiSN5YDR9emvcdz_}~Z*G}E0uCpyb^^-LlP?tAM^`{i` z(^=%t1N=A|3m^SJ(I(S;uAdV#)Wm6bVOj&iGiM3ERQ2xsGa@?ocBx#jzvk}Eb>N_;ZV5g;#ok*jnsO+i;{o5rJpS^Wp!@tb z`Wv~pi5VM=3_0&%f^bRA=d@Gl@wCibc3+^bPDpKh-H8gA4hJm|d~nM%;Zc(`2%3 zUB;`N_Q45S*Ny5<>H11fNem_CLB!K5%l*LO$B2O8XIjg>FJq=}mnI1-@p(M={Z-S} zp2oix?8^CBU&ln_Yebde$H&Ru{6>RRXGKRp$q8_kr$>Bt%2zdlv(}gI8DP~OcZn&< z$kH@Fj%dpZW5eGLFr{Gp{WUs-XFt1JL<0whJF8jOq36~`z({3%>_mqjbgd`t+5Vn# zPXzg{X7D7b{*=H)14Va2i0h&|DO47$&g@Z|B#nS+vhzVTQ`8jFo$3wPN%?0Yn&S^c zHQgU?U#p`a;8w7^M)alfY+3)#Pp;l4%@`?4Dab!0C2>j5GFqw1DbLt_GM#d;_(!Gtqru$x_mL9!iQZOA zi>T~f+}B%Hs(cx+^~PK>#8k@@xM`c{Z>yJ@6kS{g`bNa9-9EG>J|u8p-Dd7QzAKom zq)>}Ud%uJ-E}MEP#|Q4RnPgPoDId=ybe-MIir=0_&)fxGKzg?Sq9FhCDG2)yl)D0f zJ#$ys@Srkn@c{C|dVdg59awRm93vE*a4xIBXI|Gek-K2&>&9r2^@i`yszO=iXN_ol z^7RJ00=$Ay+W1-`$D?6YO4o%c4M3Q$XoX6Qb;4sIA(2%o3w16p%*O$(&^C#Go`cBj zUoOq$9NEeG7UvgbQlDtAmyEsY0utYCLXHOg*CRVZE-JET4A(6&H?>NLe(m4G^{Z)e zkdt$2EEK<&3)KxP+h6f_MR4dVH-5DPI>6C9p?{720D`pJlVme&rwmwR5|zIDMzrWR z6scY&RkUk?Y1q4~XExmDG^+{4oCSZL6x0>i`ewT54CQ45YoMJ@xFMi~SXji%w&oj{i*I^d&+Q{iYN8Q*aH=s8jWZ1JUL}eqbil2 z;wl#o^m*CW4bQjtdQU)@>GyA-Gx^$nVtj9IKqWkf{RZ!Se4NpYCWBUF>OA$=HikpZ zrwcTTl(s*t+!3RgbJwy_EMM6n$!hDD)($z_}(vNxRmo!3z$B?Gie?7 zwdrzhOiyShWHB@q-7BK|cS+p??8RRsLU*QOF;nH^TO;Z$0^)65CNHDAj@M1=7= z4D=LI&SzVs`VrAq3&Y*C>j8vO-ktvS?(?P^zX2^zWqydV{ENH@C;S&mr?x>(qe z%Ra%xWlGVEw$)*WLU{jM-(1~X>@W<|wp)O<4EFW^{25|@xYd1rkP_t`w3~E=yGAuJ z{J?ScE`GH4I#R$LsJ>g8^G5Qvy&hKR=1enxCSU94R_Xcsuks`^hJNcHiI3A|G?K1` zcNfWw7<;#;tE09mn#-k^qs1aq?Bd(Uz4l;j3L4MJt;?I%W?T%yKtRcyX2o5*_N~PG zEyInU)~(EKm%T6x1H)5TvUW=iY$VVlJeSXxvj+kKfMAb zd+&ObdPr^a0^@`&Y55Z3O-#8sdgy!H>4)vwOE4muz2fBqK?>K4LwNTC+-2Z-P`fL- z!_m@r5g(XMHJ0bYrqy#7F%~6KG}k^(`|yrwD<>!8_3DSIBWI6E3IqK?p5d)YK?UAR zpw%u>Em4fQMvwe-t9$H%;~jT0vDO-%;od97(C3OQ1D9ka%+MO4(@ajL4zKuoi_!-N zBK66gQ$W9;R1#@u2j9VqJAd0LY0vQoHa0MP49Qw}s7&P(JmCZ^CHl8lwAw*ysxEj~egP`WzhxL~cZq2;YU6Q`D zcm1qV17<>k*OabQyfBF1#`qJ$YyY&t_3G&P&IiyV))CL^DIy>ZWCFEs1*Z^SF@`X= z;@SOO$FE85^(9zK-}dln2dUl(w4b3vN(7?l1Ish)i>yptH0f~*aG2ld_#I6c)5J4U zReh&;zh)n3(=&;d0N)SztC2JmLLR`Rg(~7i4DM$A81 z?Af=kJA`gczMH1-)hncm=8Vs(_^vD(j@d+ZCi5CN&mxRYG7r_{%yGOixj)3ID3`UO z!-I{K?~A>JwYN-w3vJ|j0>BU0c^`{zR`xPKS#8${M!SM$8_B->qR|MP|4TcUKOX6C z4D@=1SgJ#arB3vfR-Gc704K4CuE_>i@+#YlTV)jVw%dZ!v zF#ad~`{w>+3VVy;MM_@5N9of_A}3#U?70=1oDH3mmQS^8B`Ma|fud{=Si8GbrTxta z)sxywJ0MQ*lX2D_Hl_LK# zIW{oZe#rx0vQr?S^y%G*yH$~uohq=@B(7Wmel7Ez4o1c}Wd=>Uy1?RW8~2jGK07O% z5^{qckH#fK5x=|;fJ)K-2CU-SyeV@n`K{G$r_t2S*XEqbT;_T>WddRbnL@pSMN*4J zY>KzoMtnVvo1>4dd~6^lmjL@puABy{fNuDH4UdSC0Y3{Pa|!T7;A>1JB)6$*awmea ziB`z$K2QJt$X#Bt9^JuxS@z@xkc3ORCsU4xFnq#Rds~;XrBw0V{DXbUYL$aJqE9{e zV<01$cCa>4UF`AkjbALBsSPJ+{OJVi!Uc6uuckDG54SQ>`V|vp;_bufD)xS}$D@^z7?}^QnTc_$XTNvL zd+H72l;D<)neL4etyeD(*J}K_EJ9A!H&9lW1MLs$a1A)sUtlJatx)jI*{UI+f8r>9 zB04_soi*gFSN>)XZ)MHaP>5#dR_X~g??=5N*1BfEni0KmWhC|u9t2d(@oFFkfp_`B zIxz0Wd2TqFGYo;Cie%?hI^e$87yv|vB2*jEPVWpA8rW9gdR248lt>3!83yJBx7Ws~ zq4tP&!xzi!C+a{btr+iQ4@F@KeA5IMiG6G-+1GvhuL*Wwr0Db(c$4Gc^GPIvOshc;EvE2zBm z>7JIA13MaGz=j3WiXv)$MmtnJ9g(itWYkt%0lIJGdpO*Z;%ykagDwVp`8e#1WvE{) zw#=}coGs<+xKVKof@_RzTbvXwXHmU zU{4|v#M|Ec1!UUBeACU)}2~?UeHI*B=f%<-PWChiu`o(8>Q+ z8fGW@nG^xNYI4aGkQ2FY!;PT_Z%z z)j)vPpE;j4q-k}5H(AQVbSz^q;yn(k^cyDGxLo~V|mw&KnJ!mfZ)4@qQlQAN5Qu~qF2I}!zMp@2hO*%E6@CGDi4(i{IA(o_iI+R2L zdT(3luFUk!VlMo7K~U;*CdboJlj=RonA=+i2ehd|m5cIgO{nx6U#j z@d_vYFXX*vSW|tw_KCnPVnabex=H})O*#Y>luiVsS4BX2?}P}bh#(#5L5ssT13RJ>p z`y7+9!hGVBo_s4SeXLuQqc6`8p6^Jm=dCs3;>Ub_Qdz!XE?D?pE2BX}ri(B#xy?Xn zXq1onbo{$oZ!%6&Gtrld;-0E@bdU@lDc3P{ttY|Bg$ake{rmZ5^vjsPMQN69212TA z@fHUzSGPf7&7iaAhH*tD_E#>L15K7oFR{3WK>uDD;3(;f2X1KDTFT4ln5FKrN1Az) zjt56hnDpHch-+wRF*bLqD(^;Iwczqs2d*)dzN$hc^q5^V>D2o)8V-Dnyn1mpdhrhK zzGplYIZ#vKWjptMZ^p|hlD9J+eB2#Jxod|TvU>Xyhi~N>3AZ;wgo48#FW%jzF4@>H!HD^kjy$JuT#Ye`ZGw%1=9Y8eo$m z{#N=dALlL*-n{2WPmQ+o?_y%Nb_qkgdwy2q#{S>WkLv?GP;SrQDcVI$;bc8jEqY)Z zE0BCQnc)xy%rrrTisZDs;5b`O-p2+`@sF;E#YW|;-h6Co!VT`P+Kj2XN6WoFVfg-` zm*#Hv#Ih@0?mNCSYF431m#eG!2PImsc7=ZGo@TZjFkW^v=*y20)j|(x_xr}!P1|q# z&dfVOwL*8CrTKD!&@vLopli1O2-{!FlV2_}68XPD1im);F}{hk1;Ywn$lBa!wn(I1 zGkPXz6WML>ylA@G(RQR=Eutr{33T76M6A6IZszGKXs32BclSXG)y7%0;~N^xjqMaL znm-**w;R7Mp7#{g1vX3jRF+~0GWorlBcf$ctM&K(dE(43jj*Mn>PNsy1_E3So`@yt zj^;4j`@DQrMSYLfEVk`Z*U}Uvr|X;Lx6f&Q4u9#AVp;UTsIXIqmhs*wo8Rx^(;%vL zJ~tCb+!7ke1s zmmFmD6oVQ+eR+St@`ioVqrL(PVo)fJdR$MXEG6mrEWXF5#<0HJ^a@c8mqRmhBDEsT zk~$16k2$!Nzw>tLatZIfA34$&98%64yE8K1a?q?eOXKpe=9v8R{mZb~+at~DciO{z zeXvnBU!|Ff%30q(S36mfn|6~m5S3g0=6iWpjbZhmO?ue;6h(E9kL&KU-KEYzZG|g3 z{ExY-*&mpHue~d=f(>P-u*J%CLTX$?eWX2{EC}Ip*{oFHIS{8CIYnD$}j(kE)VYSE*c{_Vy zMiCS|X#!%qa$$Bq8dngnnKtav`MP;a3Fl*YxjU72@80bB)S7P{;95IX*;X zTxBig+S@6r^3A|vG!es&x!r}gJL9Y+*_xDU_w3dhkoV}e^P{?)xpmwbzAu2bsYfjb zX9z!aqqi3JR6ZS>0n7>^K)5G;WV{DlHWWOMY@*rpX^ZG%-`6wV+8ZFx8JvAWuftfw zZ;A{)Ut)3pWs8w*A~r}N%XZ<7q{a=@>YeMVw(xmjsVkH2-mItY)|vZ{8E>9&*~5Q3 zc|;`SP-hQ(5CO0lp3SEP;l<9~kqk04X_oxQ+Tt0|Q8DL19}Z#W9DWflH(Ik%T(R*N zlk2@~e!J@`y~=hggEia{-9KfBcLNpLJe3>EN?upAa5xT{E@VoIY8psb4`cK*czZbQ za^@8md1u*OCS)SXEh_0rdY}b9NM=fpJohF@>w=*v5luUV^&OnYfxk&}Tzgiq8g$mysYPy;;9+l9;L%o%9>$g)#5*=-` z&GX9Tp1;r1c6tEK{^ntDtUzTKKEq6W5op(xSTV&c0Gc&0V?hHNnBah#r!uo1-@^UE zPl@IljZKi_<}e={gI5_BrQ&n%e#2_iZ2xZ17_OK-9W37vJ%mkHMtxDcc!%L3ByX+Ik;-0Hspk4(pewz#{m(L-XRoUaJ{9t#&br>8+#k>vPkF<+;0R zAo^W5prLEHe{@FQy)esG2p(YmB0!6G{c7K5b@piHWAz;3hU;1KtkZ`F)|t^h_a8(p z#_`u%)RyjqSN?rqx7j1N3|=swNPSSGE#56x6sOuRxJ)n4TnIOb<7Rv|_|?|6n!Cra zt=v7?^k+antb33iAfnlikqcf~>ay=A`tkoJ{wW^wz_eK?w>f8p78s!k!elOK{Fod$ z)J9-kzfND|>h;wI!}UAwRZin|->J6|4r+ef1#gGj2p9vz8oL|e+d`wq7jv|!^%d6o zKd;q)=&&Ou~g_UA}@HeW|nl)_=SWQ&-;-sj)nT&&5YJriRJl&SEW>QUv`hWau8 zg$f0zE$bwu_Te^j-DMIbxBQ~gXbI+#Eb1JVjwP*LnN|X>`>Z4 zaXWavt^7K|f5z)!`9GOCiJRY(nNz%vOYM?+h4dFJ_-IDcIN#jS6`g z89X+FcuIG~4TNj+7fuU$&toYXYBd&17QlVi;)D5Vn;?MlPzwj%0Uh+6=Y4OV^7|*b z+&$45_`Ij8>#07=rhht)JgpG^C!WaRAMC{GDKYlHUDzA4oBdCDFmRLsYx?szNcevR z?fB2i<$nf<_&mOK>1Vx(vhlyf=4ln^N%rg4cdr3Aqvzy>#D8tw$n5k(|7%bFztd3v z^PT{er2nyn!TYCz^&4!67^UI{E{v4Ecsd6Lo*7{Mf11$5k~W^eso?cYB57{2y5O`1 z`}FZ%3=rf0wXCTOfIBW(lsodp?(6)!7JKBo*MACz0^*nqE;RdN1y3`Ao~@LaIWhMP zW=O>VY_FD6n8$>huti&o=}~3;bycq+>4|GG%p!tsTq=6?XTt#U7Yklx``*Ce;*A2m zoJ?z$RA|`3YnHRFy&8wYE7@yu-8H+cMjybPpiA-jdp0A@hO&(2QxdoMKBz6ZP* zB90FY+$by<*>Rt3s!b>YqOYxm!&(*#Ui*Fw+8I;s_7DjvJ85h_+&d+49G`r0v=MnU za+*FwoZ{}1hd%3c={DU5z#h!_GFAe`=KJJA({44>vClEf#I?~fORGT7vg^R2fZJ zhPY`Z*!CsyuGfCr46v$-z{{To5s7})&61gyE)2CWw{HWzXD zghqKOkN?1(fTJr1P3=P&R&tRjj*ZrG66#QLVVel^GOPq99?T=*4)`pD@OWBywQ)z~ zQMT=Y#_gSsutPepVgFQ>-rEu7AlgUMOzdF>Ge_UG*F$SMC!2vHuNgNB7_yFGZ2ln)(}=E`TIovQy3-r3u>mvikK1JFh+x{`9H zA1xMH94a$@^<-7fz4>7L+4{(rA$++Qx>)gY9lyBF-wVf>avTb1s|NVZj}K3K4^|`F zH~!CBEOp%2RPJEy!8Es0*gkACmgJX>Z6^htSq z10>UcW-QLOo^u!<)eJAvJ2Tznb2nvA@)wTbASCZ6q9YdZDR!(Q7XaYIEMym-kgR9< zBMB%&>4R<6)4Jo(??kTtI-nt?Go|4XrzV|N+NLng3ne#*tw+hN!XJVfTDDxYV^Jdk z9ayuhE+|A&f`s2 z+Fu0GFGIT$9g_>qiQjK)R^)TY#*#LaJ7rR+V!Cdktg8aOs$ESvdln3r!6P@Y;>`3X zu(}ysQO}LbgC`57{3cp&PK8sgweGt8sEq3bXy;~vo4rA}-8(mV$Z6YjuWnymsLf2C zmvt?Sxb=1Q9ly;<^FFbh5-&A^p^0i$A%!5bD3&FG$CbZT)pf;|7s zjDH~j(Hu3i_3w-toZ;CognTH$<2ae;hq~rxf9%uI;*fX6CaxMPd9a)~p~o~}oce4~ z;UNu6Zm{o$dbVQ)`0rStz7oB+E1FGQ^RcWyY5C&TkDQ7l&)}EF&#V%&v>^as`j_#P z9{Tu_2VS{M+Y*1pMFv1^R{TD#=0o_KUf_v)zqr&*J~#PQTIFy{WLRP6`$~{GzLDT$ z6Dcod$e`Ge4&>lSBegk3H{O@~anQ;40PrI>u|IHPXt~0c>cR1_a5?gHgpBsLjJyDm z7d(g$iC((Ud#?YF_T_}4sUgFxpL8oQ_I*9CC9A!7y_rPSrLI(Bc=LJP)fV?KJ!F^7+u+A16l zAmsU|d$H7=Y_K~6sanv~MM22jC5NmeMZcP? z3kpq@d@@hInfQR(&c6|-F;|Je^vkR>$#ETa%f$5BP6-}d#@wqocMuhKY%8%dkH03w z-P9~sq{9}vj0eM$=$IIQs5HsYc|;2WpcAw1y!KX9`%GQJU-^3-cP(Z`L^yxv-N!Zi zy@D_8Lid%ZOKHd2D)&>uP**MUWA%P*@qg5skH@am1m2d*md3oTxfHHV{Tp=q+`Tg5 zOa>_;V-w!KHPPShz8Oi%H9p(C2hD$-I&hDxL$Qv(u>*0+e>%U>EwdRZP4^<6RKba@ zg9Y?qcp z_EX!CcTjl@*)i9?iQ%OhUE`N@#|j28?O+1jVXcHwv9J{gFi#7>8S34JTU~@eQqT1UL+I-8(Rk^kSP(fPnKCMVY9_ z5cGx&sBA{YoMETX^4Z4U=3kedPQf$Yt6790dIH~K3G{9NZOz4d}36c`!wtBTw|JW#CMb_;X$ zQYvM<{-5Oaw}8AJSd@)7^|)=r{~Hif&H@PJ9kCvbVj^h#+|$h-^qDd+y(sk_9u0%B zt;QOX9mGTUdtBPA;-=2TN;nvFlkIdQdOpZ7$Cf=~pXL|167!{(I2f8~Lms4jSa!+m z@}EfqohklMBL|LChS#k7E3y!rWN8{Z+_BuYY;U{dQnPq(^$D;;O!#X}(49|M^IWR*U|o zG4jHhkyDnLfc(ob_OPVm`!DZOzt5(Lz=7@Wr|{(kuJllgu``u(tw_O+;zRk=ZD+o+UVe|==s(q&HX4Z|EELKY+j|9 z9sxW~*Pgl{^LYs|t9>v@FFGm=?c!5*Md~~N&21uHhgLtb#@0g*JRZ)VvaA1CONijI z_SSAMgejl2T=@{_YBg6s=wZQu=Chd<63(}TP`iwq-M9qHDg(F$nj@Y-s6}vGJ`Md@ zYZRO2o1GM2sty(Ebm1b7a4+g4px!}Ois1)v`7}6pcLgI^;*^prU;kAGD&!?nuzI-p~44NnggC||$&LMahX7J@B>nY!k z4(uGSjRYEBTH6D8T5;|=x2Lpob?D^k;p*Ijs>hGxWV0y4JJ&qPHJ-(<9?@PWLhCQ~ z;QFU|g8oik7{jgsQO-+R#aQM+aMcU`{*ot=t^3%x7)M!DNW;Y!BlXS+iTA*LQI1vK zBI|PfJ_&fsECLj5t^F`@tpRdK$DrWeHr-?9QS@zmtRI2;dJ_J@Am2(*s- z^vhtpTx0Wz_C=%K`$A)+L*CDGskvq9DYHe^XpJhRYI}7G-lgZUwcbW|=5wxN2XPMY ze6v?u?sqNvFXZeIN+##%ZPsg_ujwD0)HlP5dvzK=x{s@Wo0BRXHcCo599&8xR)&WVny&j$tWK*aKZ@$`QDtN!LGq z#dZk(J9icc+6#HWS=zs{t*o`Web+ywYyB+rva_AZu*yaPP5OK``av zy)b{?`-!mntR*u){UGw$glojb-BlAdDb95Ihkbb)(--{g+O}}Cnkk{5{B@jm@UMtD zP%qe~@6&Y}YE9at3o$ED*LFw85A?4Uxk#9lz?&Tj6rw73dai@aHW{FOz#SfJ24S%I zUFDRGs0-`&Qt7%a{wiMV^Q8_G3pi)(&%RwIgf~2R#^cE$jlvvXM;S#n&hGQJsnn`o zkr_FRMsgVK?0Wu3%c1QAYrON`4G#9t+reSkXi+wgzkJiLwpZ`Vs5O8bnL zJRqu!`>nl_<~A_qH1TIhnt8Y$YDocA9@Jp2;W0RT+3&jsfg?}gP%F+O_m%dG&U z_lpcWjoUrV)r|#F$I{AKq((*Gb1lC2TnuUE*K@zjXd9|QbSmNRAdq!f=T~lEh66aH zQ21bfRZi#CiNpG#pp4M(Z6x@pSKL;KnWqA!g{g-df|aU%NhMd!9VnPy z_TFXInHz|pw6?^VWcIyotNW~Gh&Ja+&ZN&Zy#xK$v)hmg1c?LE+*SR0)9pYlg__Q1 zm8Hx+TjS$eQy+{w$bu26v`XA=zXJJR25GYR&1FObLtOJbGIZ8(p(e+9EX~a%vcB>| zSF|*mM^1}g&_Tb#*4+v)gP88UA9?KOhUAKjiFJ8#d%YolXqqQcZL&GQ!{@_&@;hP- zExTQ^M0Wgu1>1#3bV)3gXSIw5-@NccO6CFj#>03e<+9ybgJM?BPi3>2b$O|-vb7^7Z?Oqzk@I*_h3)*!3f)a}hQT8KeoO)DwZgmjLa33o{ z5o;-D3ai7kZGsZ@V(!%&vT*Re)OuVuW=N43xFw=xb=HRdM3?PLyQO(aU~ks?%wxWy z<9A^doCla<1!X6$F9qW!TGR(nJl3b1EKfJKr=E~vMsFBm>i@c6e~Jae^0>Hdj1b4) zi5cI$Q3|@w+iIS}GQ1wk3`xan&4#T*X0)&7>-Du{?ik8ye@eY0(iKcISa$0M*Zp9J z$QDznW*#l-OAac2(^eQgJkHh#e|5rp<7o~G64T@n)Vk>B)P`6r%_QM-dg~`lf=Yqr zske9cmP%w?QZAmgubhNfsRY6DdrLu@9e_2UlN)-&Lz6CI-6w-0broyXmY5V*6a854vD}>!X&zODaC8t3}JHMGbm|Sl95`JIK5C{V8W$ z9tfM)+)*a!!tdxBrTw5HEm>OYyJyiobBg>c+z!o#er7p0qcL1-agyGyh^qMLk%dcq^6~Cy9@=8mQb)mU zR6`@wV<4t`M?IrvWHP~d4T%dWYHGSEd1eq$)(n~}u(pq@K;?VGh$)-m-8*mZ*_5nb z8JFGo82>zhIC>#Y7h9d+8@HE8ry=&DgpdH2B}0v(SXuQ)m6_cx3mXhP`=M_^86k{1 z6FWvH*J{q~+IEfZj8SbLYt0g>9k?^0!#GiKRkPGEeZO>+ng~x5RT; zhpWp?#M-SU+T%6_3w*ep9fg2yeDb+aQt^{$-;L>^=jXhHf0nlsKxRQtqq+-uH8-xW zPCBVw6)zdr;bvG#Bk|tUdYto7xg&Vo@Z<9fXLgOx7}fFL)bf^?Fxnt`F%#v zs!z$1-c9fR@#M~3E_bDU3-p6-Y5K&a+Ipsx{%&v_%+5GeoxeNn0Owa&d^%$`d`z=^ zbmmLd=Y0K?Th38{0%PI3(>)~75#sddK0(EQB6aar54+u48CK+GBrUZaWli!-qFvpk zMe!|E7&bM!Qeo2$Ks2udg6zZxyOb%}u^m>t`DP?hmXUQcri%j)!avNN|H#S6H-o9X zBJC!!b$jPtM6%g~O(Dj(%5n|sI&F}%E04f73vAC5fln`Nj~GGVaiVv^C}Qq{Ha0q6 zk~JQcoHX;tqyn%7N&hvxY{AD@bs7kn#FR+qemYoMxZ&)aQIG*Qn{_ zhl1DiJy4%@fo{($U5Y?J<~qIeVdrS;Nm!>xTkEhUi0ux(6PJ>F>k2UVg?3ovo?Q{Z z1WIOv`7@<(oTsi!F}?Ls`(;vFk6|CJg&7swemr=2RpfZ0&&D#?UhF4abNg}Zub_42nCsQ(hB-f?{fT$nogt|L3GFxFh>UYm ziY191VE2=8?IA`x37VHA+F@QPt{X5=_b$}){hJW37h*k5v$b3H5mBs4*~J_3SiT!* zccoJ-FwHOx@o07z=oLq`oCKpUzWsyqc$0sbo*LldAcMZ@Cb@$iu9?&fp!t&Myi{fZ zK4dNC*%B!>M47w3;F6R+VA|Br5ni97IHG`J89A~l!g%unZNX0`zE0bLNMF>J#%){8 zie%ec9j!JezgYytgGb-XejO3RZo2;Rp!|peKM5_oSZ7kNa*$$ZkU%P}(yb%Dhv9Js zImAdbX{#n)&Zd_e7J5wBiewPIENX+;VMipAhj5f521)|s`D~uU(aUi7-{66zhqIVp zh7hcY2N-f~2TUT3st}S_$Uf>^LCvW?x+(C-%)(#2ZlBYgGH!I;wh*%!o!3!-=K zwuxKsd3EDr{T#+E{ip1mvWzq7DzhwB2P4%RrKVS{SHTYKTirG(y$NY- zd6(jr-|q6G_B_DlL=-dr*+Hlma(nhPifV%$-MS$K*97RXPOgNVEy}o8ma+$_#dK%i zuF%yWGclp{XtPCf=N@%L_h)$M4sN85f}kvVyen0iwLUpir$7-))a0Qqf$n#;@z*IN zo3IS9Vo_p>1}+WV4YLgNLhR~bIiv~D*LRcVNM!-nPN9Mq*$~8!0r?-N9sApV53vk? zE4>cW3I2SH&c|I2MU-;_S-$IK%6Qdobx5Gi`HEH;fVlbrMCw}iN8Q`}Cj%;yEc_xx zjD^*KF88D(oFT1( zazZ-SMR!bk{lte7Nor$(E}8kptuFFIZ@Ts3Hi>UFaiSaBVDy(+o0DA|qC;*<_)?Zw z_7pCAgbwJgIm-`$8(5m;BAZ@rYT8pU$omwZ&dL=cuST#=UOt4jaWQlh-ryi{d5zc$ zIZj@_CMqR{HX`T`iNCUs{W1DQx}lE<On*0vNzEUCg*e;<% z2vHBqyPGaYaqZ^nn-wff#LKqU`K+o&uKzc!Nr-Al}T*pN^t&Z(|De1YqSBW)K-AQ8Q)j2_>Qgd|U8hEhIh)%D^AQdCQ@0ujP}$pGU13S8 z5d&Ux;?ooPMuhP%;DrV`fTnJ7>gOtW{$sG-{VeL);Rx*1`b!{~RQ3PHqoxFe;AvdV zjL^|x67gzx*k6^&zCD3Cov4pe?{QuGc=xMy{w=a*@)@RA1?Ph7XqoQoJh2wITiB6K zZ86lTvP|WCuSdKRbtk;%*PVBl{*vZBCpmmB`i}0aq6H5{+YD9*7`_!#gS4&zC&54_%#$kxoaRw@?H6Y4?>h$jido{d+h5iyi)Nc4Mj$_ypZtnRk@1TMZ`eo1pVy%rvlX-f=15N9P>R2o)u zcSpG*8vVFDf=9FZ*F8ckvOJH1nU;_ZZ-#jG1{z(69y6YuPd@+tn*sX59K{g29l88Y zsO(NJXMm-AL8D%xOUm&uC5wUhelEZbnPj%swm@6^N3ip!N!I zFq?4BKGk?-Lo&L!%_gj2VcmN$NqK-E^r5Dl5~av3%3>Md5wy1BSYVCfGA<<`m+R=b z#2m#`DuAEbhku7kbt#%ci}5&VMz}<7jIlaq>&H1!6M~xLa6Y|48_lWx2A&47Tvpm{FU(gxsEmh}kURngzLdjA7%U8<6(zW;xH^k- zCt|_$a0Ekk6ePa-05p{X-%^$_M0NNd95r$%ItxSl2t7F{OV^>c4DPDwr$1wCEX$5I zSI@URE@@u<>5U@A*9x&UX+~{)PAwNCip|w39SoMg;ewAb64njtjQf$6V-oL2dsku+ zNU&@`Y$SF!0PVw3FuRh?LiLgWoMUy3AkL~BB$MuA5eUkWJ&(Yr`Fd0lMeD~a&P`v0 zwBIbu`eCInj=~rjU&+t?n*rAv;Cyj*VgiN>$%^F{x|$1kze)_smU|(6k-9 zE*_*Jpx0$VU zjhpG6t$f%fB`u#uz%`@8My+F7KHz1P_J8~e!UW*kxXGT*gNuXFoSoV>$0NIk^>BSK zDFc~`FsrUR!6ci+`B^%vmLRZ)RXZ%~SzX(ZV64EF!XtPpv$1c3p#X3 zV$wA5HF;>cy&Tei5CFCeYYOhJvD*u-(=%6@!eMoPFP56jOqEr9$7#OG4qgH;r}JIi zZNqHkD2Ueb-v)p^Ic_?YzUbNhRiwgaP8-mRuuVABak_EiXw(C*@cfJVhIKwRwO&bX z3}*|MvPv$wU5Mq|crjyBhFDy1vKy55!FrcAPb}_^UUsW*E{gu-&oLxl=G?Petruat zt>hQCE{j0k?bTo8a!so&Hz(#fNvoXgy+qZ1;@C}tdZMcUYR|bj6Do2iyFJXA@uDFO z0d?%OM5}GLoe9N{TcCC>Yg2*Rr*sW`m!-akL;@hJ^PYTEneqXv%7QxvCXv2Gt(&#X z>3XwoEzz`Q3}#I=v(xW5RksR4k=2ZRC}-Zr^jGG_1J7N`?$fswxJ@r}K}K%-X?g>x zPyX!XIsVSLtgY6x5WZf%`{{Nlk(NyVUL7uWR`v5W{P#b+vP$xS&4Fk(5Gq+hy-Vow zePW}7rJs9ayvx;%K^1gNs95n<|K}~OLRXg$I9pO~tQ5b$u-Sp<Ob1EDv{=hoK&%WA9@WQrPCC*rlLWyJ|su$ORXSZ(JV#syofc>eT@cwN2g& z-K>hQhki})nfh%62%nzj-K-5vhPVxB3H{Hu8&3shwk9fTyOd*qg z_h6^HP0Y^l$uEjaQ{M1h$XO_;w^mlYg%(_9b>a|IU@HneZ!XZ9Mvj z#3!y~suJ-U+Z3+Ag>}wYX&VxZ>cE9=%^sUi+uPqudVSW>ex(l^n6 z(uhv_t`)%p9e-|4O^`m5CgT`uI&?RyB=7dRv!yoJ|W=Ns;dc|G~Sy$EVmb6 z#c7mWdH_ZS;D?gwyITU>m_l>i^fm+Myn5D`p}G%l3UNCKf^zcP)5sf{yVG`Y0%?{f ziG>rC-&F&suI`0$vvEF&ChRC4MS)9ABXI6p_1UW)ZB1WW>~?EGlJ4Xc*#WxDz1;0L z(MFd~gY5{it1XV>JMETA`;*o7>);rfJd%`Kg3_787`?EuUl`do%H*K{5pq{E+U||( z)ZMt*08*{D;V1-8e{7gZtCn;|CFEr45TD`O%cPzbJw{{ZC-K6k2llhyL{FIn2Pfwf zTKRSo)HJPv5{=G9Lc_k$|0qDxZeuWT72?}g8_e0U>=I4pe182xH%m`QFIop6c?|dZLPyIK%VGuK4~_lRX5)l3;|ei9YBUW% zn%`PvCy*ReFWm;-(FLdFt1@0Z=$kjy(2UZsRSECEW>glwqZFOZUy13DY;+y1`ofs9 z305ZM^kJ{xb?oi zRMEVPbItTMt6b}RBF&oR-%uQv+@n7D%Y!xJrcIV|H^=!iia~lKtMf%46{5`X`MLGO zipAX4)vjhiqwMI(GVgCb-)nt07X(dJ~7@VJii$Q7LX8#--_BHsiQRR)mqI zqBlOkOxvj(K6-+C;{33LxPpd+C|d}Q<*O<~rj>WU=NXpIhVIFtCR|2t0rWuwObxjy6uIR@jhj_q zfL>=Q$G@nvVf&iPkNyd&^R`(*e`JuMe;XRLi$hvE^VRr0&LrMFFn!d@EqyhyOSKtm zu;=l+aY#;btBLV5AMXc97^EkMN%3pFEG4(xC5dWkWz7fP_*wVL#o&2v@+V!!i{md$ zYu38$ajkfFle@mHz8WG?zo6e_+)o}h3*N@I9hpq%xZwBrPG$`$euF7y6z|T+GD~b|`qK=;)_zQi$N$ z4QWE8L>;Hr6_sMzCc6^SrD@oA7kQJq`~5JOOzrE@^3=v}i*v9K$c?rrxI4wd#q}ba zQ6O+85Y&H%&)H*A_~C({p%Kb`Z`^OX-2!nI(TX%%+#NlUtg-Gme_V%jod7WNkuNo5MUf&fP#<^X18NOEc+&e2p+0L>MVMDJo-N z-Z^(Gql-qp}7Bz7X^z6ZUH$}h7h?s%sm0g?U z>V6~DVC753~ zyOfB@P@rD~!8SPHE@3bmpR&e5uk-?ki~!Q0A?j&*BPfH4Y7z|MniO>Q{?rT|exRi= zxRjS>tx%P|*RZh>@BE|!_BbM5^X{*Cr`#kk6sR@a>k2r03)z->=oO`mo!!!fw;pA+ zVdnOYN_iz*Jx)N+c0mN~!^ymvaay0WOZ1s_A@j1UFgvNkWg7adY5a;SOZSOH!-KEP zDiCiMmkjfqQBZM@F4b47Fg=epSVlq)CBBU4C$%jMu;?nAXMy#Nv)%c563*yNS#d1wa2}akP z`fJQic)K!6`w8XcDNbP5SQ!}#ORuCM+@`W44$OEH zX&*9DspB6TemYE~UTkD&YU=x{dT915PMMyemIIi($VhWdIww8XsQN^LhVybV>UcyZ z(-4dJU&8Y{qWD&&lWCu0toNg_d~K~g=bYO1s2-}o*(>SNX~)K27Yt!8}c z8S>>mA$z(lOYMPCz2kJArtrn_SKpJdW)Bl3>|KhUYDRsR^ASPM){va|*OR~ocN=oE zUKjAOH9?5#_&KEG+^Ta_$+_=PxLeFwT)|d=4DQnS<-+JBeTz4K@k4c5v$UPR0?PMD z-`wahrq4s&I@TPNG#@-E+)H4)MhM8ya%B(D+ngltNAR85wmkm`7MhH=4jKH3JyehM zyXkHPvuL&-dB+r1>>5{6rSX}kmcv`g^#VPJzc4}V?|A@IMNj;u`Nkamky)zDpuJJV zJalQ#kIK1%3{2H^TK)H)fBHQnz2y(CpQRktAUtwQ%EgbKP`>Sy%lVe;9&@ya9^lMJ zZ=E@|Oxw@68D~4`7#9igP{^W7p zVUCY`-+9KmoT;rH*E9ZZK9Da~mrCljgxsaX2iG@6dlZ*j2jFcD{S9_`50nCp~DPbU^D3Z7tJ_w%reOD04dc{Z)D*ZMK*S_J4YoYPgKGCRe(;Nb zp6MdeYZV^2{iOLC_psJGBV7P7^m5vfkp=l)rR8vj{s-K5>eydNGvy-q6YN1U?Ic3; z+>&LXW&)w+VIn^yrO`gusONF7O>gR+Z?6q+Mq-`(*KvpMz#%QM#I~H7?K|b>2A7A$ zX`|TY%O`lG*_^X5xWI;4E3_YSS|DC&C|>OU(VmlqeZT|JnN zG4;-kF>b5k#9N@SC45`2qmkZeti2b3nc6PGYUYlxDP_4ApJvkbd)YqZ8-x*Am-Mub zKV}uclBV3WrVgNgz*liJU_-9Dv|?4|Y{YJw)5nyIy4L#pdifpLPg)cmira4~(QSTv z>MOD)q|<|B%r&Ve1?Y)uJacxaR!%l1{F6<{m()~dW zN%;6dd8P)AU7uh2>bfCC%~^N)F|4=(Frlw-FTmaP*5|mKjjE_ zi!X)3M_PveP9l0wDqGjngm_oAhi>hKdWZ(1iTz?(ND{*^xVbfo2j9NCJRmz&cL%Q} zd$o2{Pf@pYs}R+CiOcC zoXeFr{P(HQCs+aVWLo3)-S!X`K%a89t>z%jM+Y{PgF}2TcSwt_Oz7epgirvvfbzte zv|*B_ElSofYgx@TgyvJOC2`GE36w)X0({4oErDKyp$TpqVETYg^BaO34>pdj40)Vj z4@py-b*RtOS;c32V1#0dnRU$`;ts{To~0HBJ8>K6M<~2F?z}-yE`JfRMXyKMHKF8P z(s6v)^`$^mMC`bBmBnKfe?7T_u;2K+{Nb{yNASbuZe&MDYoIw|ou?dEON@CF=l0u@ zQtcL?<}+h^e<@pN(Q0Hr>t5(|8{utQsy4c*hSOti0G8bTor%ot+LKtxEAe>s_@~1O zrOJm460IVQOz*|H_h!`*aNW9|F!9MbKDA62@k9{8ND)1O*noMIqeuEuxetP$Uu<+| zwJYnDr{Fzm5Qt@)Rv>j%ZACsYJKfrlXLU$^gTrTtOsVIVaf=f;pS;Jd+^Db|l+^~7 z+sY1@to_ch8{Cr%9@!EZI%r*6GJy~W&%ESB0o^7e@j1CJ*O*HXtqVQ7A7pc%)I~jP z*4=Dw-dQiuhSwP*6qA&$=kS-wD(xqHuBO`S>ZI)NRf&KEc4Dq&xdR1XkFI6U8AG@B zs#-6ITb7z7@{=4x3{;9iRZX^}s5GIE7pWfCc?>3pO*+#vzb*0nekdKps1Smj5Q(J< ze5(2EWBIGj@l7T`>}C;-rZc^1P;l#^b2U`AG=~Z}4O2>AgTtmjVf|IBoiLAt=lqhf zaa2^cpOOM!{&o9xj!U=`)yvmQwXnmS-H6()@XD;Rx!5|fCoH9*V|;%h&QPVpfPv7n zT0TIwzvx4L$NSf@=l3=;i~)Gpy;GfjvPduEOM@gJz1t-M`o0X9gR+E$}}C_y6!0y1$&E3a&s79G$p~#Y+clvw$(d#$U z=XQIN&kw%tqVZYb{>Q#JJLOFOXZQXqSLDAj8UAOlX$f3j_&Nke@KwU*| zS#xTe+rSQzzwtw3z~Q8y{-4A4QF5SdmW9tDLIfR*Ea)FAfWCO11v)#zr{c&J^lW|L zehl877)na&95}2xUQ!V(HX-XzWioP5#v9>+LJUx=byVFAN~rGJR@3q&I%9FY40Ut29$qG%>g|g=QlD2hn6;I>oNPyt(R*$Bbngt;9 zvRZOonw+um=TE;lCg3y_%?)(03nF!>r^Fby_^c7>Go=DFm6ndH7DLu59Wy@?Io%|m z;;sBeSIbQehONWy5reayzhGpvqR(Az&eSgSE_d{XS&M>qO1uYX0#ZHD6jC96_b$|!?_}jV>=)=Jxr!=}_XfH1 z5+n@)#(($T?}#a|R-tr778uKNR3Y8%yQ^BylTfF^vo21hPE+Beh;+IIs%W~pyuI=Kf)D(;v!>&7J}yDHUBl_pthu1sFFd_T`06jCRt#t~$KI?NGOKc>#RWH8<2DSP zT=G}y?2$?Kisy92WBG#il6%Qc8?7Ms+l!?Ln;FYd!GrS~etnj0liB=zAMZ~YuW=4J z8myl5;Vf+&lH01g4SP)Do151|JVl+-T)@s;kyQ~q7SExdSv&hx<6Uq$Vsl=0K7;t) zTtjeYCtf*lBbz~H_4w}`*-OffTiuKNChwoS=56(21yJNAO-hOP8Xsp7Fjy+GT1fbK z)Ue_Fmc)!xaLGEA+{_}ePKt)jC5+z|*;lirYNtl*R)gbI4>_&0zYKe1yBMK{?SacS z71dsJ7Y#}`qLbgo?j!ctS#miZCfuYd>J&+Ei^Y(r}?qrYy>hC z^?I38J?BZ--aD0CXZ+kE#Ep#8TmF3Av6d8j-a*|0^32<%K+IC2#s5C_tjlm)4X4F$ z*8D-xkUZFH;9#hMKTdaEk+jrG+k#TllB$bc1|t3irTT7+XZx*}^u{@-N!XJ!9A&2x zY@yS26Yi2b3C|zocpPiMGqlSHMS9+!hviqlVU1;=Dm#OtSeLwffA#6HoiQ@gX8DBR zZX>@$q8fyph5SFtJF}psvVDzfi+a)s*l^TF5Nr&j6+r|7Bryz%0wM$n1R+c|Xk~zH)D}=6He(=6GKIl_5JCu$WVjMaKyT^)nfUzPf2oJye+x%jC+kAkr42K59k zlLbb}74Fl^@Qjua?xHG+veVAfU%kz1R^soohxnibBRnXX@hDP#{A!}W9k zUxhXDXKV#y&7$c1ly@R&2C7EM?&xU9oGiBB1EJ%0q`9axkI<2P?nx?AJmGrx?5}Kd zyTGgKJCHs)j9NZd@5@bnL3g}NZlZ?QC<|C^;lUfL`{}%g{i($(qH-I1_lYj;#Z#H| zmUnn&R%H{XxMX?>E`sjE)iMrg z!Bs)gmYN;Z0hI{s(_hEQufsD=**pz(Q4Q>kDy&6 z6Wp_jdfDi&krp=}oXPgHqqduboeZIdrjq^apS>N44#Juh#l+g^g}PYG#Bf>JRL34P ztoo%3ia5guUe6$w_>fcCv7*~=kyt%~Ej10%dwqbUo>lWi{hBmPT>ub4w8C zs_f{Nq^C01`P8>{aixfi1~sn(r|~YjhhH1#+C^aLtCR%3@?xX9Y7TD|5g= z+13u)UrkucZq?;=OH*(3#svNe?RkZN!WTd}DC+hbTJwmdMZz?o3AD?LApUY<1hg7J z-l4qSWOQa7@c_^#SU?@cNiV3cc0LrxqHWkx$^W7iHaj6y%j_WXIO`8wg34dHR5VC z#cjp=lS%s}yYd*UwMTMr-R?W0wxl{qH{UiSuMGD`e~RB4Ngh3{SAO{2pIs$`jvcD| zT=Zu~JoMP2$lSD8Izlx6tc`_=0WRSk`_4x*k_b*OHy-;oV7pdOxbaiVWk{hrIs*YLQ}lK zYUsmcC@w8W724@L*$RfSBTbl6Y(*Gy)(dhQSw>JuW`~(<3|w5JIq7))my2_ z-n?GLU9J5uP)m*6Am{-FF0Q%PcLlLFOD%_e1+DZ5 zA85S0TGL;WB-h~Ca9F}}ZM({BZJ-@O(tSx{Wl`kFCePC!@(O&I#9Uvj^I)}@Uc>x` zp9|ed!;(V8&?3eg&FPNFkcqo!`rEc9i}xoC3kq z#Fjlzwq#Ehj%ul^QLRm5R#RHZ)!A=9#e!11ksGxK*YqOb=T_f|CbJ#MC)ze59{2yf zIZrH;jqL>tDo95lq=1g-%|nO6XvZ9XJg;#1Jje{N=>>PiOa%zWp@XFlyK|9>8p_d% zYGa2qR^~@xVdUaHFtmR+rv0?5d&THi?`;`LvD+?wr+64RZ-#{5mFYtoLJ@04IEw_n z4Yb^iNBxLZIOjR1(V0|}YF6yAJB^z}+xlg1jhUJ2lJ{>Z(egT1juoI_POhDLrSg^n z)>Qzp;X~L$BjS56SU%c+m?%@k<9RE&kN1Llmo_d7J68Y?6=aEKamx#L=NUibw|H(} zhTm^;VXpQCHHZFX%(+$S1X@DtzvBYSA(B1*Xn$X1gJh;V4E9he`` z1fL8Mm`{1Lni!RK{SNi9YpUcY*OVjd7mSC3Zlg=vn4lqu;LRjIrv0W?9sM4|gXugG zb$fo>2CBM^nedafO6}Fz$(cwJS!V1>hXNo$Iwqq28c9K5@_M?ne2IFx^AE!sCHuHY zl_^ZB87#!T0QKVxzr4P~$jRUsnms1?+DBfm)=W+$ZcE7=c42Canrogu`i+dVa_>B; zTyHBzpU|xLTGH^Xy)gEIQ`J3+EBSCLaXlBbY_+$e<|1O8DU=`K-QdP4qKB05hYVORc*J|&*|8mPZ zBcJ{U(RjC*mtq#?Z>nsictjbK8#giw;;wnZCN89sPrZkK@K8Vit;X4^E}U$iOs8a$ zQ++*rVnFF$9=U<;^K_KrheyHst6xO&1M!R-w0L1uCg34ZHH5pbuKEKC!8c&$^m%PT z@oHLXwDX^(p*y{8D_NtHX`8k!sHm?I5&DsmbeZ#84Ky3iLL-YIhW$@7=l)V3dzq_v ztu<)!Y4B`J;>GNbQY&hk_xOYW%Qq4RNk55|B%69LOQpe08Pp z+FBZ1+@5Yq3q#uJ9>6si2B(yfCVA_VvGkZl9O!W?K9KIcH5g5agWp|UK5TwcKDYX& z{7J`V8sr5|JqzCz8c5gs5Xs=K34{TX5VuD}M#6DGJkYxLCQ}ylKGxGb8GQ$YQ7rGH3U5sm#tkS8K zInln`ZYWLP8yD#pO0nPgmTx*_1pnOr?c6_oTSV=tSm(pO~KpelAHU4?OELCrgoBd z1_%VU(GbbK+cKjX<=7HE9^7tRPW`#uR*zks$h}z_pw|~=RF^vZzDAS49K_+f!pFOx zF-`D458=yN(exKG1DTP<7pXP52*urrcUN(ZuNF)R)LjIWjAgmMx{r*(vH3e@M_;S6hM4Y1Lh|$nKk@48N5r{;cW(T-QkH@tzxIcoRCmt2B zf;py<+^PIbFZi?gVLj=t(o$Ry;WzFDb?AUj_ki8cHegW#J`w+dp(3rcs$hh27P0lq zYSrsz2PK87Pl4R;Hqz^q^HbM9Bd5Qw-~U(2^sk+vFt z@7=#(PATzu+MJT`jqUVqq5U5es{c8?h*aEZ>2*??_QqfTjnzseObw?(6#M;2;&rwE qAEfNR?QeX)_pbjzZvR6YlE|_+*WuKl#;I=|Vsp{nvf{jV!hZqKy(Gr~ literal 0 HcmV?d00001 diff --git a/docs/assets/images/notification-badge-example-inbox-3.png b/docs/assets/images/notification-badge-example-inbox-3.png new file mode 100644 index 0000000000000000000000000000000000000000..11b6087eadfa16519038b8f347f417d4d1913d1c GIT binary patch literal 63746 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

    *+)PsoF`L<(+dBqa94alK^MLj{B z_C?_LPk~W5V;r>~yt4cbu@-)J;5%*lHkd|vL@&-Nw2};p0xJGgT$`eSO!W&@=DTx@f*(R=|L+)iBVlvq9K5-Ol7m6f+B=$*BfxGx`}nk$ zJyX0f>|NYyA84HTh_4goq)s6PT;s?0qcf@k&uRF2?IsVHyX`i|94}#TRieAZGRM3+ zle#`Fx)#5BoPe3ARckollS>q?1JLQ4*s?%zd>1v)FfJ(wwmnD`!k>OTtWaV%dt_xF z`lWmMV=Nqpcy#-=HQ)|7MtIg(OjxR6qmYASCCO=v2Kh3p+(#x3aBP_ti^NzpXuq13 zeb9Oo*7k}tpZ3zhDR29m zK~9d{_@)fOPxrigT89e4$7Scdj*24FzYjF>JG{}l?~VDih5GvjGFV-?Zzw3iw*Zqi z%wkLsS8#s~Y)b;UCK{{c4+*tvtRmD|p;9g7GZ|7hAKvX9TX+t5spk2`OSM!5 z?!GLIC|Nm-&v`A=52n(iWXoZA??}m-BNWtjEh>6LD`pE2Xa;AWXTmNy#%?_s_hCwj z(pT@;O;dH#DYO%$!?P11PEP#!Z!h zdNB|<1dRm|a_dte!YU$9P}r;KggNgQRLx7FQXgxy=_C@6&r%Z_&VgdXI$bCdy%}_^ zJPpwH81<}`Y|)InR?XFozCO=bNb32tS5U;F-B6hw50CHu&RzwOzqXaSo!_hz=yCQ@-siYQ(mPi9ZEDHo zjBtBAVqyBN4#*ssuEndiKU$8S^Xe6DCtZ$Se58-wa9nI>Nc5PAZb z3E}yXG=KE9xd+v*^Sv0urS+RltZWIK2Ijqs*AymITz$vu!Q&tk_~Jvja!Z&G<~gk) z-P=b;zcGeL8r>NKvx0)H29}rcg8k?;5<7#jWu>KLf#$MStW*R8mDt)f_|Wqsbky(TVwT zMw^K|hEVOtJ(oA$#?6=xH}reTAgP8ot^PD3UzvO^x?09HuNwWOWk<4?bI_cJb${@9Mq1e0_HhUI&j6Ghq-OxO3U?S*x(ZpM(bX1BnNRxd~fMXLwB{=HYj{ z>(15mca?&e*x}qZLS<`HQS_R*Yd^r~00S)1V1*d5iP}0yI^X4n18}ZpT9ffslWtukRq>>2XP<^uP3sospLT%?Ge+yMODs0Dv;r!h?r}Gm?NA2BxzExhqYnUSe2tPo487bY#QgllZ#^5O}Yl z!-r)Ku;_Ml!1$tF7K6eT>J*3?wBYE#q)iBWr`eL0td7C!lrXOLjKqfumTktpM1{mH zm!TL1|CY;FF?O5_3Iw-T0gWqF14Ky8QI3>;A6a$%&T$oxb}*OFYW*#8lHeL$I*2|u z@^y6NWuOk@kK27GD7C^x<`GP4^Xfa9?@YyVgH&J3B_RHNb)kBG_z5t@Tu2)_6Yx#IuBPii%59t)e*u}3kN~mE--TK+nnHj3LMHb2qx}Cd zU%a()5+J@8`7DJSW$(YAj;7ey318 ziRsG52fYu^^}cq1_(s1|S3&R+#4a#WX3f6=J7dratAREquT9#)z~)esRiYe-NJ_Gv zDl6yxh0OTlFEZmux&J7)CJBC=^p|k|d#6G;{zIe1 z{ulqgSl7Ho|F5ENU_I+0=f7%$fpvMSSO0l@lHi{)|4{`DYzUD+0te0N3nCV~&~}{c zy^Z{v!4H5%{-dlL_|5<9WDLnKi_InqqMbAfG%`Ja-7c2k-4Nz~`$K>HGFktQ+%LrszTH4GL!kW5U^Y!!Dr&b^EaJMJU6Auj{ zfC9)#K?E@fJ5NSe-z$um8C?pmahf$I1}rax&F%pu7$zmgEmJc1?J6<$u&J`+GGJ

    Is zl#X5G8Vm%7?>L+KAMCat=c3z&d z_~EMQ^{7^Sl+^LATl$U(eq#sE?l*Xs!YiRq9bGSGLKli+Pm}4SVf71&5SKb;_eP-t zvpVo#q#RN(P5Ni#?V%@i#J4QR4J~0N{XMK=xzXuz?tZK1Un;xMSXl%SWE(gZ34hpG z9gij!PY)fjJoy#vGV}XAT+~6p!sJl(iRZSZ@6xD(DX1Kjm2{Z9b$UFAo&9zQ_uARe zgCIAE2ENCqK(kq=ytw6A!D}qCZ87<|?FoE3KQ+i7VusL5ozcE-oTO)tw5*a0mtuJW z6)uMckrx!6r0LwSfZq^ujM zW=hY4&AUS|Qgn8;65C{bxMnx>;miPOOS>w9Kl>fw3+wKF@&Pfws1MrC(>py`J7s(3 zTN@fQ-79+TH$oJZiXN$%HJ6){GpduiJRvpRjfF5pWy^Hsa7G-*Cf-%yH$%Qj_EjIQ z2y!2V3%Q>I?@YiYTWJzLD*Xrct=&AVM+xWUU$d|!MpdSWb3(h$gt(~X!cXA!&9V$? z(XjLVhy1xgsWBrI7qlF!)Pvr7%5YcjgB7mYVTGi0O4y=Ry1CAEw$TH`ilC?5bW(oI zzYv7dr~J56)~vm&07It9NF9l0SBP*5EnCumHCvBozu|ZL4*Ag6d-MkDU-}XAbk7&9 zfOa_Zd*lz`L0XuQz#C_)L(S$B&fd;T;g#DbyIzt?Aw_$~yNvCre#Oq&R%nw`4$lDN zt@Aj#Yh^Rda?+7y%-4)?P~vs$Kt`x7+QEcNaCeXNdiCo80B26SlX+b4bptB zT;^C6a0HYeOa5&8%1l`kg^Xe<>{w=g5}FqY4REdj5nHfn;9A`Kw;UoO?nAocbN`qh ziTJL8Q5bw<8!77x)$QLl?C+q`wwivMW~%rRm0r%iL*=V3-!8wDsosgSrU<*NI2OO- zkM63rsOe^@qUWH>x8qWD+&~E8U)PlaQ{ohtuBnXQ6W-87yN?0T&|j@vjddqkOimhk zK=-w1^W)K1%1DK0r_HGh#=YlsZVg=0v!%>e z_YK9`+TX2<-&63 z!34g3%;u=`n3mJTfl>rP7Tvl9e`q_~)TrStfIHV^fhF+_yZ;Jrte*`5;}TGa4j#-= z+;G8^Z}$~1m!iqN(dk_;y4geZx_%z^)l<~l_INqUUJ*h8WAO~!McCH0xRK8I(Z*i( zlXirdiIwxx+M{WQZf;D0V&_EXmdErjQDJAqhV1C;rCMwaakgxSir^?+3k#3W|CIa1 z(P;Y!ZE*X3zq*MJ;>L%AwCh=zquEt5s|Kz<=fcr-jyyzZDP@VtbNOD%Q#b1qGbg;$ z&0i+Un#Rxe^F)Pcx??AnOz0XDh3~wo^|tB^ximS|Z>w1-EI4^s6=L06#g^c#HA}H& zQ6(}`=cs3I(SFlK2(7R*ph{bsVJiE&Z_f~M_^Jx*^wmfDc34uZF)l=P_9jA(%PYY~ z8HuwO6y(Uu%c@2urprC0xQ&PsgQv%enVX4@+L!x`!TL>_OE)Ec_1dq@GD(_e7WhpH z)Qp}~c9sOt?_(mnOn1(JaXBl9lPy@1Z=KJG6r}pnW;DcJV>pg07CKw~{l((5gD;b- zj5W0+j(1E)K}j*)TS}ycsshV`Zq~}7q4p@B*GkcBtRK2*&ZS)eN`*3;nck?QWl(HG zb_6q`mew0@q@ZsjJ@Suo(vr5OMfb-WJQ|@}#po#8Zu@ZI8Wb>R+UnPD_u^?^cKbS2I0=TLP{aaHy~4CQR-z0&%H#Xbp9KlV=E@`Jnef;h?C+l6s?Nw;nzYOOC#8!$8u_P zmhYurTJIGBE}5B_k|}!8J>bi?Y&PqPJZICn zOXNe1(Hl4355`&ak(ni*48IaEUPoLhn*ldE}f`I^IDd1%0v5Dpp?(frFQYIuS^r>OxVp; z9!%73v4Ng)vM&0hWtU4n5HMrlVp^R&j@-kagF!!K6TAjMl59qdbJGk-UOlQs^D|j@ z5g&fn;e)GFrB|(83Gn+IDH#T39J67U{v;-ChELzd5d98D@HzHGEY7kD7l7L`NJfDI z7Dla(gFmd?{G^|Amy@UUokN6AVnPxr&MYO{vh7ey0rv@#o{IYut+zBR5S}_{C;3lb zir;UFE|+wtxFByfhIi3qD=Lz?c6S++l_^H;K1XXT)ox)OwI7ZOiYFS!Ealvb|bPyIc{x-Gh0M7wIS!10`Biy>Gzh0^ zc_rAclI@c|9VW_Cmkm3 z9ffW@^u={yvpm#cXR$~JWkhxJ&dA!p`<8UU;yfdM<3>JkM*LYrUt{tRcuLz0cx&wC zF1k#;fO}1%5uC_OsqtBF>?}ul+5CF1iK<4ZI!v}De@D#61tFqL{i_Y-*kvusdXQv5 z&&B%qW7}A3S>mOJg^k19pv#T2vkJxF%EE4*wna(0_HX!C;hzFpc~m6tsM*e~n-_YU za4i?jK4}-l4PiOl_#W-xHRIH@;+`otPI|6>T1j(tuNnPL^2Ycdhq1o8M)Q6>>K=9w zwr-(7Fq&c5<381P*UoLYBXfdFbQU6xdUX93>EQ6*&7+!oi2XPvqi_l?l0}lk4y$|x z%sg09!bQeN9F0mBLVV8Ghx8nsXA_!HnD1pX)Dd9Osi1c7D6t0zDW5CdBB-8fLgWCW%SoiZ%D>EG%=8piIus&3~bv zHAa6M@KCypx!q5SGyemXk(!Ax&VPksB0n$v>{$X&eby2Xl1lsFxP$~^PV@O5Yfs8| zE8L5aVQ*CN-I^#fQLe`cW^YRF=^M-01kw>HUFd%&WXVECc^!+ILmJL~=f$<6i;b09jH zfB;zMGL=JWdu*ZP(1?LmThxl8Hk6~`?&{rR*>S~DFA*H+5AryVtx&5ryi@lQMY%d#=Z@ZRvDV~uobLTP72q)q!IEx z(b+ouA%lbbBa>&|^xQ9dS@LMu^l_l?Z~E_RQ$~9IytMvGDlXuvKK0Xl`R1{i@wgW| zdJ_iWA!r^^7J=?8ciz*z;|fv6c$V7SA)HxQ`&UX9L}zoIiu*>&@pZ>5C!X2Nw^W|% z@)xn%e%h9#w{`Lg%jpuI^V*^OuG@7#gP3dkLXy(!o>=ix+I6z$IYrf98Hw=#R-VO= ziy_lwx+?VGid#tB3(~+A2I(>`<(L}N_@ux=k4O7DRn}s`JzC zPaHykCu`^>PtC&-A=%feyT82X^0xFo*B0x#eY?pjVgdw!^QJ$RIOO@y)?<}^>WovV zObJlPkeALo&E4pyDng+@mQcNX@b3F@n#^@MiBijwu`UBtfW@=E5}qF}V9ZZb{me~G z+86KL>`!f6fg%2BG|(ZVifFRHMkvhKCwcsk*w78azSt1viAqo@_@H~B{{t2mwJtj< zv0o74?Ku)jtp4n}gTHx`Kon7@{>$Jdqlre!3R-;O}#cSa4G10i#6&FRdq+ zyYkVfU+Yb!*wQOC{n2q>qdBp1nslQdPWI^x>hJD=zsB@FgN-q@h%!rW7q z8a?)+*osG~9M{nbFd4JFJ-_2~IePQPC)=`qBNh;#TdJl7x}^`~fLOv=(Dz$G8HRz_ zX`_69@CK2paFzTShN1dWg}(FnR96D;fQM3X;5D6{>N}CPRL(Q?6_Za#qCX_nqMu4w z^$I$CPf>Z?lx-aR#H{%FlHSA7PP^XwdC8fBhD8`wIU0CS^~=@|Lq2L#by1>D$}C=N zW;e`G&0A&IYJs@f`<4AXonCJI%wjUiFF(_(4Cib3I>G$zRge1K1NULjN7VOrEV>_X zJxaLpTcteY*L&im+!CH;SXP6xV{rJfESL7S;nA#0G_v&u&css8{H9aW2YNdARK?@Am>bZO|?K;4R;(BbuwLbRgh2nCp*| zQW456Tf0Cz2*2=#kNs_`KmusCo~gQiNEO(CF9%T82KNMHV(v7SS~v&HfrB;~#+ik- zb#Uxr7pUh8$Fd+KV*t)r6~TL=I>1IE*^h?Q^m*r6qmz;hH^6Nn4I#OSflm+THumtr z5u2a~0IDzo0i9mpuIrA@r?97=OL?|ymWS%ElS$^a<1W|Pk3nWGL$7aeMu%3`f2=;w2HL-2D=O+f`?ClFp%-j1uQ&I1_V~X zp8Q6!YYmKFRQ{%?MRi$u!Me?cRqWN&1Ai(M;@>K+?D>K|2-d;R*1pGu^oSx2Jw745sC9%=su*hoCy6y<9Uo`fM?{*wlM-}b> zE5V)=;S|+V8#)CSpZ+ctbQ1r$8vNnkQRx3mn0s*u*n#|i@xJlK!>*zr)u5{kZ>+!25nr;AHky zD57J!f{1LO(YL?gzn8_Ie*^OWMs8I; zFd>WG0q^yI>6$^Y{==}knW0Um@gx@$RqTN?gvj)435lP+KJ2TGYG_822jr9Ck3SiR zDbcntPXR_4AULlQ3S7|9TEpH#=aq1Qjhi%_2B!n#J4>y76-(7}*-Wzjj>ncSn@^^? zH7L+&nux!UFFqZQ^&@%UcRXn~djW*sjHA`b{{#a#0Uf^$tou^ec*ZNuA6n0*o3p?j zF5sWp+CS>_eP_YG5>Fc~+ddq)e?6cKDUn}4z@zDQ!f04llLXASxz$oMUz_Gex5wR= ze2pnS#u09^$LPuRMe#^55pbBR-~x;GFgo9LNv~4xmZKrepDLH>+QvBd7cSGrICvfR z^^_M&NZfR6t@~2vo^Ss5EJDtf6mHjTwumArWPFuo%X8Xg_8`N=9r;9|>3-Px9OK*Z z+T`ajTdb2*dyu&F=^E|&6*qP;iig<;K+6EdIS96PQ=M&LRpZXhIfV7>ZcNO&T5r%f zKlViRFI5y=n{$C}S{8j+O%HsyS5H??+j}JdnI_hY*+QXYh%=rX4~4EW2?2x?`5`9A zpdf3vNUwOt6vp89AE^M^m-(nbLWF&_>hq$M8wnoqdXdUNOdITQCd@Yl4EI_BX^2}h@pohXIA7lJ( zxo_}3IT#x3lO5jvsG=NxkB04-kJ$Jt+A4ue@l^RliU?RPKQZx;T|#q||5Fxt4)pB;Gokj|IidPY25?1<=9rWiz1WlYD-Gy5jvx|-U|?^6}8Bj^J$t`WOV2VYrce?XO(6g=*lJ7DtEq2&l4>=JNalYN@OYM$jcWZH* zXtIh%T4~C;8p3asN!rFYd|6Vetcqr#ONQT2%lFIrHNWC*7uLrtn;dGa(j)ZYrPj{WX)yRM~-00b@u>jp~|1htIE zT%3Bks&5J)h@o5Vu9KBbx~j{a#bGuEyDqlx_ zsbA{mt_vE!?rXoYY&*S4V5Nv^*ilB5;eK^78SGGr3LG`jb3BP+-R?Y9{0%FaHk*50 z!=tE7UsEd1%`B4}4f2{xv#i~~& zX5XVagX#ctVO#4FS?^sh_|oD2z_!RPGvr)AgrRc*ThST4Qp)=*W-glb8*UVx7$xF1 zv*B|aUrB>c8$Ej!ec_^R#!g)MXQUgt-A`p{{3s`>W;Vh`Lrt#9K_}wZN3}ncb8F;Q zF8K;~u8jQ)t;TQ&RKyr0x5ZJ@47ToM6dBfRjrNM29M*SZ^EfZJjluhDal8xpctJFq zNKvE*pj&*Wjsa`Ek*6dlM+1HzQ2a7tU3QQaSGld>d(nV@1-$-ZH-GPqPN}97K_gB;otD@4q=&#R?$5X2jx%)nA##pFw@(q;z>Hx6H+3j>DUFSLsR9z4^>U>pjD;I3M*cL}F zc!Mr|h6JWrj@3&ro_?T}9aIe?!<$ok-|sXP6TcHNC$%J}linUi8@kld;DlU==NQPK z%`wQaZ2oX?$U{rlO-c@};T#?xI~$VOA)8-%Wczw#aX)$P2n^=D+%g*0c_hOgXiyG9 z#_H^vvo9z0h933JobNya+1x%h`hGd7A42GT&Ho=%v zFyu^yy7}GOiN}Ch8~&{vYJ4%n6!8XRUl4>b5BRD=wH{bh+c_j`I^~R*GFPT0$M#lf z^-Df+_>*-Y`xyF`C5W}3a2O;fl3C|||DXDbIxXeKC2z0AvrSFwWY#2Ovz!&;F>iX>F{()q2cEZk>4N>GepB zHdS)-Eu){W+Fp~#Bt9+w^nvT2B33M*Ha8Qy=@%K#0R|(cU`c*oZtxh-DU-VFB;USd zmJFYq;(<}OfoI+PvEhydyo1+}KL*XRCa(na$eHnQ3c>~HYccqtmPSEq2T=^l+4jAL z-=uSH?Vo_cu>Oy6w8w<1$!j>;^{2&P*y8O+x2tSluKOuV9|;)0{=QLzpd=0CVq+*b zpudY;r9pnWOJv1@pKuDPpiAk5xfq?Ny`yFB#L>D-^=TTiGA0RqiMx8}ihp?mCbr60 zv8za~%dke5P@!F@R3%rq^ac)Fz(-$MWKMocP9fMo9H+%zqv&Bg8q+zZ>Zudo&&pM} z^Cvk~_7;5p%%rRT6N+D%Vzt9*jaQpyAgMrol=>uVx|5u*|$KpK$gB3%^^it&2idAXm72xL~2iw zS;2;{{;rcg`gUM=p6Xze5Wwqq=L294z5T^jqeEDEwCf~^?x&+e{?m=SH!~u)l(M!4 z#fAtT5BcPwN*ZVUZ3(m){CCT+7IU?IqdmJAa|u|1ow;FU_I*UUk!t*G!kwm3!|&cE znbv|YUY3SIm3svoUVb?AJ^CtP(d|-TM4cv)W!d@{tR|RLv6W;dNeun@RG%4Crzjr_ zkJwbOANxdq_5K;s&thCXjXsDCgk=S2|8CKmvT?WGA$F*P{PrYt)?P*|!4>PbVxuD<3cea*D!uXn#LH+idEK zxEk5!v3LVZi}y3hb*?mMjsJo?JB=Dhv88Xs)HTQPZe(Rum#$e9Z^#DUfhK5dDrGqh z5ppaMaf<#m5|2H((dI+=up)-{W7yYNt$2;6hM5%POL&Y+1NF-Q@nxg%*vt1DK1$n$whoz`tRT@ zlI6Zt0i>gb1CmY-+@R;Ogk^B)RGQbofgILlf+@(j<&sQ;#a65AEh4Co{)Ul@cc9PQ zcE(KeYBD^{AU-c~QN$SHz+~5q^{EU@2%0)SjH`G|H?LCY`*tRWy}U8g);|ABeG$Z`Azyx+$~F`0=&QHLtM}Bda9EM)?{oi)jyf zA$4W-h!QSmf$aTXH#9WMvcq&_E(ucPF8?@`@P6??rUE7W?N-B}Owme;SM&y(qq8%$ zGDR`npxGU}&PyJK;1CtvE5^DeZ9z|{wxeI+o~CiKReRkSNc_qoG9VLlV%f3cv8ebw z?=CjnCSTr;fo1Gg&DVhr*;o(sS7hj~_njpxF%0Wv9pP9f*eM4=yUPJXcVMr~IU1@t zOFjx8aK4hMF{)9>b!y#Jn7ax)0oSbFs>&$wnDOa@Bij5NSb0H{oPS+F?Q-C^uw(1QVsNP0%!V)-(<#odY4mJGx0O%u|UBX|B7 zXLKHHNdNhB%1BMMr##u&JD7y#C}F3a08DAYuhg9ZjFBKM7g=Re*N{vuRwH*am-l+YtM2xrcUBkgu3A5~7dCFqtQ?q|4x&if(} z{fg`H5ardZ`|6Ij7&ggD_RC7L8a~Vx>14f)sXps3w4Wt8({elM6)qEGe~fUdAPN}uK3j>j=;i3RkbO8h^L=y5IrLEv`SsC}|F?qYZDYog zaREv$-UO2R{NOaIu`sHyTe6=!y7RR@3R7Df{QPKqAsU-y5xZc$Een%B?76?w`->=- z0*Epup*G1~GUc*W0Z~kXcz?a zK_=XtwxafbHoy)u7c!*wz@PG9J1$m5@TT7=`iAl%_wM~88M`P2Y?h6|Nze)Cp_%i{ zrVy{l^Da(<+y+J z|4bAHd-57fAAgi2xmjX?IDB{7BB-3b7%-21%LIOVAt-4oTwujGGUr5Z~pD3ZklybQy+#T?c zoQf{3DNDPyKfD>1bFaNt@pW2K&!GQTWC6~6hpc8Q8Dr+Ae#J|6mdf=ZkaQI3M>>DJl&*v3k;rIxNCxgA}plTciBd6}c8Be1qOrFj>JlgMCi` z=m%>)vZ^N1t^+fU>dKjQmQa{bZB8zO@@sFS4*{`c@R+vXXLjPd5EIOgN4|uwsT^%t zIYTCO&K?#mJ1p73)pP0Fa?^Xu8nd@i`XQNmOwTDJjN>Ra6)35u^`~>4Q~(Abm72;txeh zB1ySyV*OJS{NB%2#w=Ln8_=z2daezgBc4;vA04tBS>W&7@1uAaUcC0nwH|iA9og3D zwloy9xX;2RI-);q=<<(XF+=pTwO4C4JzrR}HFhkfzn7Aq>;x9R{8(cIXif~-R0t0~ z!-VGV42uWw?PuG3tQ|j4Pof^EiHNSaDZYDDGm_#WFohgqhS4mYzcK7D@)AyfzeRts z1{ACEuljtWm$#LMO2D_182aZ#d~CPPC0>q4_KUr_SYVZkek=c3<7!i zbE(lU18VOhS)PcqgyH;uQEa)O+&z9KnWW8=;S=qBK7MFP%yrVUZ@vM(Ht`owhRxBc z?&@xU46D83a9WlIZPrrUJ5pt@L?n{|IQdr+Jatz?kR{3W8)sbH6(70{P>gqG;@3*? z-R;S84f1VFCg{GhiUa$m#SS<3bl5VC-6X&P-i)=rtvZLzha3=e4%8{*Pe5g0C%(dZ zHvq?hSZw3(AV2p=Ci{yf9-Ol+%nZF79d$kKyBc_JJ~bxrp|Lif(7d$!(1^$NO+ZE@ zP{%xdB2ib|^EJF%)RkKG5deUg`kP?v5M(ZS!A+NbQ<;ZNl9L5ArCNu5!VZbCFeK<7 zJgee7=GHjj56+~Ocao~9lEu^RE|ESj%!YEF~hK>aWF-ZQGH zcHjEOf(R-oO+|_Yq()Sl0--AskS@K5^e)m%XrhQpF(AG7-V-1+ktQO&gdPwnp+!m( zNCB$!zlw>8WtX$WB&iR|XId8-8xWlx?_R=?%8^ivs?z;h@ zU!&|_0o#KC?mfc=gGb$&i@MWUrywEtJ#A$+G_VD{0;3V{KVS-fgWwwNwhNRI?do1O zy=3#2@7{}$ASo`x-h1}`)8U8=Q5(&~NJg$4n8=h2xT};<(^cjeCv%zToycK92rq!f zdH|QvRkQy*U*0I1A1P38xCz&9U7<5JHP#Z<`?ilXnc;)O;)pON z$8V?P2J}^L%G16czkOk<8U!2+)%?ukpC?vt)GB>s@xAk+%pdqtZF>AQ;@rkPQ2dSW zjBAh2OShUZA0wq#w*bGyf0!M+k1wARlQ1<@o_7DdrjUCs@OXu~eq%dWye1ilaZ$;! zvap?bAESTe&r0Lm-}7Ue&p*Ed-=*?n1t!gK;Hm%H(D(({-^OBKDEwa>cmh^Uy59@E zY#hgTN%j1nCY=}m72ov#?$MW}X=;as#lhG=4@X6{r>-|!~SuY|3w!$-{( z)xoRz15Fv$mg9^1l|k}0C9#c9e3iJL_p{b5I0A@ z8m+7=5|jV?kN>*j;g{ksg(p*d1GqP>@NPs1vz!hBVV%m(DX6;WA^ zW$P@Asz?4Y-V79gB21)*<7FzW#)_XMskHHup#@}T=XQc3A%!?NQDZQyND$N%=3#Il zFHX1`u5@g%ZjbXFy%pW+@wkVa+prnGtN z=2(Hzbjc5Q{MwPFg-``+z((4;^)+5 zv$Kezf4z?Ch6cMCJRbB1wk74}l%uVKmGpBVZie+Qffxi|Vg;d5lA6TQl(rsw5~yl< zascHBXFNlInErN&4)}TKWa$DW*d<`qn#3$>NUnsE4cLU~1-ct1Y!GsV?mg)Xhm-mAU~0FC z|L{FC>EDMo-IH4J{rjbjZX3@fiY#KJE_*CDY!#)OJrEBNepqlU`2F#3iva%Z`BV9Z z8lr-$K7&CmKHEQE4a@H}o?O9m`{>slD-b#&94{oJ05O}bUy=Q;S-OyS9DRpCQs(@t zrj4foQNt@QEvj4h*(XPSZyzY3B%IeqUxGb17bj07i{+3W)tHRlj%HN%8@qo^!P&vS zz`sy?SROiBt(4T|EFv|$VemQZ!WsCEujleO; zG@<<<7Mkh5lPG`VxA_1gND(^dldfT8ca7)n)QfzEdchMrK06&=(p|@5$A{a|g=}ii zzQCvMtFe_#=}M|oAML{U;2Syd;)WhFyD)nA$3`({;~KzTJfMv+@&3G6m}ja*FatrK zt=ZbWQBqf)Iev#a{v{dY74V#RG`R=vke2b(iV2BiDN95*52hu_dE zc+)|$Eg^ZzuJLsb%6?m6w$Nw4tSwRMC9ow@)q>EPt7C_2F>yuhv)xLXSp3wxRKu z-=MA0SCtHF_zB6c@w3>l%!-qrZE;6ctw9V z5Suw~dDmNdlG*0<>Qr8|RyRy}x(w~v0V03R10hC!#6IAE-hGAl?FRdVK{;+^tBl*O z+;T`25#;}(W_vkpUDI`O!%)J(4sFw`g{dDFu^8_DK|-=N&5BahVPXOnl#r~c-qu@ zKo@C1im(j^7F0;y(FowMGTIoKt@Vly>TYXwkyB%B>S`NTv#Y$KIgUQEGUq`8ip zs~u&U!vyZ-Hd6cVuH83)W!;#nOVeQ~@oM&KI1|JvanQoN|CB~&2q(Stdd$d1t?eas zk4CEW)%b~GrHGT~<^->o=QYS*)mrT4`O3FeC&cQEXSYs~B+ZOjAt7^pjU}j8gEFH9@qWocvpg2Y z%>_rg>k2EXD}Y&7&ao#^`?_yXVMG>Gpluh-RXdLGk4k+-xE-?Bt4#|_j8E70$CWJV zXi`W=2Ib~e&6C>^Czt355jMOsh3 zH4p#N)Rn!PJpjRC&#g?I{3$65*PcHtv$Xx%FuZN}(;5&%`(X0+l7a9>?=IVRFSdm8 z#yJ#}B|`^30@k6Q;3a&VGTf2JVhjS8(Kon3nC$RaLWjdZK`bpLsX-!6%A(R%Y;CmWMi#5D8>$EooDb<=WWP%W*PCi0*Vt{;K_Q4bFQ;Rplk_3Esd%5gDtqJU!+9OMKu}^W*!da;3lvi z%y%a-`b`0vWv?{Pti43#dEGFhJg&N+iN)&kK4wRVF0=SfX!?Xie3Rx&Lu^85J zC#gt9La(I^trg11a_Aoa^NQ;YQ)@MKu^sJvK`u6k`v%T!o>jY7XcinN`{UV%!Nu<7 zyEZ)$d*IzBhA)ozPN>X{=RH);IbP!$L>c`r<||5s!Zdddcj?ECZz10d6f{;q+!5Js zhWG5!6iHiP(Sn0g7v~%jh*JZ;)V+c1tbtUQ8_zu~U70xrjKDsyF~~`+e#8wsKlMu~ z%QU=9=b>k0Dcft>!zgS7%d>;rY~2(dkri@Z9OQg+j~%=|8o^M1pO>!!4jvb)Ds5jY1)_axe4j89}mSRslQr9vmVxA zOBr9+ zEW)$ektb{EUaeuUkT!MIbTyZKpBe&-CI)#CYjja-DVZ28?{#nQdm{4*%S@~ii*|3C~9ipJS)8VCI3XE%1BNQ(2QAaVis zgPw+CKhQU@It2tw0d-lke;5!~Sd>P!`3G)0F0?jzI{E|=_b_74uBv5DYK*7cVrr(g zC)C25mOd+~(DXg86x(#nlPiqxsUlulMLIN>8^P97WZLqQMBSj#LSr_QqXM%UAhKCH zb0X@MDlyQ$iSBzzJVXthG$!*fzP#bCG;wZ~^la1LD&oCSSH4v$>}vSofs`4~P?DK; z*)W>F*_OKCpam{WeYBV>|HI~%?hXK~jduCXYdmiItzm!d`e6@{tSpPim6xipTk?T`(D0)KeO0#9@pXdALX3nOYws~KO=YxQG@McjCbpd zXp9t8XzxHXnCHibWg+UGJd&KCA}f*8h}(pq!{#9I;-1WssnxGpWftkt586c#;X4Qr( zHDvHRY3Pt<9kZm_1>=X0s$T>W2W^8fSL~fik&&T^i`~%-)FIDw#RW0Xp^jG*_uL$V z;=@#E(t*SQnk|}<%}|BLxgvO%si#3z2TfPJv*$VR`|*82IaS{xnb&;+tHrf5u-U~F zZMa593qx^4Cc>9s&v$#XbsFXo#oJ&Ak!PLnsK61@7Wx2V%bN|%!NT&eLH3~v%;waqyB^ZnISPOvDTu8i|i=R3FB z#)@N5g&!RYNxa-w0u-LEc)2>1ieFP$)cWeYw0vlN!qarFzuqO!{iVPUKVWhM{wq~i zxt{mj*Ti2g#Jzcs`4y<q~ovxWIB1%X!wZ$%iOaJKW$^`kTDmMU`5<1 zm|C?tD?($Eutm!YKDlf!o}6_H z*H34M^%Kxrkw4+v=ku*3i4pZ^kZ>zaPB-mMjFoCj%42lK@em5_=~9~MiInYQta2ui zydZNO-JHV4&mxc1?aZgVQwJ-t#>m^Jk@=Gn{pWjmW?xNjW_{cHAnfXnCIKtbKpLdL z*qKU&Zj4+ZxF?OpWYfXpe4gh%L)}?!*QhSn&01#dR3S}G$%^zhLpsYwXLy?#a5+Dl z`~;duw{C$>?mEQQoz?=0uzG+-vCwOHv1@e>bcJYNCaEopi?f1~2#*+J%TErSB~l80 z0mM2M{*2Vo{K4VpMt*#zyz+#%EV1If+AF3%{b;f@apN154A-7>jc+kzd#7!1F&bp3 z-w8R*9fF9Stqykg2hdp^iIf@U9M=swSLsO-0@N``@YP|$rs37IXFV(;0(Kv|KfEhyq#&kxJdibZ^MIrLkWGZ zWL|GHIS+YD;CdPI(%70JRhoQ=D!7@8#=z3=q;ZHL^%QOo@KJj1f2IOLD9TUn@M%?A zQmQWMjxmZMPRGJWhPC}PGS(wpshvxBPH-mA&Xdq)bK!9aa;6;?uw*MRF8ZO>SM=l; zaZ=G??nQYetOvU;ZFXecc|)iJCD|IrLZwGhwG9}j`4Yr2PDYIok%9iOb$xqhN;ak* zce>@|I33JU$SZv@`HWY9o`+%0Sr7JP+QGTnjN$u_uwlF9yK$TuQ-_yjS;wrOWazNy zAx^)a(=j(vP*pj{5zRxFZf4*o_auUDELigz&eBfBET^CGShjNrV|FS#tCeROfaC2c9HcCLBK-j|hH zT*75$!ijxNxwmwpW${;7`nPiHB%VH(cc;<~hv5REW@WyvizB|3nGR}}MdO4@JKrm~ z8o1@0|VS|=5dY+o>JS5{8g_G!k(R*#xn zI4a>lhBh|J#hUX2GM=)Ly zPj6OH$P?YV)E6bZj2))*>Nf(8u#zQS>M;ekx9C@j7q12 zqjm=>HeaSat>M@+YFxfYzZFd>?^PYWUc)YC2RR<(`Lm*dqN+`eM{&FWP2(8B!voB2801gbP(ARr z(`)yp>`~}i1-D-kM=_d`zUs1#O?f?lG z&0yJjht$7*^Pdt3)PP&?@7w=(tfJJFU_D}I{>oqS9q`g)c6ACKWQqY6j!nyux0xDMh8SMY7K`(n5O)1|7nN-zL81(=NJs23~IKSde5?$86M-3 z;;y;81h~8xDhz9E8-f2c7&Ra6^jeT4=6u@6)&WRTI|67|^l*kd;MR~)ikr&OSD9?` zKXQU4Q!@ZEuoVJ;BDFeHpvCY)L?JA$pf^Fv1B6ue*xWQ56zgwnLCSidJ;Z0DuVp|H z4pJNmQPu}!g1%G1fE4kl7V9|YO+VWn0ssO^l5d62o!^`b!h-eVac6r|Hd2G{JqT=p#6GgKb(9D;9_ zdu;7BUp)?TR6a_X^$U`5%v&$DtRuYwl)0>m=5P&3z%Y~jC(SWV!;k(=`?fa5Bk?}Z zA<&|f@>R7p`kHLZGQcRRqYFda4)*!R%Ul4k>i8Z?eeQerz3;rt)qs?@}iEmm)DuAMUDGv^$*&?~Q1>eI9 zP(F0p;bUTm^^!2%0NK@a!)5@cuf~?L)t%4Ql0ocW4>Z|gqVq+I%o6avVA^iPFq(U_ zMvPX~&-HpffdCn)ENe5~d18fhkhZ=SPd?PY zamAdOx{6{oyY=IjLf(Mn`>ss?ipF91Fk!i?>hmDSOC{9tR0Vbp``s8GdsR+D0s{%3}>{Y#IUq;u`?Qx^ueA`X8jDmO1Pivykc1 z>o#}jm;F!5ocyg7i<-fDZ9g$1`ERU(;rf}+uw}+|6prYYbI4ZQ zY)?wth*{vT))I*1Z!qTQpRq`)$`T~C8U_I#p7)|Y69tFsjIwXF=vSYlK%WO5bu74a zhvaOHo$5Bx&w0LOxm#W;Sa{CkG*1mNJt*B60K}L!AAhhtA=&{3h+zC5&8+P)HS4v2 z`Fnys#T^}gg-BAUO>ux^Mr?XFd3MwJKSPi9i`JHUUfrj=(;cU#86$26;r(~&(FSIJ zKOlR38186i_pQkc*#a?x)6DWhw8xMg2FCF>N1%;cJ-qGEQY%BXnzT5d2qtGkrzZFh zhiZgxMko4{z05&EUc9@`XyTw(tnJL|88gvuVBEwSt15q4;B&(#YCw=-3|<#<8Tw<^ z7wt`Mad|1HT*X_?D{=l+Z1?$MOoSt}JlGzjVN+rX(iqiWcZYGI2SZjGAtd|t*q?^b ziF$`g#Jk1Pgw49)0P)O5-aPV| zyiT7T@R|L03I+SRn30ATeh7q6s8hs_LnzntY#tV(!HwPtq=?CC6*n~NjIKY=-BJA@ zuKh93`JSzEWqDuY+oi)l&NK=~I>^6^x6vLntDzOOoZl;2?&Vm8;#zGr>^b~E6kK29 zmP33g+ZMJxWx4+X6u=N~kXokeP#<|_!zI+xj9R+)$hCPbdxm+|O&+a+L-~`kNa4@A zLkP&@jfobpgjRmX64!0Zd&DD5;-d3jv&$ZuV^dj#&*P5g54~%Ty8i-v7=4G-aKurK zUis;sUu92P?D2-IJYKne)V~s`(tX)n(exG+>*2hJVDk?sAM#o;e;GnrbM{7tZyn?t zuf#I!9%8E(dNRV65|2jSKXXALE{oJbDa}Fjs<%00_H6d+Yy>|#ADY-mfhKd0;=Wy( z_Azxy@mYSeDKT3xWj}*&!MBp&rdj5Z-FOkV;kX!GEl@<-5gB6H(O}=Z<^7cjMHiet zb}fY=Y$<-(9ChegJ)Vvd0xk_C;y`p<0tmUicEcj#s=tG=eBU;Dl5H+X%24t#v(=bC zAh+6$S4_=Rxp+62>Sbi(cHyagitZ3fU)|0da@O+ebWs#cOq`QP6WGLDM8K=Akf4B6 zy#<)uH_dRQ!))0*n~p%z6p+rYmsq0C$M~4AwN4dL62~#ogbJ_d{>HD7oWpf9%SNr} z<3*wSW#OFKRpO_mU5joeE?2unS^Y*)IB2YF|M@|o+Yy@#p!i);Bu;pyinjm=GlMPJ zbrG$3KR`n7>q_x16O&2n-8ab_kRMMRGnb^zv`*NXuB@0O$9Q6Awyk2P-R2GI^|lXC ztzumUbKv}=pH_Mx)bK>JrH9OBOEK=sUfM9&c18Mw!%Mq|r5PahX(1I0tfR5i8B)|< z^Zcy^>28z=_%<}(Uz!XCKGwm1rf!II|NomXr-Cz^iya@2KH0(gt?%5b5mo&kS#Ipi zOMu8xfB{rFp^21q>yZAu>$RcV#k-YX(5^^q4Wp8uM%yc%>qp~gS@hF#%Qc;55$#_moTU|MHW+AWIX)0Czy-ZHXis1Q1BEcWqi|X3Fd*hrmRZ(!dT76_ z?-)6ivi?298*YlyaAZj z*h>1Xf|+KO--p#7GwV_Vu-*&xEX=6D%_e(_q^sA4pE+rGyC_Hs56Osl&$;d{CH%Sk zLsWY?j+U#I($YFENi*F_ZfmGs=gJVo6$CBP@$f%^g zmWB87tRr2f@fTx4+7USgcMZ3nu;j`GZvb-CMyvD$tVRAp1vrx++ka12NZ)&!@lD z__mAO_!iU+MPG>cFzmnHuBt*k?KNx35T2_zqb|a%r~D@GL-wz)O#tU25Z&skF%b@< z_tWUURr1w8!#iOUK@(gAf$|B^fuG(XBnO0M~j0S5&JU^ zw}Z_D2oaWzgpX$@+dwTy`hJLK4Ne8*;fO{J&*U0 zUm8OGh<&R-{4hllZfJT2JXHETXRaa~OiljQ&d`|6ACY-|1*QxA=z5S@6yL0ZI#c=F z;TV_J4*QkNFIUD(0@YVco}nAATk)1tId6Q1&r$XfDsd28h<$x>M;1bj8xd{1<)~7< zQ<`hV3M-1cqIoz%HTvdB+0v7|^-Xyc&1|L2fUig*tVoka!S*SZ! zrVfti;g#0Cwfrw znRq@EOX7i)i0B@4Y=dd+P36>OBqyR7_Q|kDdat2Br_Zj~wv{g)MqlI7GFHH0(m6@h zJqH5WTJ+xPtj!IFU2toB`;lAG|A+YCj_Oz(qo5rByo3CUb23I34Kv_pnF%fjvid@a zMPIzd$k|g=Q|c$I!PFTx@&{3L?`--u3cI?zc9YGK{m&io>jl(+TE>o2t$EB{e(I7c z%|J<-Y@>t&c)(A=T!pu!;gh!soZWQ}%vz)LCjAIiQpWrPr3NzsF0Pngp|b^$^k1eL zB$<=INFx&1!SkLIumMTEsJS4yNNYh2xEZN2xYNjg1gz%W04L)@&+6WNvByy7UX^-L z9x+h$_*PxmzH08I`Smx7EC7Ub_5M*_Ou5N z-8Umm(dL=Ru%-8};*H-My3LQD))REjdH#FwM0sxw+gT2Nvl_}AkXY!+)|B{}Cy~NZ z=mP3v`;@UXI#DR`#B|^XJ@t`n;q)Mi%NV0VZp!o(Lv{~Sm+mrqf;`VBTVLdQZ3P{e zN`ZFkcJoxk>=mX;-UKEbw!lngv?p{OAgX~sf#Ci3zrAoobUR$2cQE9MRBclx*A@&4 zYRM5?xF$AHfLFH)>c2HIwPswyI^10roZp;4Uo3DVE37Lbme-w$4KLaltKzf?_pT?EWlGXAEKKs zUN3$z=rX(YG8N_V@~3=_mPa6GG8sFy#QsLcn}fEd?)}*g29+)0S$)iQ3v@%RCdlzB zFLh7ZV@2aP$g4C_h(bd~%5+p!p<~0t#Vb>i{(y_uucYh92_F-`u(nD9a2|k4#ib{KKCt6-Za_Z|GRqwD&s;>p4mM&X&(I9dT?l3P4CLHjDPf4VJ!7TzfpBMwba6 z$4as@(i@?Ul5^`Tn|H={^nZ&4W}8u3+G)^Z8j^BlM~lx(LYMsLOnT=GzUV(H+a<;| z@zxrzmz_*-8NRog=$Y!T-K*y8;$ZwV*l3+`8-yw=9gzLE$*lQbxh*sIa}Kii68kDEq}tAT6}Sm4v^Fy;u@oP z%c`oXObSu`$FZ;2hyRFu)e4&uln-%8H1C_z{NULU3xs-wnT3~XYQPAVXwpO1S2_gF zClQYnno~pE=EYp1|6H7Af}Cm1h2WOTJA`++el5e2t=wpsxfpZ^4Izo zvthXE&}Lspv?D(BWG7v*Fks$XB0S5~>z#M9Cq6x^W(*Apzi;z&Z#P4*vLv{Cs<3RT zLnCBe1f*O8>|ygx*8539DOEEv#=YtF`U;BOdD+NE(pnYw9C~v21--&7wWy}MD0^S4 z%925umU{EP-`{U8un!RA7d^6E`VjRKG@m@B0sJ;AzT|rK*!&<&)hmFtzC~a4%E1>R zU(kikN6lCj9>;qt}-yjoEu`=jP zCSvi81A)sU6_2q46dNcKlwA`;D_x@l8Eh0x9rjO#lyok zLMvC`Kz8tR>|FD#GP!pu2t~7lOCKUh^rv18)RzK|B(_C;6r{C0Xn-ihz2wV7r z{4L3;4+3Y%C<@VBQOkzfTX5)zIc_wt+Dt#1W7;X=)+XBKnOy)|cvRcm2i(!BvLN1B z^~=P;`4DZ6SlJ9>9Uh9Vww8{ZrN$s9aoSYqElkqU+!#68EL4qxAU#8Q0ZBqkdRqES z&e~$lQQ)wczW=PTKFQzALs%_EW|sV+RU&Y=Uuugf(0nR79yA;>3L7h_x=`RDD7PyDuj#g9p*s2;8xfvnXF9ISY*bznk&B+ zGuRpFl(2!oCPa3cLZrBnlFhtdheN-c9<-Vn-}xyWpoC%D`kjHD!ox^Ql*U;cM&kM? zY|!Z~kcx8>=WKTMyuGKRdVg~#g3h^wyJMm&2&LC&(HpI+Ia zs5L>Ec!ih*plD6x$sD>khe%>{;4j4m+V$vk!VN+YWueux6?`E3 z6{~*%i)GayePs9;*kp*Ndm)(VyX%=yA9OHFxs1=7#}Jl9>!b7V1=n5KGxaliUD-Ef zyeA)lx;*;6Q6?h~_h|@(&Z{DzLvt62SA$%l{^pw=(gJK1Rp&W;LK@d#!)l`bQ(#k9 zg>Gl(QgeJ(@R6)(f_HHwkqGM?CD^ zgyoO?17G*&TUN)M8X>4V>zpGki>D#u@LDgF^~?t@yN6MG_X2=U!uET77NXxMoapIo zgGG`qNk4Sna-j)Yeb_=Y+Ha)@=V4tkC_P*#3cG1^Jo-`&^euMBHxJ=;v|{F8b&4vJ zHSOxI(mlU4us^<3u@3j)=|JN#l1#Gw4HTkr^H|SgDQYHy^;dgdf=`rvt;SH@1r(yg zBmHR;Wl6k?{nd|imrW9lpBP2F5y7U>w=&ch;tOmSodt1dvp+1cJ??r~tws=e?foY6 zSyb$tUvg8SClOfa4>tUfKPyKWkLAx4pCUFGJ=I{%80?AW*G#y|YlPFeW0~qf9U!;( zy#qi_OE(AH1(`n|hYRU-a|yZ^I-%{u4{EyWd+*1y0PZuY!H54jBRH--WI_e*1yYoN zh$c4xqz#>I#EzM+!9vBY$M-%z14QS5f8`pJeQ_6$HL^cnDf9X##Y}EP@lS2Z@y};o z|F6`ZWYvoTcX{I9SZY-NPssd#Lgv3DWESfaxICo}OBf?5$ATtjP|+sEG=62fjHX@2 zAZxMBgMCR->K3qCj|;5_|yoadf5fU!E>xad|cgp8Jgedt_uzpkbjOewnD=`j&y~4^}UdKp+Ab9*>cH^$RFH)I@m&qxLpA z)87UFZ~@&hPDrj4hyB1csS1)?g9hI(=zs@$dIiVLJ`D+qtsNNW78(*`hZ5>s#!mHq zb=-Z6YuE%n!ureVS5mTOKPd)b-&Z?Mt7d7`kl<++ve(iN-GTBETQ3eb0M14yPsY>3 z>N+n&FH*(?B4~in9lvpM;Nn#8_sjHQ&{4)!)I(>iRsW)JGv-*l?B10+ez#j?9W&c9 z(~p^S!Pt6+^#2Q!?m0$)>wNn9sjk1HeSoW)RU<nzf92`?GQ!#Iip zih#aj(b#DLi%Rlm{qN9K_r5|+Sthn?ia!;cmb(-(4l4SoOK{>G+*n6w_zJAy^fH_Yrl_MMj2OcQ}?F zn@J)kZIhvz{QO$EZS68k<_Y`vKE9Gup4xc5_gCicPc_RjvZm+4>lr|S^gw-NU!Ceb z=N)yfC#+>P zEcc6&=gxxNg0`pRiwuz z8ynmGiiGkCnEs|bAp)igzjJRqKJS|cy4-)K=Ove*A?t_}FTl`OGG@Kz3aUvib)K`` z_O?paII=EUnqd~ZT{{buvmgOF^D7N70@GR-zrzAS8apfC&I;!mgg(hZ0CxXvUUy`y+2?2NtFjN41?-ho1Ay-LHH%RjH@rFYHM_ybY= zPd2@`JE7BFQx%L?{IbnN?jRLUu9)Oz27r3QCZR&UG^Dn} zx!s_6v{8->Xxk?Nu=3VHAR`EI#df?U?xwD4_7uRko2n+IUCh;=7HyGZf1Ep)wW(_`KM=zT`?sSL)olVt%Gt&NtmE|f`gWCi%h$X5y!=~3n?CF5sU z-CoFmbImAWz*)=tI#)oyeea|BiuJRm-dx=7u+(p5^KW7RX~e;sr`C6Ugxm(v#1fD5 z7C{ezZLoTN>BL;AGcgstZKboExL8$~@v`(N_1pe0X^iCY0^r{A+DXsqd5iy9L&MiL z@TlBg7V3q0o_`S$`=GLzu#;Yk2xPvF=uj{-J#!8(u0%q(vxWBkt)ek&jxp_F3|UuA z{D#dVfYuCyd91`N!BCa53I<)sJ>7vOl2#gfJbyG|cP2`&;;ad|@uI52lRVwAOP@R{ z)}TB!#~IHUp~|K94Viw3P(J2pgz#j#81a5fWvtfj+Y@QX+20yTj9Zqob&?VYSF)*Q zwQxSqtoQ-8%)u&mAPb*&&j|ck2y(a3HBzT0A?}I6X5I91>}4Z50q||9aJCPKk%?i| zc8rf_WSq%RL+jGGvB-efl*_kD)#C{?eVZRO4u~uLUD1-+Vxz?OFpCE!Dxweqz(DZG zNeSV?372(niqT%lBrAl?E(7sv1Q?&Z$pGMosM5`GP|8g3hclnivM_GWI9*NIseurv z@LS|1%W}4BQID``+d#m3L6N3?`y`#2WB%)pyAk2X={W9NfHJ(($}uPD)dd2QaFs%_ z=|p|w62VN#OF&7ONk*h9mr_D!Z8WP^Ub-eN1Uv3-X(7vwn;ch=w+i5;A)adveb{fAm=DqB6%)wR<+ zY5CPaS46>b+?LJV3_YdZT~Sp`sXO#Pu6L;^OJf4j=DBBA@nvO_BR|+^7nZH5OeB6z z9duj`p0oIo^LFpTqV7%GnpT@BZ&|cCc;(nowQ}Y-G|4H-Fj@_&*2iZVQ2n#jBLy?BC>8YEXJDF$%y55450 zJrcCg#6GC4*hZOM+cMoO8E&p03i4+Dfo`qe2_$sXE-4FdaQypG=)F~qkB{6Fsc?t z2D%AB+8Ep2x3&r~lqgcmHO9+%gz@kM7#(60+099>5?-HX!&e$br+WEO&l}%5=&i%@ zB&MnVm8f+^Gx!kC{Y5yoJK#qdLFF{~S%z8plaQCxb&I)SfWTC$zj=y!ps)EF{!Nf9 z5K`;Kg4bRz`Q0~yAM6EPqQ{K20aIMCYBaHRRf*y|LCm-J@xCbKw= zl5mv;nOs1CSs&=KWBz3VD~{dk9PnBOO9DNSg(EMyntIRu z_O$u*tHFKc?UF6?gl^3CQdyp7Z~?C;Z}HFsoZQ8I@1pFa$)=A}zT(^tBs=$YdXrvd zP5R_HBR1aAv%lMxA>b`sh0JWyVa)a2v5%=ACfzqvv90hne^EUz)03DasGAIrR?41z7A6((zHS z&wNFlv_b5KE4RUx9WZu_q=K?Z9M?u_9KyDT8+gH(fwIqkS?f_z3B9?V%9oTyGCBe1 z&_sIt+E|InU1UzJSe8%rTk9z!#TAqPj@A?2^mA0sRx5^F#yuHxCr&8KMh?he!K;1V#XV@=zVG)4#lilh084rkuuKu`opEJL|5_~D>20;7JsqOy z8(5Sv8Jwbi->xaSOba_~i%X1W?jQG7K|kYBz!4x73GQ9F1OrGB=}OEGJ3r|?qb6*ux(`@Vs z>fdEAoj@v~Kp?7C?R{wZpJJ8urQ>3izMZ87+q|2|HFx~Rq{Y)fxXz{Nw{$0-01&)d zUH@~$DW@}$51WM}{ei9>mqd*#h1e!*@6m!NeX`6aZkL}j3TXG`2ObxYdPvvOiI-}G z*NjhLEpy!>TNaJzpX=r55wgR>%subtj{O@c{Rp`?bz~sV%(vhVV_vv}JPL!|$6%j6 zJct!i&P%$<@$hzS#*KCv78~)68T^Y*uT#Qo%u`~`h>}j*Mv*zy5jEPr;&(+ZVSTw& zMyg^g%xCr8UQo9!CV(Sb^NO53<<1jO@n*960vYlF=DrgHwA8E1UzON)JyBd0EY| ze(guf1L-|3;R|^|=&EvlcfEI2FHn+E6W{wt#u&Pm;_-<^zV zdpNS)i9YHG?FO<`S00KjHY?$Y0igTtLPdbLdju43Kr;nzE%=Q?9EanG=JJ<^#fjN3 z`{L0&=6a}8mM=e}C2z>wD?q2R3=z}XXM7@ipw%!l;bcHeJZQZA((14leUhtT@v-yj zu8_P=_|+SQ4c?$PR2$M3-@?m0WttD_D1yXE2JFzrL(qeofE}SI(evR;NP$AKHds!;y;`jA<)<@aT}QW~#E}a7?sU-ao;pzNuS*ZYmc~{h z3@rdR%Ll9Ej!Z@HOWc)y%?komy?ic)-(hfopIS-E6iD+0!h!D_W0<+?%r)v`oC5pe z#!o)VZEe%5>n)070^dw4hjRA-OFMC{+FzD-z_vkA;-3_cEE*KVL#E9V?5W0Z%k649+DZD9Aa8~c4WxJaI>Y?35sZNLzvOQ)KV3r~;sh@xS@otxuYA4rCsc42rb?rcb z+>>jMh|i^%03;RCYmZn9`ocW4#$ zjdA|VB>Bzmss|V|ss0aiwiP3f(2o| zY_$9m%3$T0$Qq8?{Q#Lo82)#9i2KDlz(ecj@xLeC`AdM8zfx@fiIVx3LFxZ$(f{AL z08>7-SmzeL&nUY_${zZ&ir+W>W5fGPnE3zD(`!dH-&rdfpVzfnxFq!b(>451iN8e>wJ7iQ3|&ZV+%Y)B|Kr!h z$%%z$`sx3S6yx2$75A`t92o1Gb7#ou01d#)r(#uWQArs!Fa<*l0F?G$29+s*z^+Jz zPIupKOoTKQCS$U88pG$@G{jH%hxIcZ?O;_ahUc&j*(G1t$UW zr6y7OJA8KUeA;WG0^rFd2G~06VSkxP-d|Pc@DCs1VIb53H^jzKBYl1{qJiV6cZ~Ge zz6}MGi^Lw)3;_BbhR?Cgn8=3qO`5E_9_(nkr~CUw42GF4KYHlZ{_O|JBKxoKSCDq* z8v*PUDfxHILCnwo;n9bEs{Jb>Vc*I{02CZ~S$wri!2VFpN%Uptvu0Y8Op|jqe0gFc zCg!4*D?>}^*13v0Mv|e`p3?}WhngGsN-b=zmVmA8p^-miIxf7fD7Vg46NHtEBkZ)Q zi9QtHA(}@io)kGQP4FNxBrM}3?|G&UHhDFTKi3SR%=N?1!C!xP;nuQ6MbUGFhomYg zFYoRY6XOBLA}jN6-Sn(4atw#1V91NzVO~RFq}O%>nzT{%2GJWd@u0wce^grME?TTD zR*vrv6lDO>NA(J`q{uA@+sQdO1tB?T=&_P9PA(OIoF&5Le3bEY^JQmqtez(s&3#StBAccwRG@x8KE93_9}8_#JFm@ zWY)%#Fns*Xk0z-N0XB3Hx~-EkrIu4+LGxJ&p%%51ePg(#`G`@TZFJ@9ss+6;S*_+YYL8g%#5+hsgEmp>zv zzAmc-x8oR|yO@kOlF=;Ggv?A$uk5^%!X_XcFY5lz!(SesphV0o3U0!H<+d8=u zvInDdX!aNS9Veby1kd-zIkq45UP_9Il5PfX?)Pp9)|;E>^2e;N#FPuh`)GVKN8iu0 zh?0ULVU(}2dZ4UP2;34OCxhENbz9LH2pU+54K7} zn55x`hQjhG&4GE4X|fJ8wQjmz)xPfUb$1=8JJ4fW_E(VJcV#xU4Y<#2?1}cbq#;RswYR?)!Q4gR3g3Vi*1XT_*Uh1ewl zl9_|GzJU0xDIpH&-ECx1gV|S`dGU#1y!&xzscNtN#LhI94i$47aSbMsFepv7i2?aT zDetg5m6j6gd@tmzwm|dF&b*%Seb4c3+~gnwKsl`#+t=7z)!yJq$ud3(|NPYHO4(e; zZLlrZxFi{x8mHe;>9}2gAK_0+afo)k>IQf8$Hz=Bgk2U|np&?nsCaV}P0;_B83pZo_Z0pc8NE zKQK`vrG{Qw!FtHUZhcuV@|!rV_JgRV3HFbJQ4IjN;#P6k$4daGXkxW02oedyL-9rR z-6l)*!v;uewVtz8S%*M*W93erUs_iu4q>3LIP5J9VrLKmOO#RuEhH?Y&cs(|9)#3b z;S-bt9091LYFAJxsPr;q8e2dXWI;+n)U|Aqv>T(d-QJPSQw?gj&g?(Ih&URC11fF%3Tvja;Bp%}Q8x&2F_R$nHZ& zg?Qox(d0D0%L|3+ppi8(8w^Fu;=;`uR|P?^>X$EJYq&le2xY5Zeszi!WounVz6xa@ zPF2qsls$Kri~l&}t1W9F<=dWATk`i|U5u10`buWd5tB+<5VF?j5!}Ds_#@PEYYR`? ze}~u*C!e(<4ceiO8Tr`ImZOn03)GWZt9k)&>D~=p+Zd~K*4?pAsXq)6TH;6V)L%3{ zX5wp5%K`w78J@0NVA@(-2W^Mh54bR9*dt^!= z^;<|IpfHi>4BrZFve)Oy7C0iKQ;^9rt;_9pjT&%PY9_8UVuetSQ0${j0cZnQI} zI7I4a0zYa!6Na2SrLsaFq|PEeU7qZktZCU2Te+mA$oZ3bt7J?Y1-ZYlX)~`$Bgv zQWf5YKQnFYJ9lSRu5AB~r&`yJGwa+ zN#=3Cm8#5*?E^oaABzBt7{(*R2ZBX6T4(Du6TQ2o77B?1{C!-p@JiC$W4CNpN0PPu z+m3|XIxJ(a%g}@Xw5-GlrPmHEaa1jrSd*)pU=PkT>-B3j+!y+*Z(6QgIsmqw?YmS} z&`EsF%VF6efPuWtuhbm935!X!ir1$t?iHpNf&fob*YSf3l$}}CWNXpZv?a@$O^3O8 zkZLTWci2cp)zId9yy7h-i23sDK6+BQy_osJUEgJQk2U5}%TE2EN=-b9bN~^fp>tVD%7{`k+|0 zR%=)`(kbY5u#4Ik3$vCcyc{ZpUlyaGZ**=l&oAAs9R$`GRUDBk(c0Why_6A%<&FRx zG@~3~#d_-;{4;diTieO)mLmF%18kd=cZPOvl&*UEnX*|LlEE#t$-gaym=Fd*RPa$t zz#CPOIuGzt|9DUkzcN&y+r}VHj6dl#i*RH?vmUfIvEVeXIwBy|s!LGhq-zUXOW#eD z_GC*{Fi$iaxG8e5PVey91!KqoH#T*T=S#=Nn4p?@8{4aPw64&ex>3 zvtmn$%t`#$b4DI9sY$+i5JM!X9OIYI$cb3I$dActOX7J$#zc>uDa^KdCu{5LKGqS@ zKSiN`q@{!kr}1^o+hp_Jf)ME>>cvUX;7fzQT2s-ZS~*+_X@A z_xvV!ejAb44?TRAMNd0PDZWMR1U0ii!)F3LL^|w7`9##pyg*553{}qpUwa|pl?z+` zTCLpXn(4aM9b$hdm*@(EOPB8K;b%27-12XW_;uM!2ODh}fgET}l#b6=#2rA$D_B*= z>AUWC!QT_m6kDpO40?0Y$#dzb7Q!Y#>r-oAkRN=y%N!G!+pyw?zS`@kXR+2VVn~vz z8x(sJy3!t~{61!yb~+I6lt`Ot?9qJMNmFWo?ova8b{px<%b?EQXDK=!!0Z+1y1$d7 zsAyk7--66zu-ZmbkBna@ zLmqjf;%`DlM5y<6zIK;-U1JATW|fB%UjwEdOM5EZm2)|sd=*ES7Cju&=eN7f{5z>U zi(85FFD>;!qsCC{>ys@pFi%>JiE5Z`iMYdN5wEb5QU&`fuj zs2f;uLEMuqK{}J{ zJ5{H9V`UnM1{Kv#7>7{X?y7&q9oza9AjAtNsWysa#;=De3za@zNG* z{kh~c(p_T~4GT-kkza->&LQzs0FUe^1GrOWvUbUaIz(<#%>MW%veSUoV zKBoE?4*1-eU$Lw%&OguV4gA{cMO^&x+YX&^Kh0J0Vnunzs>Wr?f8u>*ojU%A red notification badge sits next to the active 'Cases' link in the primary navigation. A white number 3 sits inside the round badge. The page shows a table of cases. The first 3 rows have a status of 'To be reviewed'.

    + +### When not to use + +Research will help you work out when the notification badge should be used. + +Do not use this component: +- for a standard list of tasks before a linear journey, use the [GOV.UK completing multiple tasks pattern](https://design-system.service.gov.uk/patterns/complete-multiple-tasks/) instead +- to just display a 'count' if there’s nothing for the user to do or know + +To display a count, add the number in plain text next to the item. Putting the number in brackets may be clearer, especially if the title includes a number. + +### Things to consider + +Some internal users are logged in to a service for most of the day. If they work through items in a service as a main part of their job, the notification badge may not help them. + +Consider also whether the component would be a good experience for people who will not usually be able to clear items, for example because they’re very busy. + +### Similar or linked components + +There’s also the: + +- [GOV.UK notification banner](https://design-system.service.gov.uk/components/notification-banner/) +- [GOV.UK tag](https://design-system.service.gov.uk/components/tag/) +- [MoJ alert](/components/alert/) +- [MoJ badge](/components/badge/) + +

    + +{% endtab %} + +{% tab "How to use" %} ## How to use -Display the notification badge to the right-hand side of the information it refers to. +Use the notification badge sparingly to reduce visual clutter, especially in complex interfaces. + +### In navigation + +The notification badge is best used in a navigation. In that position it: + +- can be reliably detected by screen reader users +- is most prominent for sighted users + +Reserving the component for the navigation (and not using it elsewhere) is the most useful and accessible for everyone. This is because it’s being used consistently. + +You can view [how to use the notification badge in navigation](/components/notification-badge/#examples-tab). + +### In page headers + +The notification badge can be placed in a header if the colour contrast is accessible. It's accessible when used with the [MoJ header](/components/header/), but not the [GOV.UK header](https://design-system.service.gov.uk/components/header/). Do not change the component or header colour to make this possible. + +If your users are switching between MoJ and GOV.UK services consider whether seeing the component being used in different ways will be confusing. + +### Colour and shape + +The notification badge colour and shape should not be changed. + +Red circles are commonly used to attract attention, and as a way of alerting or notifying a user in a service. + +You can use this component on backgrounds other than white if the colour contrast is accessible. + +### Link text + +#### Position of the component + +The notification badge goes on the right of the link that the items relate to, in the same container: + +{% example template="/examples/notification-badge-link", height=81, showTab="html" %} + +Put the code `` after the link text, on the same line. Do not add a space between them. This will keep the formatting correct. + +#### Content + +Label the link text clearly so that the user knows what the item is. You may need to reorganise your tabs to do this. + +Consider the following for link text: + +- 'Tasks', 'My tasks' or 'To do' for lower priority items +- 'Notifications' for a range of items +- an envelope icon for messages +- 'Alerts' to give flexibility for a range of medium to high-importance items (but not in HMPPS) + +
    + 'Alert' has a specific meaning in DPS and HMPPS. Only use this link text in HMPPS if you're referring to an alert produced by NOMIS, DPS or NDelius. +
    + +#### In this example, the user can view notifications from the [primary navigation](/components/primary-navigation/): + +

    A red notification badge sits next to the ‘Notifications’ link in the primary navigation. A white number 8 sits inside the round badge. (The ‘Home’ link is active and shows a heading with empty card components.)

    + +#### Hidden text + +You need to 'pass' (add) visually hidden text to the code to help non-sighted users understand what the notification badge number is for. + +In the example, the hidden text is 'unread': + +```html +Messages + 5unread + + +``` + +### The component number + +#### When the number changes + +The notification badge number will only update when the page loads. It’s not 'dynamic'. If you want to change this, you’ll need to consider accessibility. + +If an item is cleared by an interaction in the service, help the user know that this has happened. Do not rely on the badge changing numbers. + +You can view an [example of how to design the onward journey](#examples-tab). + +#### Displaying the number of items + +The notification badge will either display: + +- the number of tasks if there are 98 or less items +- 99+ if there are 99 or more items + +#### Displaying no items + +The notification badge will not show unless there are items. You may want to add an empty state to the relevant section to: + +- confirm that there are no items (and reassure the user that the page has loaded correctly) +- help people understand where they'll usually find items (which is helpful for a new service or for new users) + +Example of the notification badge when there are no items: + +{% example template="/examples/notification-badge-no-items", height=81, showTab="nunjucks" %} + +### Using other notifications + +The notification badge is only shown when a user is logged in and viewing the service in a browser. + +This means you may need to send a notification (for example an email) if either: +- the task is urgent or important +- some users do not log in very often + +Carry out research to find out if this will be helpful. + +{% endtab %} + +{% tab "Examples" %} + +## Examples + +### The onward journey + +The notification badge shows a user where the items are. The items should be easy to find once the user has selected the link. + +#### Step 1: The user sees that they have 8 notifications + +

    A red notification badge sits next to the 'Notifications' link in the primary navigation. A white number 8 sits inside the round badge. (The 'Home' link is active and shows a heading with empty card components.)

    + +#### Step 2: They select the link to view their notifications + +

    The 'Notifications' link is active. The notification badge with the number 8 is part of the active link. The page shows a table with 8 new notifications. The last three rows of the table are selected and there is a 'Mark selected as read' button and a 'Clear selection' link.

    + +More meaningful information is given about the item using a [GOV.UK tag](https://design-system.service.gov.uk/components/tag/). + +You could also use the [badge component](/components/badge/), or a section called 'Tasks'. Do not use the notification badge again within a section. + +The user selects 3 and then 'Mark selected as read'. + +#### Step 3: They receive feedback that 3 messages have been marked as read. The number on the notification badge changes from 8 to 5. + +

    The 'Notifications' page has changed: A success message confirms that 3 notifications have been marked as read. The notification badge number is updated to 5 and the table shows 5 remaining notifications.

    + +The number has changed because the page loaded. It’s not 'dynamic'. + +### In MoJ primary navigation + +{% example template="/examples/notification-badge-primary-nav", height=590 %} + +### In MoJ side navigation + +{% example template="/examples/notification-badge-side-nav", height=590 %} + +### In MoJ sub navigation + +{% example template="/examples/notification-badge-sub-nav", height=590 %} + +### In GOV.UK tabs + +{% example template="/examples/notification-badge-tabs", height=590 %} + +### In GOV.UK service navigation + +{% example template="/examples/notification-badge-service-nav", height=590 %} -If the number is more than 99, display ‘99+’. +### In MoJ header -## Research +{% example template="/examples/notification-badge-header", height=590 %} -Research shows that notification badges are common across online services, smartphones and apps. Usability testing showed: +{% endtab %} -- users understand what it is for -- it does not distract users from their task +{% tab "Get help and contribute" %} +{% include "layouts/partials/get-help-and-contribute.njk" %} +{% endtab %} +{% endtabs %} diff --git a/docs/examples/notification-badge-header/index.njk b/docs/examples/notification-badge-header/index.njk new file mode 100644 index 000000000..94e4894fd --- /dev/null +++ b/docs/examples/notification-badge-header/index.njk @@ -0,0 +1,40 @@ +--- +layout: layouts/example.njk +title: Notification badge (example) +figma_link: https://www.figma.com/file/N2xqOFkyehXwcD9DxU1gEq/MoJ-Figma-Kit?type=design&node-id=61-3019&mode=design +--- + +{%- from "moj/components/header/macro.njk" import mojHeader -%} +{%- from "moj/components/notification-badge/macro.njk" import mojNotificationBadge -%} + +{{ mojHeader({ + organisationLabel: { + text: "Organisation name", + href: "#" + }, + serviceLabel: { + text: "Service name", + href: "#" + }, + navigation: { + label: "Account navigation", + items: [ + { + text: "S Smith", + href: "#", + active: true + }, + { + html: "Messages" + mojNotificationBadge({ + text: "5", + visuallyHiddenText: "unread" + }), + href: "#" + }, + { + text: "Sign out", + href: "#" + }] + } +}) }} + diff --git a/docs/examples/notification-badge-link/index.njk b/docs/examples/notification-badge-link/index.njk new file mode 100644 index 000000000..18918aae4 --- /dev/null +++ b/docs/examples/notification-badge-link/index.njk @@ -0,0 +1,11 @@ +--- +layout: layouts/example.njk +title: Notification badge (example) +arguments: notification-badge +figma_link: https://www.figma.com/file/N2xqOFkyehXwcD9DxU1gEq/MoJ-Figma-Kit?type=design&node-id=61-3019&mode=design +--- + +{%- from "moj/components/notification-badge/macro.njk" import mojNotificationBadge -%} +Messages + {{- mojNotificationBadge({text: "5"}) -}} + diff --git a/docs/examples/notification-badge-no-items/index.njk b/docs/examples/notification-badge-no-items/index.njk new file mode 100644 index 000000000..8eda03e54 --- /dev/null +++ b/docs/examples/notification-badge-no-items/index.njk @@ -0,0 +1,13 @@ +--- +layout: layouts/example.njk +title: Notification badge (example) +arguments: notification-badge +figma_link: https://www.figma.com/file/N2xqOFkyehXwcD9DxU1gEq/MoJ-Figma-Kit?type=design&node-id=61-3019&mode=design +--- + +{%- from "moj/components/notification-badge/macro.njk" import mojNotificationBadge -%} +Messages +{{- mojNotificationBadge({ + text: "0" +}) -}} + diff --git a/docs/examples/notification-badge-primary-nav/index.njk b/docs/examples/notification-badge-primary-nav/index.njk new file mode 100644 index 000000000..577d65ef7 --- /dev/null +++ b/docs/examples/notification-badge-primary-nav/index.njk @@ -0,0 +1,23 @@ +--- +layout: layouts/example.njk +title: Notification badge (example) +figma_link: https://www.figma.com/file/N2xqOFkyehXwcD9DxU1gEq/MoJ-Figma-Kit?type=design&node-id=61-3019&mode=design +--- + +{%- from "moj/components/primary-navigation/macro.njk" import mojPrimaryNavigation -%} +{%- from "moj/components/notification-badge/macro.njk" import mojNotificationBadge -%} + +{{ mojPrimaryNavigation({ +items: [ + { text: "Dashboard", + active: true + }, + { html: "Messages" + mojNotificationBadge({ + text: "5", + visuallyHiddenText: "unread" + }) + }, + { text: "Cases"} +] +})}} + diff --git a/docs/examples/notification-badge-service-nav/index.njk b/docs/examples/notification-badge-service-nav/index.njk new file mode 100644 index 000000000..deca1f9c9 --- /dev/null +++ b/docs/examples/notification-badge-service-nav/index.njk @@ -0,0 +1,21 @@ +--- +layout: layouts/example.njk +title: Notification badge (example) +figma_link: https://www.figma.com/file/N2xqOFkyehXwcD9DxU1gEq/MoJ-Figma-Kit?type=design&node-id=61-3019&mode=design +--- + +{%- from "govuk/components/service-navigation/macro.njk" import govukServiceNavigation -%} +{%- from "moj/components/notification-badge/macro.njk" import mojNotificationBadge -%} + +{{ govukServiceNavigation({ + navigation: [ + { text: "Dashboard", active: true, href: "#" }, + { html: "Messages" + mojNotificationBadge({ + text: "123", + visuallyHiddenText: "unread" + }), + href: "#" + }, + { text: "Cases", href: "#" } + ] +}) }} diff --git a/docs/examples/notification-badge-side-nav/index.njk b/docs/examples/notification-badge-side-nav/index.njk new file mode 100644 index 000000000..86b67dc6b --- /dev/null +++ b/docs/examples/notification-badge-side-nav/index.njk @@ -0,0 +1,24 @@ +--- +layout: layouts/example.njk +title: Notification badge (example) +figma_link: https://www.figma.com/file/N2xqOFkyehXwcD9DxU1gEq/MoJ-Figma-Kit?type=design&node-id=61-3019&mode=design +--- + +{%- from "moj/components/side-navigation/macro.njk" import mojSideNavigation -%} +{%- from "moj/components/notification-badge/macro.njk" import mojNotificationBadge -%} + +
    +
    + {{ mojSideNavigation({ + items: [ + { text: "Dashboard", active: true }, + { html: "Messages" + mojNotificationBadge({ + text: "5", + visuallyHiddenText: "unread" + }) + }, + { text: "Cases"} + ] + })}} +
    +
    diff --git a/docs/examples/notification-badge-sub-nav/index.njk b/docs/examples/notification-badge-sub-nav/index.njk new file mode 100644 index 000000000..e334b7b93 --- /dev/null +++ b/docs/examples/notification-badge-sub-nav/index.njk @@ -0,0 +1,20 @@ +--- +layout: layouts/example.njk +title: Notification badge (example) +figma_link: https://www.figma.com/file/N2xqOFkyehXwcD9DxU1gEq/MoJ-Figma-Kit?type=design&node-id=61-3019&mode=design +--- + +{%- from "moj/components/sub-navigation/macro.njk" import mojSubNavigation -%} +{%- from "moj/components/notification-badge/macro.njk" import mojNotificationBadge -%} + + {{ mojSubNavigation({ + items: [ + { text: "Dashboard", active: true }, + { html: "Messages" + mojNotificationBadge({ + text: "5", + visuallyHiddenText: "unread" + }) + }, + { text: "Cases"} + ] + })}} diff --git a/docs/examples/notification-badge-tabs/index.njk b/docs/examples/notification-badge-tabs/index.njk new file mode 100644 index 000000000..75e0a8818 --- /dev/null +++ b/docs/examples/notification-badge-tabs/index.njk @@ -0,0 +1,42 @@ +--- +layout: layouts/example.njk +title: Notification badge (example) +figma_link: https://www.figma.com/file/N2xqOFkyehXwcD9DxU1gEq/MoJ-Figma-Kit?type=design&node-id=61-3019&mode=design +--- + +{%- from "moj/components/notification-badge/macro.njk" import mojNotificationBadge -%} + + diff --git a/docs/examples/notification-badge/index.njk b/docs/examples/notification-badge/index.njk index 67151ccb8..4e2d6d787 100644 --- a/docs/examples/notification-badge/index.njk +++ b/docs/examples/notification-badge/index.njk @@ -1,11 +1,12 @@ --- layout: layouts/example.njk title: Notification badge (example) +arguments: notification-badge figma_link: https://www.figma.com/file/N2xqOFkyehXwcD9DxU1gEq/MoJ-Figma-Kit?type=design&node-id=61-3019&mode=design --- {%- from "moj/components/notification-badge/macro.njk" import mojNotificationBadge -%} -{{ mojNotificationBadge({ - text: "10" -}) }} +{{- mojNotificationBadge({ + text: "5" +}) -}} diff --git a/docs/javascripts/application.mjs b/docs/javascripts/application.mjs index e547c3033..be34af500 100644 --- a/docs/javascripts/application.mjs +++ b/docs/javascripts/application.mjs @@ -19,6 +19,7 @@ import { Cookies } from './cookies.mjs' import { Copy } from './copy.mjs' import { IFrameResizer } from './iframe-resizer.mjs' import { MenuToggle } from './menu-toggle.mjs' +import { ScrollContainer } from './scroll-container.mjs' import { Tabs as MojTabs } from './tabs.mjs' // GOV.UK Frontend components @@ -42,6 +43,7 @@ createAll(MojTabs) createAll(Copy) createAll(Cookies) createAll(IFrameResizer) +createAll(ScrollContainer) window.customElements.define('moj-menu-toggle', MenuToggle) window.customElements.define('moj-collapsible-nav', CollapsibleNav) diff --git a/docs/javascripts/scroll-container.mjs b/docs/javascripts/scroll-container.mjs new file mode 100644 index 000000000..26976bd3e --- /dev/null +++ b/docs/javascripts/scroll-container.mjs @@ -0,0 +1,53 @@ +import { Component } from 'govuk-frontend' + +const scrollContainerResizeObserver = new window.ResizeObserver((entries) => { + for (const entry of entries) { + if (ScrollContainer.isOverflowing(entry.target)) { + entry.target.setAttribute('tabindex', '0') + } else { + entry.target.removeAttribute('tabindex') + } + } +}) + +/** + * + */ +export class ScrollContainer extends Component { + static moduleName = 'app-scroll-container' + + /** + * Checks if ResizeObserver supported + */ + static isSupported() { + Component.checkSupport() + + if (!('ResizeObserver' in window)) { + throw Error('Browser does not support ResizeObserver') + } + } + + /** + * @param {Element} $module - HTML element + */ + constructor($module) { + super($module) + scrollContainerResizeObserver.observe(this.$root) + } + + /** + * Checks if the elements scrollable width or height is greater than the + * width or height the element is being rendered at. + * + * @param {Element} $element - The element to check + * @returns {boolean} - Returns `true` if the given element is overflowing + * in either dimension, otherwise returns `false` + * @static + */ + static isOverflowing($element) { + return ( + $element.scrollHeight > $element.clientHeight || + $element.scrollWidth > $element.clientWidth + ) + } +} diff --git a/docs/notification-badge-testing.md b/docs/notification-badge-testing.md new file mode 100644 index 000000000..14bb8a58a --- /dev/null +++ b/docs/notification-badge-testing.md @@ -0,0 +1,491 @@ +--- +layout: layouts/content.njk +subsection: Unpublished page +title: Notification badge positioning +lede: Checking how different spacing between the notification badge and other items makes them look associated, or not. +--- + +### Next to a link + +Badge outside of link text 10 +

    Above: Using a space for padding. The notification badge is not clickable because it is outside of the a tag.

    + +Badge inside link text10 +

    Above: The badge is clickable but the space is underlined, which looks strange.

    + +
    + +### In MoJ Primary nav + +#### No margin + +
    +
    +
    + +
    +
    +
    + +
    + +#### 6px margin + +
    +
    +
    + +
    +
    +
    + +
    +
    + +### MoJ sub nav + +#### 6px margin + + + +
    + +### In MoJ side navigation + +#### No margin, left aligned + +
    + +
    + +
    +

    Above: Too little spacing? Each nav item with a tag has a height of 47px, items without have a height of 40px, creating weird spacing between the titles of the items.

    + +#### 6px margin, left aligned + +
    + +
    + +
    +

    Above: each nav item with a tag has a height of 47px, items without have a height of 40px, creating weird spacing between the titles of the items.

    + +
    + +### GOV.UK tabs + +

    Yes I know they've been re-styled!

    + +#### No margin + +
    +

    + Contents +

    + +
    +

    Past day

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Case managerCases openedCases closed
    David Francis30
    Paul Farmer10
    Rita Patel20
    +
    +
    +

    Past week

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Case managerCases openedCases closed
    David Francis2418
    Paul Farmer1620
    Rita Patel2427
    +
    +
    +

    Past month

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Case managerCases openedCases closed
    David Francis9895
    Paul Farmer122131
    Rita Patel126142
    +
    +
    +

    Past year

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Case managerCases openedCases closed
    David Francis13801472
    Paul Farmer11291083
    Rita Patel15391265
    +
    +
    + +#### 6px margin + +
    +

    + Contents +

    + +
    +

    Past day

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Case managerCases openedCases closed
    David Francis30
    Paul Farmer10
    Rita Patel20
    +
    +
    +

    Past week

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Case managerCases openedCases closed
    David Francis2418
    Paul Farmer1620
    Rita Patel2427
    +
    +
    +

    Past month

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Case managerCases openedCases closed
    David Francis9895
    Paul Farmer122131
    Rita Patel126142
    +
    +
    +

    Past year

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Case managerCases openedCases closed
    David Francis13801472
    Paul Farmer11291083
    Rita Patel15391265
    +
    +
    + +
    + +### GOV.UK service navigation + +#### 6px margin + + diff --git a/docs/stylesheets/application.scss b/docs/stylesheets/application.scss index 076374979..cbc93f306 100755 --- a/docs/stylesheets/application.scss +++ b/docs/stylesheets/application.scss @@ -1,5 +1,5 @@ @forward "moj-frontend"; -@forward "highlight.js/styles/a11y-light.css"; +@forward "a11y-syntax-highlighting/dist/highlight/a11y-light.css"; // Custom documentation components @forward "components/accordions"; diff --git a/docs/stylesheets/components/_copy-button.scss b/docs/stylesheets/components/_copy-button.scss index 0010ac62b..aa16d4b6c 100644 --- a/docs/stylesheets/components/_copy-button.scss +++ b/docs/stylesheets/components/_copy-button.scss @@ -18,6 +18,20 @@ cursor: pointer; @include govuk-font(16); + &:focus:not(:hover) { + color: $govuk-focus-text-colour; + background-color: $govuk-focus-colour; + box-shadow: 0 2px 0 0 $govuk-focus-text-colour; + } + + &:active, + &:focus { + padding: 2px 10px; // Counter increased border size + border: 2px solid $govuk-focus-colour; + outline: 2px solid transparent; + box-shadow: none; + } + &:active { margin-top: 2px; box-shadow: none; diff --git a/docs/stylesheets/components/_tabs.scss b/docs/stylesheets/components/_tabs.scss index 6bcf0fe4f..235ac43ed 100644 --- a/docs/stylesheets/components/_tabs.scss +++ b/docs/stylesheets/components/_tabs.scss @@ -114,4 +114,9 @@ outline: 1px solid transparent; background-color: #f7f7f7; } + + pre code:focus { + border: 3px solid govuk-colour("black"); + outline: 3px solid govuk-colour("yellow"); + } } diff --git a/package-lock.json b/package-lock.json index 1eea13e16..34caa9b28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@ministryofjustice/frontend": "*", "@sentry/node": "^9.46.0", "@sentry/rollup-plugin": "^3.6.1", + "a11y-syntax-highlighting": "^1.1.0", "connect-redis": "^6.1.3", "dotenv": "^17.2.2", "express": "^5.1.0", @@ -371,7 +372,6 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", @@ -2334,7 +2334,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" }, @@ -2358,7 +2357,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" } @@ -5258,7 +5256,6 @@ "version": "6.1.4", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@octokit/auth-token": "^5.0.0", "@octokit/graphql": "^8.1.2", @@ -5389,7 +5386,6 @@ "node_modules/@opentelemetry/api": { "version": "1.9.0", "license": "Apache-2.0", - "peer": true, "engines": { "node": ">=8.0.0" } @@ -5407,7 +5403,6 @@ "node_modules/@opentelemetry/context-async-hooks": { "version": "1.30.1", "license": "Apache-2.0", - "peer": true, "engines": { "node": ">=14" }, @@ -5418,7 +5413,6 @@ "node_modules/@opentelemetry/core": { "version": "1.30.1", "license": "Apache-2.0", - "peer": true, "dependencies": { "@opentelemetry/semantic-conventions": "1.28.0" }, @@ -5439,7 +5433,6 @@ "node_modules/@opentelemetry/instrumentation": { "version": "0.57.2", "license": "Apache-2.0", - "peer": true, "dependencies": { "@opentelemetry/api-logs": "0.57.2", "@types/shimmer": "^1.2.0", @@ -5795,7 +5788,6 @@ "node_modules/@opentelemetry/resources": { "version": "1.30.1", "license": "Apache-2.0", - "peer": true, "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/semantic-conventions": "1.28.0" @@ -5817,7 +5809,6 @@ "node_modules/@opentelemetry/sdk-trace-base": { "version": "1.30.1", "license": "Apache-2.0", - "peer": true, "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/resources": "1.30.1", @@ -5842,7 +5833,6 @@ "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.37.0.tgz", "integrity": "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA==", "license": "Apache-2.0", - "peer": true, "engines": { "node": ">=14" } @@ -7823,7 +7813,6 @@ "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -7918,7 +7907,6 @@ "version": "7.20.5", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -8190,7 +8178,8 @@ "node_modules/@types/linkify-it": { "version": "5.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/markdown-it": { "version": "14.1.2", @@ -8213,7 +8202,8 @@ "node_modules/@types/mdurl": { "version": "2.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/mime": { "version": "1.3.5", @@ -8237,7 +8227,6 @@ "node_modules/@types/node": { "version": "22.15.3", "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -8480,7 +8469,6 @@ "integrity": "sha512-EHrrEsyhOhxYt8MTg4zTF+DJMuNBzWwgvvOYNj/zm1vnaD/IC5zCXFehZv94Piqa2cRFfXrTFxIvO95L7Qc/cw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.44.1", "@typescript-eslint/types": "8.44.1", @@ -8984,6 +8972,12 @@ "version": "1.0.1", "license": "MIT" }, + "node_modules/a11y-syntax-highlighting": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/a11y-syntax-highlighting/-/a11y-syntax-highlighting-1.1.0.tgz", + "integrity": "sha512-XKqjv/Uc4UAzLUhoRK3GAORhA5OZmAR3GYd8N7Vl63mVA+z7nUn2fJbobHMmUCddlByd66y/xQHK6+tJxQKOFg==", + "license": "MIT" + }, "node_modules/abbrev": { "version": "2.0.0", "dev": true, @@ -9022,7 +9016,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -10669,7 +10662,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.3", "caniuse-lite": "^1.0.30001741", @@ -11891,7 +11883,6 @@ "version": "9.0.0", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", @@ -12872,8 +12863,7 @@ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1495869.tgz", "integrity": "sha512-i+bkd9UYFis40RcnkW7XrOprCujXRAHg62IVh/Ah3G8MmNXpCGt1m0dTFhSdx/AVs8XEMbdOGRwdkR1Bcta8AA==", "dev": true, - "license": "BSD-3-Clause", - "peer": true + "license": "BSD-3-Clause" }, "node_modules/dezalgo": { "version": "1.0.4", @@ -13605,7 +13595,6 @@ "version": "8.57.1", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -13786,7 +13775,6 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -13984,7 +13972,6 @@ "version": "16.6.2", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "builtins": "^5.0.1", @@ -14071,7 +14058,6 @@ "version": "6.6.0", "dev": true, "license": "ISC", - "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -16338,7 +16324,6 @@ "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-5.12.0.tgz", "integrity": "sha512-gNr/UVDoORVOqVKTC9i9HOKKPeM4IDTAqtnd3t6U8LQibEr+8Q+FB7Id0u/MfR/5mqPfenG/+VGLW96vJXok/g==", "license": "MIT", - "peer": true, "engines": { "node": ">= 4.2.0" } @@ -16875,7 +16860,6 @@ "integrity": "sha512-gL6z5N9Jm9mhY+U2KXZpteb+09zyffliRkZyZOHODGATyC5B1Jt/7TzuuiLkFsSUMLbS1OLmlj/E+/3KF4Q/4w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -20608,7 +20592,6 @@ "integrity": "sha512-PErok3DZSA5WGMd6XXV3IRNO0mlB+wW3OzhFJLEec1jSERg2j1bxJ6e5Fh6N6fn3FH2T9AP4UYNb/pYlADB9sA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "glob-watcher": "^6.0.0", "gulp-cli": "^3.1.0", @@ -22017,7 +22000,6 @@ "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.8.0.tgz", "integrity": "sha512-AUXbKn9gvo9hHKvk6LbZJQSKn/qIfkWXrnsyL9Yrf+oeXmla9Nmf6XEumOddyhM8neynpK5oAV6r9r99KBuwzA==", "license": "MIT", - "peer": true, "dependencies": { "@ioredis/commands": "1.4.0", "cluster-key-slot": "^1.1.0", @@ -22976,7 +22958,6 @@ "integrity": "sha512-Ry+p2+NLk6u8Agh5yVqELfUJvRfV51hhVBRIB5yZPY7mU0DGBmOuFG5GebZbMbm86cdQNK0fhJuDX8/1YorISQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@jest/core": "30.1.3", "@jest/types": "30.0.5", @@ -26854,7 +26835,6 @@ "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", @@ -27924,7 +27904,6 @@ "node_modules/moment": { "version": "2.30.1", "license": "MIT", - "peer": true, "engines": { "node": "*" } @@ -30841,7 +30820,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -32344,7 +32322,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -32833,7 +32810,6 @@ "version": "7.1.0", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -32923,7 +32899,6 @@ "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "posthtml-parser": "^0.11.0", "posthtml-render": "^3.0.0" @@ -33839,7 +33814,6 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.2.tgz", "integrity": "sha512-I25/2QgoROE1vYV+NQ1En9T9UFB9Cmfm2CJ83zZOlaDpvz29wGQSZXWKw7MiNXau7wYgB/T9fVIdIuEQ+KbiiA==", "license": "MIT", - "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -34621,7 +34595,6 @@ "integrity": "sha512-phCkJ6pjDi9ANdhuF5ElS10GGdAKY6R1Pvt9lT3SFhOwM4T7QZE7MLpBDbNruUx/Q3gFD92/UOFringGipRqZA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", @@ -35372,7 +35345,6 @@ "integrity": "sha512-TOgRcwFPbfGtpqvZw+hyqJDvqfapr1qUlOizROIk4bBLjlsjlB00Pg6wMFXNtJRpu+eCZuVOaLatG7M8105kAw==", "dev": true, "license": "BSD-3-Clause", - "peer": true, "dependencies": { "@sinonjs/commons": "^3.0.1", "@sinonjs/fake-timers": "^13.0.5", @@ -36090,7 +36062,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", @@ -37338,7 +37309,6 @@ "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index 8dd962bab..85a23dbc2 100644 --- a/package.json +++ b/package.json @@ -65,6 +65,7 @@ "@ministryofjustice/frontend": "*", "@sentry/node": "^9.46.0", "@sentry/rollup-plugin": "^3.6.1", + "a11y-syntax-highlighting": "^1.1.0", "connect-redis": "^6.1.3", "dotenv": "^17.2.2", "express": "^5.1.0", diff --git a/src/moj/components/notification-badge/_notification-badge.scss b/src/moj/components/notification-badge/_notification-badge.scss index fd3c31b38..119aa6d96 100644 --- a/src/moj/components/notification-badge/_notification-badge.scss +++ b/src/moj/components/notification-badge/_notification-badge.scss @@ -5,14 +5,18 @@ ========================================================================== */ .moj-notification-badge { + @include govuk-font($size: 16, $weight: "bold"); display: inline-block; - min-width: 15px; - padding: 5px 8px 2px; - border-radius: 75px; + min-width: 0.75em; + min-height: 1.25em; + margin-left: 0.5em; + padding: 1px 0.25em 0; + border-radius: 10em; + // outline ensures number is not obscured in Windows high contrast mode + // and prevents containers resizing + outline: 4px solid govuk-colour("red"); + outline-offset: -0.1em; color: govuk-colour("white"); background-color: govuk-colour("red"); - font-weight: 600; text-align: center; - white-space: nowrap; - @include govuk-font($size: 16, $weight: "bold"); } diff --git a/src/moj/components/notification-badge/template.njk b/src/moj/components/notification-badge/template.njk index fe04aea76..e3e6e714b 100644 --- a/src/moj/components/notification-badge/template.njk +++ b/src/moj/components/notification-badge/template.njk @@ -1,5 +1,11 @@ -{%- if params.text.length %} - - {{- params.text | safe -}} - -{% endif -%} +{%- from "govuk/macros/attributes.njk" import govukAttributes -%} + +{%- set count = params.text | int -%} +{%- if count > 0 -%} + {%- set visuallyHiddenCount = '99 or more' if count >= 99 else count -%} + {%- set count = '99+' if count >= 99 else count -%} + + + ({{- visuallyHiddenCount -}}{{- " "+params.visuallyHiddenText if params.visuallyHiddenText -}}) + +{%- endif -%} From 0fb889aad874fb302227219a51a91062fdc9d6e9 Mon Sep 17 00:00:00 2001 From: Chris Pymm Date: Wed, 1 Oct 2025 14:37:56 +0100 Subject: [PATCH 25/28] ci: remove permissions for publish semantic release step (#1853) the permissions block seems to be supercede or override the admin pat token --- .github/workflows/publish-package.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/publish-package.yml b/.github/workflows/publish-package.yml index de6c42a66..5448d0e6f 100644 --- a/.github/workflows/publish-package.yml +++ b/.github/workflows/publish-package.yml @@ -98,11 +98,6 @@ jobs: publish: runs-on: ubuntu-latest needs: [result] - permissions: - contents: write # to be able to publish a GitHub release - issues: write # to be able to comment on released issues - pull-requests: write # to be able to comment on released pull requests - id-token: write # to enable use of OIDC for npm provenance steps: - uses: actions/checkout@v4 From 09bc208b44e267ec22e331fda9a3aaaaf95544ed Mon Sep 17 00:00:00 2001 From: Chris Pymm Date: Wed, 1 Oct 2025 14:47:52 +0100 Subject: [PATCH 26/28] Fix publish package workflow (#1855) * ci: remove permissions for publish semantic release step the permissions block seems to be supercede or override the admin pat token * ci: try permissions for dryrun --- .github/workflows/publish-package.yml | 62 ++++++++++++++++----------- 1 file changed, 36 insertions(+), 26 deletions(-) diff --git a/.github/workflows/publish-package.yml b/.github/workflows/publish-package.yml index 5448d0e6f..a1a171fdc 100644 --- a/.github/workflows/publish-package.yml +++ b/.github/workflows/publish-package.yml @@ -7,7 +7,10 @@ jobs: build: runs-on: ubuntu-latest permissions: - contents: read + contents: write # to be able to publish a GitHub release + issues: write # to be able to comment on released issues + pull-requests: write # to be able to comment on released pull requests + id-token: write # to enable use of OIDC for npm provenance steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 @@ -95,29 +98,36 @@ jobs: status: ${{ needs.test.result }} context: Tests - publish: - runs-on: ubuntu-latest - needs: [result] - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - persist-credentials: false - - uses: actions/setup-node@v4 - with: - node-version-file: .nvmrc - - uses: actions/download-artifact@v4 - with: - name: mojds-package - path: package - - uses: actions/download-artifact@v4 - with: - name: mojds-dist - path: dist - - run: npm ci - - name: Publish to NPM - run: npm run ci:release - env: - NPM_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} - GITHUB_TOKEN: ${{ secrets.GH_ADMIN_TOKEN }} + # publish: + # runs-on: ubuntu-latest + # needs: [result] + # permissions: + # contents: write # to be able to publish a GitHub release + # issues: write # to be able to comment on released issues + # pull-requests: write # to be able to comment on released pull requests + # id-token: write # to enable use of OIDC for npm provenance + # + # steps: + # - uses: actions/checkout@v4 + # with: + # fetch-depth: 0 + # persist-credentials: false + # - uses: actions/setup-node@v4 + # with: + # node-version-file: .nvmrc + # - uses: actions/download-artifact@v4 + # with: + # name: mojds-package + # path: package + # - uses: actions/download-artifact@v4 + # with: + # name: mojds-dist + # path: dist + # - run: npm ci + # - name: Publish to NPM + # run: npm run ci:release + # env: + # NPM_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} + # GITHUB_TOKEN: ${{ secrets.GH_ADMIN_TOKEN }} + From e274964eaabb30bc620b3c8dc3f4f3a87645a058 Mon Sep 17 00:00:00 2001 From: Chris Pymm Date: Wed, 1 Oct 2025 14:59:26 +0100 Subject: [PATCH 27/28] Fix publish package workflow (#1856) * ci: try permissions for dryrun * ci: permissions fixed - enable publisj --- .github/workflows/publish-package.yml | 62 +++++++++++++-------------- 1 file changed, 30 insertions(+), 32 deletions(-) diff --git a/.github/workflows/publish-package.yml b/.github/workflows/publish-package.yml index a1a171fdc..4782bf9b3 100644 --- a/.github/workflows/publish-package.yml +++ b/.github/workflows/publish-package.yml @@ -98,36 +98,34 @@ jobs: status: ${{ needs.test.result }} context: Tests + publish: + runs-on: ubuntu-latest + needs: [result] + permissions: + contents: write # to be able to publish a GitHub release + issues: write # to be able to comment on released issues + pull-requests: write # to be able to comment on released pull requests + id-token: write # to enable use of OIDC for npm provenance - # publish: - # runs-on: ubuntu-latest - # needs: [result] - # permissions: - # contents: write # to be able to publish a GitHub release - # issues: write # to be able to comment on released issues - # pull-requests: write # to be able to comment on released pull requests - # id-token: write # to enable use of OIDC for npm provenance - # - # steps: - # - uses: actions/checkout@v4 - # with: - # fetch-depth: 0 - # persist-credentials: false - # - uses: actions/setup-node@v4 - # with: - # node-version-file: .nvmrc - # - uses: actions/download-artifact@v4 - # with: - # name: mojds-package - # path: package - # - uses: actions/download-artifact@v4 - # with: - # name: mojds-dist - # path: dist - # - run: npm ci - # - name: Publish to NPM - # run: npm run ci:release - # env: - # NPM_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} - # GITHUB_TOKEN: ${{ secrets.GH_ADMIN_TOKEN }} - + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + persist-credentials: false + - uses: actions/setup-node@v4 + with: + node-version-file: .nvmrc + - uses: actions/download-artifact@v4 + with: + name: mojds-package + path: package + - uses: actions/download-artifact@v4 + with: + name: mojds-dist + path: dist + - run: npm ci + - name: Publish to NPM + run: npm run ci:release + env: + NPM_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GH_ADMIN_TOKEN }} From 7b0cb23c368ab5861a64b47db03846f6ad7a355b Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 1 Oct 2025 14:04:18 +0000 Subject: [PATCH 28/28] chore(release): 6.0.0 [skip ci] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # [6.0.0](https://github.com/ministryofjustice/moj-frontend/compare/v5.2.1...v6.0.0) (2025-10-01) ### Bug Fixes * **types:** update initAll signature to match types expected by GOVUKFrontend.createAll() ([#1819](https://github.com/ministryofjustice/moj-frontend/issues/1819)) ([26ad7ca](https://github.com/ministryofjustice/moj-frontend/commit/26ad7ca0e09c4499db1b99a585239b33282b6570)) ### Features * Notification badge ([#1599](https://github.com/ministryofjustice/moj-frontend/issues/1599)) ([005299b](https://github.com/ministryofjustice/moj-frontend/commit/005299b8f328a22aa716340f1487f3bb7975f5a6)) ### BREAKING CHANGES * the spacing for the component has changed. This could affect the layout of UIs using the component. You need to remove any spacing you’ve added to (or around) the component. This needs to be done in Figma designs and in code. * docs: add page to test positioning * docs: styling changes * docs: remove margin from layout tests * docs: spacing adjustment * docs: add placeholder pattern page * docs: fix font size * docs: linting * docs: linting * docs: add github discussion URL * docs: add example image * docs: updates - Remove experimental pattern - Add tabs - Add two examples * style: min-width fix * style: change border to outline * style: padding tweaks * docs: wip add notification badge examples * style: fix lint errors for notificaion badge scss * docs: update notification badge tabs example to not use macro * docs: remove visually hidden puntuation removed the hidden comma for screenreaders as I don't think it's recommended * docs: add draft content * docs: example images * docs: crit changes * feat: update notification badge template * docs: number update * docs: add nunjucks arguments to notification badge * docs: update example shortcode to automatically include arguments Previously each example njk file needed to include a refernce to the the arguments file in its frontmatter. This was a bit redundant as the arguments file always has the same name as the component and is always in the same location. This PR updates the shortcode to extract the arguments file name from the calling page, and automatically include the arguments markup if the file exists. * docs: content changes * docs: image updates * docs: fix height of initial example * docs: add page to test positioning * docs: styling changes * docs: remove margin from layout tests * docs: spacing adjustment * docs: add placeholder pattern page * docs: fix font size * docs: linting * docs: linting * docs: add github discussion URL * docs: add example image * docs: updates - Remove experimental pattern - Add tabs - Add two examples * style: min-width fix * style: change border to outline * style: padding tweaks * docs: wip add notification badge examples * style: fix lint errors for notificaion badge scss * docs: update notification badge tabs example to not use macro * docs: remove visually hidden puntuation removed the hidden comma for screenreaders as I don't think it's recommended * docs: add draft content * docs: example images * docs: crit changes * feat: update notification badge template * docs: number update * docs: add nunjucks arguments to notification badge * docs: update example shortcode to automatically include arguments Previously each example njk file needed to include a refernce to the the arguments file in its frontmatter. This was a bit redundant as the arguments file always has the same name as the component and is always in the same location. This PR updates the shortcode to extract the arguments file name from the calling page, and automatically include the arguments markup if the file exists. * docs: content changes * docs: image updates * docs: fix height of initial example * docs: show html tab for positioning example * docs: new content * docs: content changes * docs: content update * docs: guidance update * docs: examples updates * docs: add notification badge link example * docs: update docs page to use notification badge link example * docs: updates * docs: final update * docs: code tweak * docs: fix links and curly quotes * docs: coded example of 0 count * docs: update example images * docs: alt text * docs: update image * docs: update coded examples * docs: team review * docs(notification badge): control whitespace in nunjucks to prevent trailing spaces in links * docs(notification badge): correct updated date for component * style: adjust padding * docs: adjust css and more - example numbers - release month * docs: update examples * docs: amend examples * docs: fix list spacing * docs: move example * docs: alt text * docs: link text tweak * docs: link tweak * docs(notification badge): correct updated date for component * style: adjust padding * docs: adjust css and more - example numbers - release month * docs: update examples * docs: amend examples * docs: fix list spacing * docs: move example * docs: alt text * docs: link text tweak * docs: link tweak * docs: add focus state to code blocks * docs: update a11y-light code theme * docs: update alt text * docs: update coded examples * docs: typo * docs: nunjucks macro tweaks --- CHANGELOG.md | 251 +++++++++++++++++++++++++++++++++++++++++++ package/package.json | 2 +- 2 files changed, 252 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f43f681c..46f2120d7 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,254 @@ +# [6.0.0](https://github.com/ministryofjustice/moj-frontend/compare/v5.2.1...v6.0.0) (2025-10-01) + + +### Bug Fixes + +* **types:** update initAll signature to match types expected by GOVUKFrontend.createAll() ([#1819](https://github.com/ministryofjustice/moj-frontend/issues/1819)) ([26ad7ca](https://github.com/ministryofjustice/moj-frontend/commit/26ad7ca0e09c4499db1b99a585239b33282b6570)) + + +### Features + +* Notification badge ([#1599](https://github.com/ministryofjustice/moj-frontend/issues/1599)) ([005299b](https://github.com/ministryofjustice/moj-frontend/commit/005299b8f328a22aa716340f1487f3bb7975f5a6)) + + +### BREAKING CHANGES + +* the spacing for the component has changed. This could affect the layout of UIs using the component. + +You need to remove any spacing you’ve added to (or around) the component. This needs to be done in Figma designs and in code. + +* docs: add page to test positioning + +* docs: styling changes + +* docs: remove margin from layout tests + +* docs: spacing adjustment + +* docs: add placeholder pattern page + +* docs: fix font size + +* docs: linting + +* docs: linting + +* docs: add github discussion URL + +* docs: add example image + +* docs: updates + +- Remove experimental pattern +- Add tabs +- Add two examples + +* style: min-width fix + +* style: change border to outline + +* style: padding tweaks + +* docs: wip add notification badge examples + +* style: fix lint errors for notificaion badge scss + +* docs: update notification badge tabs example to not use macro + +* docs: remove visually hidden puntuation + +removed the hidden comma for screenreaders as I don't think it's recommended + +* docs: add draft content + +* docs: example images + +* docs: crit changes + +* feat: update notification badge template + +* docs: number update + +* docs: add nunjucks arguments to notification badge + +* docs: update example shortcode to automatically include arguments + +Previously each example njk file needed to include a refernce to the the arguments file in its +frontmatter. This was a bit redundant as the arguments file always has the same name as the +component and is always in the same location. This PR updates the shortcode to extract the +arguments file name from the calling page, and automatically include the arguments markup if the +file exists. + +* docs: content changes + +* docs: image updates + +* docs: fix height of initial example + +* docs: add page to test positioning + +* docs: styling changes + +* docs: remove margin from layout tests + +* docs: spacing adjustment + +* docs: add placeholder pattern page + +* docs: fix font size + +* docs: linting + +* docs: linting + +* docs: add github discussion URL + +* docs: add example image + +* docs: updates + +- Remove experimental pattern +- Add tabs +- Add two examples + +* style: min-width fix + +* style: change border to outline + +* style: padding tweaks + +* docs: wip add notification badge examples + +* style: fix lint errors for notificaion badge scss + +* docs: update notification badge tabs example to not use macro + +* docs: remove visually hidden puntuation + +removed the hidden comma for screenreaders as I don't think it's recommended + +* docs: add draft content + +* docs: example images + +* docs: crit changes + +* feat: update notification badge template + +* docs: number update + +* docs: add nunjucks arguments to notification badge + +* docs: update example shortcode to automatically include arguments + +Previously each example njk file needed to include a refernce to the the arguments file in its +frontmatter. This was a bit redundant as the arguments file always has the same name as the +component and is always in the same location. This PR updates the shortcode to extract the +arguments file name from the calling page, and automatically include the arguments markup if the +file exists. + +* docs: content changes + +* docs: image updates + +* docs: fix height of initial example + +* docs: show html tab for positioning example + +* docs: new content + +* docs: content changes + +* docs: content update + +* docs: guidance update + +* docs: examples updates + +* docs: add notification badge link example + +* docs: update docs page to use notification badge link example + +* docs: updates + +* docs: final update + +* docs: code tweak + +* docs: fix links and curly quotes + +* docs: coded example of 0 count + +* docs: update example images + +* docs: alt text + +* docs: update image + +* docs: update coded examples + +* docs: team review + +* docs(notification badge): control whitespace in nunjucks to prevent trailing spaces in links + +* docs(notification badge): correct updated date for component + +* style: adjust padding + +* docs: adjust css and more + +- example numbers +- release month + +* docs: update examples + +* docs: amend examples + +* docs: fix list spacing + +* docs: move example + +* docs: alt text + +* docs: link text tweak + +* docs: link tweak + +* docs(notification badge): correct updated date for component + +* style: adjust padding + +* docs: adjust css and more + +- example numbers +- release month + +* docs: update examples + +* docs: amend examples + +* docs: fix list spacing + +* docs: move example + +* docs: alt text + +* docs: link text tweak + +* docs: link tweak + +* docs: add focus state to code blocks + +* docs: update a11y-light code theme + +* docs: update alt text + +* docs: update coded examples + +* docs: typo + +* docs: nunjucks macro tweaks + ## [5.2.1](https://github.com/ministryofjustice/moj-frontend/compare/v5.2.0...v5.2.1) (2025-09-24) diff --git a/package/package.json b/package/package.json index a3092c5ce..6d81279b0 100755 --- a/package/package.json +++ b/package/package.json @@ -1,7 +1,7 @@ { "name": "@ministryofjustice/frontend", "description": "The MOJ Frontend contains the code you need to start building user interfaces for UK Ministry of Justice government services.", - "version": "5.2.1", + "version": "6.0.0", "main": "moj/all.js", "module": "moj/all.mjs", "sass": "moj/all.scss",