From ae135b57296860fbe6073e9808d7045ff9fc703f Mon Sep 17 00:00:00 2001 From: fsvreddit <97185438+fsvreddit@users.noreply.github.com> Date: Fri, 29 May 2026 14:54:46 +0100 Subject: [PATCH 01/15] Update packages and v1.13 issues --- package-lock.json | 2278 +++++++++++++++++++-------------------------- package.json | 8 +- src/main.ts | 1 - src/nuke.ts | 16 - 4 files changed, 936 insertions(+), 1367 deletions(-) diff --git a/package-lock.json b/package-lock.json index f25e2a8..2e1b1a7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,31 +9,31 @@ "version": "0.11.19", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.12.7", - "@devvit/public-api": "0.12.7", + "@devvit/protos": "0.13.0", + "@devvit/public-api": "0.13.0", "pluralize": "^8.0.0" }, "devDependencies": { "@fsvreddit/eslint-config": "github:fsvreddit/eslint-config", "@types/pluralize": "^0.0.33", - "eslint": "^9.14.0", + "eslint": "^10.0.0", "typescript": "5.8.3", "vitest": "^4.0.7" } }, "node_modules/@devvit/metrics": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/@devvit/metrics/-/metrics-0.12.7.tgz", - "integrity": "sha512-zK/qkAHQCSZnf3Ve+ZYdGh51AEIoHqbVux7AS7udBk3POQt17P9Zm0AmGBM28J1LKeFpaMhjPw6QNJnwZspPiw==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/metrics/-/metrics-0.13.0.tgz", + "integrity": "sha512-EkWG3af8WFUCB5xc41hQzsehr6FWbcwLOcC83Bv71Pgaldceq+/wAWaDSR7xnrxnesuiSvc7xE2KH/wTsgQirg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.12.7" + "@devvit/protos": "0.13.0" } }, "node_modules/@devvit/protos": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.12.7.tgz", - "integrity": "sha512-vGQretGSDdoq3LJkgkZU5Abjoi5VR1Ejl2UbOEomZF9IA3CwlHwSc5JMRMvgxwZi6DnqNU9/vkyinPxksD4lkg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.13.0.tgz", + "integrity": "sha512-FVWEp5ewx61dIVXx9G44IUMpJu7CJuL+RikoymifCPOS/AFJUkgSliYNUwDrhop8eJ6j4jfIqWUu+JMjVUGxow==", "license": "BSD-3-Clause", "dependencies": { "protobufjs": "7.5.4", @@ -49,481 +49,74 @@ } }, "node_modules/@devvit/public-api": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.12.7.tgz", - "integrity": "sha512-XTq1ifpw9k1k/uZdLtbWBzHWTpt3SV11ZLTnKYXEdp3Avmha0Q5xtnZsAj79BinJY691tmpZGbNeckGWDqBDeA==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.13.0.tgz", + "integrity": "sha512-JRyAoZHxLl1NAGkNaYr86K4w6Gz2hqbGsh9gnooEXBr5DFldxyS7S6g8gxfYLr5nRhJ5Pn5hxHaMH8lUtIBf/Q==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/metrics": "0.12.7", - "@devvit/protos": "0.12.7", - "@devvit/shared": "0.12.7", - "@devvit/shared-types": "0.12.7", + "@devvit/metrics": "0.13.0", + "@devvit/protos": "0.13.0", + "@devvit/shared": "0.13.0", + "@devvit/shared-types": "0.13.0", "base64-js": "1.5.1", "clone-deep": "4.0.1", + "jwt-decode": "4.0.0", "moderndash": "4.0.0" } }, "node_modules/@devvit/shared": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.12.7.tgz", - "integrity": "sha512-XQ25ljy5Wu9EFw7W6aFEVvthy94Dd1dsDyDHamN19zj/PaFotznsIlacnG7H6xvIKJ/DcK2tz/8p8z9+cAIfRQ==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.13.0.tgz", + "integrity": "sha512-d5uDxq0b1gNEIk+IMAr7N1txLS23P/IGMfCQlx9pfy2bqLict0vfArBn1dkcbtKLzjwcBHZICkSRApjNdFEv7Q==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.12.7", - "@devvit/shared-types": "0.12.7" + "@devvit/protos": "0.13.0", + "@devvit/shared-types": "0.13.0" } }, "node_modules/@devvit/shared-types": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.12.7.tgz", - "integrity": "sha512-Zo/UmanWLpTdNmGHRX+OtSCRB9sM2aORLMT3eFJKzxQ3d7YRSuGNb9CC+FYKPBYiYTIMKd9M90pgZzWfl92rqA==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.13.0.tgz", + "integrity": "sha512-egldUa/gAO/RBXzTdSPMS9Zn+c8GXvf3rxgdgb8C8gv9Oc6kvku/RuWcItqe9nFh+9f4xCh+Q3CdZnJ67V9tFA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.12.7", + "@devvit/protos": "0.13.0", "jsonschema": "1.4.1", - "uuid": "9.0.0" + "uuid": "14.0.0" } }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", - "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", - "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", - "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", - "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", - "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", - "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", - "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", - "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", - "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", - "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", - "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", - "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", - "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", - "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", - "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", - "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", - "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", - "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", - "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", - "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", - "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", - "cpu": [ - "x64" - ], + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", "dev": true, "license": "MIT", "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", - "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", - "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", - "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" } }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", - "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", - "cpu": [ - "ia32" - ], + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", "dev": true, "license": "MIT", "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" + "dependencies": { + "tslib": "^2.4.0" } }, - "node_modules/@esbuild/win32-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", - "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", - "cpu": [ - "x64" - ], + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", "dev": true, "license": "MIT", "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" + "dependencies": { + "tslib": "^2.4.0" } }, "node_modules/@eslint-community/eslint-utils": { @@ -569,122 +162,50 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", + "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^2.1.7", + "@eslint/object-schema": "^3.0.5", "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-array/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/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" + "minimatch": "^10.2.4" }, "engines": { - "node": "*" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/config-helpers": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", - "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz", + "integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.17.0" + "@eslint/core": "^1.2.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", + "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", "dev": true, "license": "Apache-2.0", "dependencies": { "@types/json-schema": "^7.0.15" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", - "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.1", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/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/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/js": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", - "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", "dev": true, "license": "MIT", "engines": { @@ -695,32 +216,32 @@ } }, "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", + "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", "dev": true, "license": "Apache-2.0", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/plugin-kit": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", - "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz", + "integrity": "sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.17.0", + "@eslint/core": "^1.2.1", "levn": "^0.4.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@fsvreddit/eslint-config": { - "version": "0.0.8", - "resolved": "git+ssh://git@github.com/fsvreddit/eslint-config.git#e44bc41cb5ff0a8f31f0c3b9bb3314ad99012962", + "version": "0.1.0", + "resolved": "git+ssh://git@github.com/fsvreddit/eslint-config.git#8bbdca2db3fc1eadcc8efea86814e2e67b9c43d3", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -731,33 +252,47 @@ "typescript-eslint": "^8.50.0" }, "peerDependencies": { - "eslint": ">= 9" + "eslint": ">= 10" } }, "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, "engines": { "node": ">=18.18.0" } }, "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@humanfs/core": "^0.19.1", + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", "@humanwhocodes/retry": "^0.4.0" }, "engines": { "node": ">=18.18.0" } }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -793,6 +328,35 @@ "dev": true, "license": "MIT" }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.132.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.132.0.tgz", + "integrity": "sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, "node_modules/@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", @@ -806,25 +370,24 @@ "license": "BSD-3-Clause" }, "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.5.tgz", + "integrity": "sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.1.tgz", + "integrity": "sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.1.tgz", + "integrity": "sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==", "license": "BSD-3-Clause", "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "@protobufjs/aspromise": "^1.1.1" } }, "node_modules/@protobufjs/float": { @@ -834,9 +397,9 @@ "license": "BSD-3-Clause" }, "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.2.tgz", + "integrity": "sha512-pa0vFRuws4wkvaXKK1uXZMAwAX4/t8ANaJo45iw/oQHNQ9q5xUzwgFmVJGXiga2BeN+zpX7Vf9vmsiIa2J+MUw==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/path": { @@ -845,134 +408,22 @@ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", "license": "BSD-3-Clause" }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", - "license": "BSD-3-Clause" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.55.1.tgz", - "integrity": "sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.55.1.tgz", - "integrity": "sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.55.1.tgz", - "integrity": "sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.55.1.tgz", - "integrity": "sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.55.1.tgz", - "integrity": "sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.55.1.tgz", - "integrity": "sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.55.1.tgz", - "integrity": "sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.55.1.tgz", - "integrity": "sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.1.tgz", + "integrity": "sha512-oOAWABowe8EAbMyWKM0tYDKi8Yaox52D+HWZhAIJqQXbqe0xI/GV7FhLWqlEKreMkfDjshR5FKgi3mnle0h6Eg==", + "license": "BSD-3-Clause" }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.55.1.tgz", - "integrity": "sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==", + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.2.tgz", + "integrity": "sha512-ZS4D1JPGn/MYQN/SYDWftIE/nVsM8j/AFOYEzAoOE2O3NktQOZru+/vYXGbR/qtdLdIfGCP0lcoJiYVzsEz+iQ==", "cpu": [ "arm64" ], @@ -980,13 +431,16 @@ "license": "MIT", "optional": true, "os": [ - "linux" - ] + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.55.1.tgz", - "integrity": "sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==", + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.2.tgz", + "integrity": "sha512-vdFA9+C/rekyGce7WqHs/xoT0ioZEWaOFyZLIV1mEeNFaFDUQrPIo8Vs2GvJ6eetb3rzDUtUBgzto3ExpXJB3w==", "cpu": [ "arm64" ], @@ -994,97 +448,118 @@ "license": "MIT", "optional": true, "os": [ - "linux" - ] + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.55.1.tgz", - "integrity": "sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==", + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.2.tgz", + "integrity": "sha512-BewSOwTHazv77DTYiAZXSqqKZ4KP/KonFisDMVU7PImxoWfB2aepnPhd2E4SWz3zDzYgDNbs6jBmTdgNnF02GA==", "cpu": [ - "loong64" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" - ] + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.55.1.tgz", - "integrity": "sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==", + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.2.tgz", + "integrity": "sha512-m41o7M0YWtUdqk61Tb+jnKb2rN++iRdIASlExkUoKfIAH30DOHCB8fVLzSUpbWHHU8esmEioY62PxzexE8MBuA==", "cpu": [ - "loong64" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" - ] + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.55.1.tgz", - "integrity": "sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==", + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.2.tgz", + "integrity": "sha512-jcojB9H7W/jS29pMKWAK1N+fU99vXodHDTatS3b3y/XSOCiHo0kkA74pL3jJmkoQtYpOCxDvaKs1fo2Ij/1X5w==", "cpu": [ - "ppc64" + "arm" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.55.1.tgz", - "integrity": "sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==", + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.2.tgz", + "integrity": "sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig==", "cpu": [ - "ppc64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.55.1.tgz", - "integrity": "sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==", + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.2.tgz", + "integrity": "sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw==", "cpu": [ - "riscv64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.55.1.tgz", - "integrity": "sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==", + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.2.tgz", + "integrity": "sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA==", "cpu": [ - "riscv64" + "ppc64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.55.1.tgz", - "integrity": "sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==", + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.2.tgz", + "integrity": "sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ==", "cpu": [ "s390x" ], @@ -1093,12 +568,15 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.55.1.tgz", - "integrity": "sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==", + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.2.tgz", + "integrity": "sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ==", "cpu": [ "x64" ], @@ -1107,12 +585,15 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.55.1.tgz", - "integrity": "sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==", + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.2.tgz", + "integrity": "sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw==", "cpu": [ "x64" ], @@ -1121,26 +602,15 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.55.1.tgz", - "integrity": "sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==", - "cpu": [ - "x64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.55.1.tgz", - "integrity": "sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==", + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.2.tgz", + "integrity": "sha512-1v5vHasdfQAZoEHakBV72LIFAC9JjnymsiKxp+GEr/ma3+NJCPSaYK+qavInOovJkgwFrs7GccX2d6IgDA3Z5w==", "cpu": [ "arm64" ], @@ -1149,40 +619,51 @@ "optional": true, "os": [ "openharmony" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.55.1.tgz", - "integrity": "sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g==", + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.2.tgz", + "integrity": "sha512-mb1VobWn6NheziTk5/WEaR6AKVbrwT5sOi6C7zk3gy/pD1qtJfU1j4PgTo2NJnOtbL9Dl3Aeei8w9jJ7qC2jZQ==", "cpu": [ - "arm64" + "wasm32" ], "dev": true, "license": "MIT", "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.55.1.tgz", - "integrity": "sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==", + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.2.tgz", + "integrity": "sha512-SqKonF56vA/L2yHwHYcEp2P34URpOZ7d1fS635cTkpDnUtEGdUbhI6NzsPdqeSWvAAeGDrxjWjNmibDIdFf9/A==", "cpu": [ - "ia32" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.55.1.tgz", - "integrity": "sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==", + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.2.tgz", + "integrity": "sha512-v7qRI7gXLRINcOGXt+7YmAZ6iFuyZVMIoXAxhd8oP+DR9dLfL9GfNIx7PLMxmhZdvq8waUJBQiWN9EKNy+TRBQ==", "cpu": [ "x64" ], @@ -1191,21 +672,17 @@ "optional": true, "os": [ "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.55.1.tgz", - "integrity": "sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==", - "cpu": [ - "x64" ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "MIT" }, "node_modules/@standard-schema/spec": { "version": "1.1.0", @@ -1215,14 +692,14 @@ "license": "MIT" }, "node_modules/@stylistic/eslint-plugin": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.6.1.tgz", - "integrity": "sha512-JCs+MqoXfXrRPGbGmho/zGS/jMcn3ieKl/A8YImqib76C8kjgZwq5uUFzc30lJkMvcchuRn6/v8IApLxli3Jyw==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.10.0.tgz", + "integrity": "sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.9.0", - "@typescript-eslint/types": "^8.47.0", + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/types": "^8.56.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "estraverse": "^5.3.0", @@ -1232,7 +709,18 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "peerDependencies": { - "eslint": ">=9.0.0" + "eslint": "^9.0.0 || ^10.0.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, "node_modules/@types/chai": { @@ -1253,10 +741,17 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/esrecurse": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", + "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", "dev": true, "license": "MIT" }, @@ -1268,12 +763,12 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "25.0.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.3.tgz", - "integrity": "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==", + "version": "25.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.1.tgz", + "integrity": "sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==", "license": "MIT", "dependencies": { - "undici-types": "~7.16.0" + "undici-types": ">=7.24.0 <7.24.7" } }, "node_modules/@types/pluralize": { @@ -1284,20 +779,20 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.52.0.tgz", - "integrity": "sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.60.0.tgz", + "integrity": "sha512-QYb/sa74/s7OKMbACMjrYnGspj9Hs5YI5aaffSL65UfeBUzVzBJfVo3oWSpbzPurvm7yaCCo2Lk7lVj610HqKw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.52.0", - "@typescript-eslint/type-utils": "8.52.0", - "@typescript-eslint/utils": "8.52.0", - "@typescript-eslint/visitor-keys": "8.52.0", + "@typescript-eslint/scope-manager": "8.60.0", + "@typescript-eslint/type-utils": "8.60.0", + "@typescript-eslint/utils": "8.60.0", + "@typescript-eslint/visitor-keys": "8.60.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.5.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1307,9 +802,9 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.52.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "@typescript-eslint/parser": "^8.60.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { @@ -1323,17 +818,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.52.0.tgz", - "integrity": "sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.60.0.tgz", + "integrity": "sha512-fcqpj/MyK4sxDPcbe7STNPbpQL4RLZOPWuaTmwZYuc+hJKzRf58yRxfhqGpc6PIq9ZyfSBpfHgmUHmHs0KwHwg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.52.0", - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/typescript-estree": "8.52.0", - "@typescript-eslint/visitor-keys": "8.52.0", + "@typescript-eslint/scope-manager": "8.60.0", + "@typescript-eslint/types": "8.60.0", + "@typescript-eslint/typescript-estree": "8.60.0", + "@typescript-eslint/visitor-keys": "8.60.0", "debug": "^4.4.3" }, "engines": { @@ -1344,19 +838,19 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.52.0.tgz", - "integrity": "sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.60.0.tgz", + "integrity": "sha512-aZu74NNKJeUWqCjDddzdiKaS82dgYgV/vmf+Ui3ZdZejmgfXR/q+pRumgobnQ2cCJTgGTWp4ypiwsuofFubavg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.52.0", - "@typescript-eslint/types": "^8.52.0", + "@typescript-eslint/tsconfig-utils": "^8.60.0", + "@typescript-eslint/types": "^8.60.0", "debug": "^4.4.3" }, "engines": { @@ -1367,18 +861,18 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.52.0.tgz", - "integrity": "sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.60.0.tgz", + "integrity": "sha512-pFzqhllJMs+jghLQWzV00ds39xLzuyqPSev5pd8f4Ir0rtKR3ZLUB4/4dhjOFighWb9larvtfJvqL+4yKDI3Xw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/visitor-keys": "8.52.0" + "@typescript-eslint/types": "8.60.0", + "@typescript-eslint/visitor-keys": "8.60.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1389,9 +883,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.52.0.tgz", - "integrity": "sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.60.0.tgz", + "integrity": "sha512-BZPR3RGYlAXnly6ymAxfkVn5rCbZzQNou0rxv3GfWZ8cTQp+hhVd73khbGLAd8k1TlAPLISH337M+tAgAnaJDQ==", "dev": true, "license": "MIT", "engines": { @@ -1402,21 +896,21 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.52.0.tgz", - "integrity": "sha512-JD3wKBRWglYRQkAtsyGz1AewDu3mTc7NtRjR/ceTyGoPqmdS5oCdx/oZMWD5Zuqmo6/MpsYs0wp6axNt88/2EQ==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.60.0.tgz", + "integrity": "sha512-SX46wEUtitCpq7AN38HkUU/+zvUpdKf7ephtWAFgckH8O7PQIyL5gvrhQgBLuEYgLfuKWOVvWVskMbuFHAz5xg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/typescript-estree": "8.52.0", - "@typescript-eslint/utils": "8.52.0", + "@typescript-eslint/types": "8.60.0", + "@typescript-eslint/typescript-estree": "8.60.0", + "@typescript-eslint/utils": "8.60.0", "debug": "^4.4.3", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.5.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1426,14 +920,14 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.52.0.tgz", - "integrity": "sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.60.0.tgz", + "integrity": "sha512-AsE7x2XaAK+CVbeih0Fvbn+r1qHxtpLDJ3XUuFcIinT318T90yHMJC+Zgv+jUuDjQQd06HKwxnDu6sz1IcTilA==", "dev": true, "license": "MIT", "engines": { @@ -1445,21 +939,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.52.0.tgz", - "integrity": "sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.60.0.tgz", + "integrity": "sha512-3AcZNBGMClm6CXDyo8kYvVGT/sx29sS0oBsIb9oZI2gunA4Vm2M3YHzRLPvsUBBsl+yB5FPtltq7gGH0iTlp9g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.52.0", - "@typescript-eslint/tsconfig-utils": "8.52.0", - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/visitor-keys": "8.52.0", + "@typescript-eslint/project-service": "8.60.0", + "@typescript-eslint/tsconfig-utils": "8.60.0", + "@typescript-eslint/types": "8.60.0", + "@typescript-eslint/visitor-keys": "8.60.0", "debug": "^4.4.3", - "minimatch": "^9.0.5", + "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.5.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1469,20 +963,20 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/utils": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.52.0.tgz", - "integrity": "sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.60.0.tgz", + "integrity": "sha512-HtXuPfrHTyBDkameWpl+vJb1Uevu2tznAyahM1Oc4AENidCLTPiZDWIo4GfcxNdC/RcfGcadzzkqbRG87dUrQA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.52.0", - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/typescript-estree": "8.52.0" + "@typescript-eslint/scope-manager": "8.60.0", + "@typescript-eslint/types": "8.60.0", + "@typescript-eslint/typescript-estree": "8.60.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1492,19 +986,19 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.52.0.tgz", - "integrity": "sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.60.0.tgz", + "integrity": "sha512-9WI52t8ZGLVGrPMBet25yAftqY/n95+zmoUUtJBBQTKDSKUu7OsPTroT2op7U9JatkoRccL0YkWDNMFfC4Sjxg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.52.0", - "eslint-visitor-keys": "^4.2.1" + "@typescript-eslint/types": "8.60.0", + "eslint-visitor-keys": "^5.0.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1514,25 +1008,42 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/@vitest/eslint-plugin": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.6.5.tgz", - "integrity": "sha512-+wKYGmvXQJjq58qBx/AwiZr5bFfMiWBdgHViSQoFW/+wl5MQhJeOGP/3HM7GO7W1+AoiW9Gcyy2Hdwcao4LnfQ==", + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.6.18.tgz", + "integrity": "sha512-J6U4X0jH3NwTuYouvrJn6I8ypTOU+GhKEjyVwpoPnDuc23usa/xi/R0caWLBbNp3xLy3/rL1YkuJuneTMVV4Mg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "^8.51.0", - "@typescript-eslint/utils": "^8.51.0" + "@typescript-eslint/scope-manager": "^8.58.0", + "@typescript-eslint/utils": "^8.58.0" }, "engines": { "node": ">=18" }, "peerDependencies": { + "@typescript-eslint/eslint-plugin": "*", "eslint": ">=8.57.0", "typescript": ">=5.0.0", "vitest": "*" }, "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, "typescript": { "optional": true }, @@ -1542,31 +1053,31 @@ } }, "node_modules/@vitest/expect": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.16.tgz", - "integrity": "sha512-eshqULT2It7McaJkQGLkPjPjNph+uevROGuIMJdG3V+0BSR2w9u6J9Lwu+E8cK5TETlfou8GRijhafIMhXsimA==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.7.tgz", + "integrity": "sha512-1R+tw0ortHEbZDGMymm+pN7/AFQ/RkFFdtd7EN+VBpynKmLbP8A3rpEXdshBJ7+8hQ9zBJh/i1s0yKNtxAnU7w==", "dev": true, "license": "MIT", "dependencies": { - "@standard-schema/spec": "^1.0.0", + "@standard-schema/spec": "^1.1.0", "@types/chai": "^5.2.2", - "@vitest/spy": "4.0.16", - "@vitest/utils": "4.0.16", - "chai": "^6.2.1", - "tinyrainbow": "^3.0.3" + "@vitest/spy": "4.1.7", + "@vitest/utils": "4.1.7", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/mocker": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.16.tgz", - "integrity": "sha512-yb6k4AZxJTB+q9ycAvsoxGn+j/po0UaPgajllBgt1PzoMAAmJGYFdDk0uCcRcxb3BrME34I6u8gHZTQlkqSZpg==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.7.tgz", + "integrity": "sha512-vY7nuamKgfvpA1Koa3oYIw/k7D6kZnpGyNMZW8loow2bsBYla1TFdqTaXncWdRn4pgwNs+90RhnXhJScDwQeJA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "4.0.16", + "@vitest/spy": "4.1.7", "estree-walker": "^3.0.3", "magic-string": "^0.30.21" }, @@ -1575,7 +1086,7 @@ }, "peerDependencies": { "msw": "^2.4.9", - "vite": "^6.0.0 || ^7.0.0-0" + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "msw": { @@ -1587,26 +1098,26 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.16.tgz", - "integrity": "sha512-eNCYNsSty9xJKi/UdVD8Ou16alu7AYiS2fCPRs0b1OdhJiV89buAXQLpTbe+X8V9L6qrs9CqyvU7OaAopJYPsA==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.7.tgz", + "integrity": "sha512-umgCarTOYQWIaDMvGDRZij+6b9oVeLIyJzfN+AS88e0ZOU3QTgNNSTtjQOpcvWr3np1N0j4WgZj+sb3oYBDscw==", "dev": true, "license": "MIT", "dependencies": { - "tinyrainbow": "^3.0.3" + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/runner": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.16.tgz", - "integrity": "sha512-VWEDm5Wv9xEo80ctjORcTQRJ539EGPB3Pb9ApvVRAY1U/WkHXmmYISqU5E79uCwcW7xYUV38gwZD+RV755fu3Q==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.7.tgz", + "integrity": "sha512-BapjmAQ2aI78WdMEfeUWivnfVzB+VPGwWRQcJE0OUq7qEeEcBsCSf+0T5iREBNE5nBb4wA5Ya0W6IA+sghdEFw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.0.16", + "@vitest/utils": "4.1.7", "pathe": "^2.0.3" }, "funding": { @@ -1614,13 +1125,14 @@ } }, "node_modules/@vitest/snapshot": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.16.tgz", - "integrity": "sha512-sf6NcrYhYBsSYefxnry+DR8n3UV4xWZwWxYbCJUt2YdvtqzSPR7VfGrY0zsv090DAbjFZsi7ZaMi1KnSRyK1XA==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.7.tgz", + "integrity": "sha512-ZacLzja+TmJeZ1h14xW2FB/WpeimUD3haBXQPyJqxvo8jQTmfeA8zv58mtjN2C7EHXZDYVcVYdYmAxjkWVvKCw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.0.16", + "@vitest/pretty-format": "4.1.7", + "@vitest/utils": "4.1.7", "magic-string": "^0.30.21", "pathe": "^2.0.3" }, @@ -1629,9 +1141,9 @@ } }, "node_modules/@vitest/spy": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.16.tgz", - "integrity": "sha512-4jIOWjKP0ZUaEmJm00E0cOBLU+5WE0BpeNr3XN6TEF05ltro6NJqHWxXD0kA8/Zc8Nh23AT8WQxwNG+WeROupw==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.7.tgz", + "integrity": "sha512-kbkI5LMWakyuTIvs6fUJ5qdIVb1XVKsYJAT4OJ938cHMROYMSfmoQdZy0aaAnjbbc8F61vkoTqz/Az+/HiIu5Q==", "dev": true, "license": "MIT", "funding": { @@ -1639,26 +1151,26 @@ } }, "node_modules/@vitest/utils": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.16.tgz", - "integrity": "sha512-h8z9yYhV3e1LEfaQ3zdypIrnAg/9hguReGZoS7Gl0aBG5xgA410zBqECqmaF/+RkTggRsfnzc1XaAHA6bmUufA==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.7.tgz", + "integrity": "sha512-T532WBu791cBxJlCl6SO+J14l81DQx6uQHm1bQbmCDY7nqlEIgkza/UFnSBNaUtSf41unldDFjdOBYEQC4b5Hw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.0.16", - "tinyrainbow": "^3.0.3" + "@vitest/pretty-format": "4.1.7", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1677,9 +1189,9 @@ } }, "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, "license": "MIT", "dependencies": { @@ -1693,29 +1205,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "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": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, "node_modules/assertion-error": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", @@ -1727,11 +1216,14 @@ } }, "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==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } }, "node_modules/base64-js": { "version": "1.5.1", @@ -1754,23 +1246,16 @@ "license": "MIT" }, "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==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", + "balanced-match": "^4.0.2" + }, "engines": { - "node": ">=6" + "node": "18 || 20 || >=22" } }, "node_modules/chai": { @@ -1783,23 +1268,6 @@ "node": ">=18" } }, - "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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", @@ -1814,30 +1282,10 @@ "node": ">=6" } }, - "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, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "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, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true, "license": "MIT" }, @@ -1881,55 +1329,23 @@ "dev": true, "license": "MIT" }, - "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", - "dev": true, - "license": "MIT" - }, - "node_modules/esbuild": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz", - "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, + "license": "Apache-2.0", "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.2", - "@esbuild/android-arm": "0.27.2", - "@esbuild/android-arm64": "0.27.2", - "@esbuild/android-x64": "0.27.2", - "@esbuild/darwin-arm64": "0.27.2", - "@esbuild/darwin-x64": "0.27.2", - "@esbuild/freebsd-arm64": "0.27.2", - "@esbuild/freebsd-x64": "0.27.2", - "@esbuild/linux-arm": "0.27.2", - "@esbuild/linux-arm64": "0.27.2", - "@esbuild/linux-ia32": "0.27.2", - "@esbuild/linux-loong64": "0.27.2", - "@esbuild/linux-mips64el": "0.27.2", - "@esbuild/linux-ppc64": "0.27.2", - "@esbuild/linux-riscv64": "0.27.2", - "@esbuild/linux-s390x": "0.27.2", - "@esbuild/linux-x64": "0.27.2", - "@esbuild/netbsd-arm64": "0.27.2", - "@esbuild/netbsd-x64": "0.27.2", - "@esbuild/openbsd-arm64": "0.27.2", - "@esbuild/openbsd-x64": "0.27.2", - "@esbuild/openharmony-arm64": "0.27.2", - "@esbuild/sunos-x64": "0.27.2", - "@esbuild/win32-arm64": "0.27.2", - "@esbuild/win32-ia32": "0.27.2", - "@esbuild/win32-x64": "0.27.2" + "node": ">=8" } }, + "node_modules/es-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "dev": true, + "license": "MIT" + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -1944,34 +1360,30 @@ } }, "node_modules/eslint": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", - "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.4.0.tgz", + "integrity": "sha512-loXy6bWOoP3EP6JA7jo6p5jMpBJmHmsNZM5SFRHLdh1MGOPurMnNBj4ZlAbaqUAaQWbCr7jHV4P7gzAyryZWkQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.2", - "@eslint/plugin-kit": "^0.4.1", + "@eslint-community/regexpp": "^4.12.2", + "@eslint/config-array": "^0.23.5", + "@eslint/config-helpers": "^0.6.0", + "@eslint/core": "^1.2.1", + "@eslint/plugin-kit": "^0.7.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", - "ajv": "^6.12.4", - "chalk": "^4.0.0", + "ajv": "^6.14.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", + "eslint-scope": "^9.1.2", + "eslint-visitor-keys": "^5.0.1", + "espree": "^11.2.0", + "esquery": "^1.7.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", @@ -1981,8 +1393,7 @@ "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", + "minimatch": "^10.2.4", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, @@ -1990,7 +1401,7 @@ "eslint": "bin/eslint.js" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://eslint.org/donate" @@ -2005,17 +1416,19 @@ } }, "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", + "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { + "@types/esrecurse": "^4.3.1", + "@types/estree": "^1.0.8", "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" @@ -2034,28 +1447,35 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/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==", + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/eslint/node_modules/espree": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", + "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", "dev": true, - "license": "ISC", + "license": "BSD-2-Clause", "dependencies": { - "brace-expansion": "^1.1.7" + "acorn": "^8.16.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^5.0.1" }, "engines": { - "node": "*" + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/espree": { @@ -2226,9 +1646,9 @@ } }, "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", "dev": true, "license": "ISC" }, @@ -2255,32 +1675,9 @@ "license": "ISC", "dependencies": { "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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, - "license": "MIT", + }, "engines": { - "node": ">=8" + "node": ">=10.13.0" } }, "node_modules/hotscript": { @@ -2299,23 +1696,6 @@ "node": ">= 4" } }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -2377,19 +1757,6 @@ "node": ">=0.10.0" } }, - "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -2420,6 +1787,15 @@ "node": "*" } }, + "node_modules/jwt-decode": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", + "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -2453,6 +1829,267 @@ "node": ">= 0.8.0" } }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -2469,13 +2106,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, "node_modules/long": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", @@ -2493,16 +2123,16 @@ } }, "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^5.0.5" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -2530,9 +2160,9 @@ "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", "dev": true, "funding": [ { @@ -2616,19 +2246,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -2664,9 +2281,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", "engines": { @@ -2686,9 +2303,9 @@ } }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", "dev": true, "funding": [ { @@ -2706,7 +2323,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.11", + "nanoid": "^3.3.12", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -2758,59 +2375,38 @@ "node": ">=6" } }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/rollup": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.55.1.tgz", - "integrity": "sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==", + "node_modules/rolldown": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.2.tgz", + "integrity": "sha512-oZx5zVDtVB44AW3eaifgDml1gWRDZGvjcfdxonE4swNPG98PrrXjaO/KrnUjzlMnztCCRVlUueA1kCXhARGk6g==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.8" + "@oxc-project/types": "=0.132.0", + "@rolldown/pluginutils": "^1.0.0" }, "bin": { - "rollup": "dist/bin/rollup" + "rolldown": "bin/cli.mjs" }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" + "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.55.1", - "@rollup/rollup-android-arm64": "4.55.1", - "@rollup/rollup-darwin-arm64": "4.55.1", - "@rollup/rollup-darwin-x64": "4.55.1", - "@rollup/rollup-freebsd-arm64": "4.55.1", - "@rollup/rollup-freebsd-x64": "4.55.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.55.1", - "@rollup/rollup-linux-arm-musleabihf": "4.55.1", - "@rollup/rollup-linux-arm64-gnu": "4.55.1", - "@rollup/rollup-linux-arm64-musl": "4.55.1", - "@rollup/rollup-linux-loong64-gnu": "4.55.1", - "@rollup/rollup-linux-loong64-musl": "4.55.1", - "@rollup/rollup-linux-ppc64-gnu": "4.55.1", - "@rollup/rollup-linux-ppc64-musl": "4.55.1", - "@rollup/rollup-linux-riscv64-gnu": "4.55.1", - "@rollup/rollup-linux-riscv64-musl": "4.55.1", - "@rollup/rollup-linux-s390x-gnu": "4.55.1", - "@rollup/rollup-linux-x64-gnu": "4.55.1", - "@rollup/rollup-linux-x64-musl": "4.55.1", - "@rollup/rollup-openbsd-x64": "4.55.1", - "@rollup/rollup-openharmony-arm64": "4.55.1", - "@rollup/rollup-win32-arm64-msvc": "4.55.1", - "@rollup/rollup-win32-ia32-msvc": "4.55.1", - "@rollup/rollup-win32-x64-gnu": "4.55.1", - "@rollup/rollup-win32-x64-msvc": "4.55.1", - "fsevents": "~2.3.2" + "@rolldown/binding-android-arm64": "1.0.2", + "@rolldown/binding-darwin-arm64": "1.0.2", + "@rolldown/binding-darwin-x64": "1.0.2", + "@rolldown/binding-freebsd-x64": "1.0.2", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.2", + "@rolldown/binding-linux-arm64-gnu": "1.0.2", + "@rolldown/binding-linux-arm64-musl": "1.0.2", + "@rolldown/binding-linux-ppc64-gnu": "1.0.2", + "@rolldown/binding-linux-s390x-gnu": "1.0.2", + "@rolldown/binding-linux-x64-gnu": "1.0.2", + "@rolldown/binding-linux-x64-musl": "1.0.2", + "@rolldown/binding-openharmony-arm64": "1.0.2", + "@rolldown/binding-wasm32-wasi": "1.0.2", + "@rolldown/binding-win32-arm64-msvc": "1.0.2", + "@rolldown/binding-win32-x64-msvc": "1.0.2" } }, "node_modules/rxjs": { @@ -2823,9 +2419,9 @@ } }, "node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", "dev": true, "license": "ISC", "bin": { @@ -2895,38 +2491,12 @@ "license": "MIT" }, "node_modules/std-env": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", - "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz", + "integrity": "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==", "dev": true, "license": "MIT" }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/tinybench": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", @@ -2935,9 +2505,9 @@ "license": "MIT" }, "node_modules/tinyexec": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", - "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.3.tgz", + "integrity": "sha512-g62dB+w1/OEFnPvmX0yd/HnetYITOL+1nJW7kitOycOeAvmbWC/nu0fwmmQ/kupNojqExzyC/T++pST/jRJ2mQ==", "dev": true, "license": "MIT", "engines": { @@ -2945,14 +2515,14 @@ } }, "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", - "picomatch": "^4.0.3" + "picomatch": "^4.0.4" }, "engines": { "node": ">=12.0.0" @@ -2962,9 +2532,9 @@ } }, "node_modules/tinyrainbow": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", - "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", "dev": true, "license": "MIT", "engines": { @@ -2972,9 +2542,9 @@ } }, "node_modules/ts-api-utils": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", - "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", "dev": true, "license": "MIT", "engines": { @@ -3021,7 +2591,6 @@ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -3031,16 +2600,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.52.0.tgz", - "integrity": "sha512-atlQQJ2YkO4pfTVQmQ+wvYQwexPDOIgo+RaVcD7gHgzy/IQA+XTyuxNM9M9TVXvttkF7koBHmcwisKdOAf2EcA==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.60.0.tgz", + "integrity": "sha512-9f65qWLZdAW9m1JaxBDUHcqRUfL8bkxxXL7XxEfI+F09q56PkBvIfCjLF3yInsDM/BBmwkqmCQdCZe/RYlIWEw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.52.0", - "@typescript-eslint/parser": "8.52.0", - "@typescript-eslint/typescript-estree": "8.52.0", - "@typescript-eslint/utils": "8.52.0" + "@typescript-eslint/eslint-plugin": "8.60.0", + "@typescript-eslint/parser": "8.60.0", + "@typescript-eslint/typescript-estree": "8.60.0", + "@typescript-eslint/utils": "8.60.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3050,14 +2619,14 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/undici-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz", + "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==", "license": "MIT" }, "node_modules/uri-js": { @@ -3071,28 +2640,30 @@ } }, "node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.0.tgz", + "integrity": "sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], "license": "MIT", "bin": { - "uuid": "dist/bin/uuid" + "uuid": "dist-node/bin/uuid" } }, "node_modules/vite": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.0.tgz", - "integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==", + "version": "8.0.14", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.14.tgz", + "integrity": "sha512-s4BJJ+5y1pYL6Otw51FHhVJQhPnuRinKig64g/1+EUNaJsd3gCKdD31IPFvswUgW9/60QT9oFHbZHbQK5imcxw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "esbuild": "^0.27.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.15", + "rolldown": "1.0.2", + "tinyglobby": "^0.2.16" }, "bin": { "vite": "bin/vite.js" @@ -3108,9 +2679,10 @@ }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.18", + "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", - "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", @@ -3123,13 +2695,16 @@ "@types/node": { "optional": true }, - "jiti": { + "@vitejs/devtools": { "optional": true }, - "less": { + "esbuild": { + "optional": true + }, + "jiti": { "optional": true }, - "lightningcss": { + "less": { "optional": true }, "sass": { @@ -3156,32 +2731,31 @@ } }, "node_modules/vitest": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.16.tgz", - "integrity": "sha512-E4t7DJ9pESL6E3I8nFjPa4xGUd3PmiWDLsDztS2qXSJWfHtbQnwAWylaBvSNY48I3vr8PTqIZlyK8TE3V3CA4Q==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@vitest/expect": "4.0.16", - "@vitest/mocker": "4.0.16", - "@vitest/pretty-format": "4.0.16", - "@vitest/runner": "4.0.16", - "@vitest/snapshot": "4.0.16", - "@vitest/spy": "4.0.16", - "@vitest/utils": "4.0.16", - "es-module-lexer": "^1.7.0", - "expect-type": "^1.2.2", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.7.tgz", + "integrity": "sha512-flYyaFd2CgoCoU+0UKt3pxksgC+S02iTDN0n3LtqaMeXsI9SBcdNujc2k0DeFLzUn/0k538yNjOSdwgCqcrwJA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.1.7", + "@vitest/mocker": "4.1.7", + "@vitest/pretty-format": "4.1.7", + "@vitest/runner": "4.1.7", + "@vitest/snapshot": "4.1.7", + "@vitest/spy": "4.1.7", + "@vitest/utils": "4.1.7", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", "magic-string": "^0.30.21", "obug": "^2.1.1", "pathe": "^2.0.3", "picomatch": "^4.0.3", - "std-env": "^3.10.0", + "std-env": "^4.0.0-rc.1", "tinybench": "^2.9.0", "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.0.3", - "vite": "^6.0.0 || ^7.0.0", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", "why-is-node-running": "^2.3.0" }, "bin": { @@ -3197,12 +2771,15 @@ "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.0.16", - "@vitest/browser-preview": "4.0.16", - "@vitest/browser-webdriverio": "4.0.16", - "@vitest/ui": "4.0.16", + "@vitest/browser-playwright": "4.1.7", + "@vitest/browser-preview": "4.1.7", + "@vitest/browser-webdriverio": "4.1.7", + "@vitest/coverage-istanbul": "4.1.7", + "@vitest/coverage-v8": "4.1.7", + "@vitest/ui": "4.1.7", "happy-dom": "*", - "jsdom": "*" + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "@edge-runtime/vm": { @@ -3223,6 +2800,12 @@ "@vitest/browser-webdriverio": { "optional": true }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, "@vitest/ui": { "optional": true }, @@ -3231,6 +2814,9 @@ }, "jsdom": { "optional": true + }, + "vite": { + "optional": false } } }, diff --git a/package.json b/package.json index 791f301..d45bc20 100644 --- a/package.json +++ b/package.json @@ -9,15 +9,15 @@ "test:unit": "vitest --run" }, "dependencies": { - "@devvit/protos": "0.12.7", - "@devvit/public-api": "0.12.7", + "@devvit/protos": "0.13.0", + "@devvit/public-api": "0.13.0", "pluralize": "^8.0.0" }, "devDependencies": { "@fsvreddit/eslint-config": "github:fsvreddit/eslint-config", "@types/pluralize": "^0.0.33", - "eslint": "^9.14.0", + "eslint": "^10.0.0", "typescript": "5.8.3", "vitest": "^4.0.7" } -} \ No newline at end of file +} diff --git a/src/main.ts b/src/main.ts index a55ce21..1a695bb 100644 --- a/src/main.ts +++ b/src/main.ts @@ -7,7 +7,6 @@ Devvit.addSettings(appSettings); Devvit.configure({ redditAPI: true, - modLog: true, }); Devvit.addTrigger({ diff --git a/src/nuke.ts b/src/nuke.ts index 221b616..459b760 100644 --- a/src/nuke.ts +++ b/src/nuke.ts @@ -174,30 +174,14 @@ async function handleNuke (nukeProps: NukeProps, context: Context): Promise Date: Sun, 31 May 2026 16:18:45 +0100 Subject: [PATCH 02/15] Devvit Web migration --- .github/workflows/test.yml | 7 +- .gitignore | 8 +- assets/icon.png | Bin 0 -> 163676 bytes devvit.json | 65 +- package-lock.json | 7708 +++++++++++++++++++++++----- package.json | 22 +- src/main.ts | 61 - src/nuke.ts | 192 - src/server/core/commentMop.ts | 112 + src/server/core/constants.ts | 6 + src/server/core/index.ts | 5 + src/server/core/settings.ts | 12 + src/server/core/types.ts | 9 + src/server/core/userPermissions.ts | 73 + src/server/forms/index.ts | 1 + src/server/forms/mopComments.ts | 49 + src/server/index.ts | 25 + src/server/menus/index.ts | 1 + src/server/menus/mopComments.ts | 66 + src/server/triggers/index.ts | 1 + src/server/triggers/modAction.ts | 24 + src/settings.test.ts | 13 - src/settings.ts | 46 - src/userPermissions.ts | 89 - tools/tsconfig.base.json | 28 + tools/tsconfig.server.json | 13 + tools/tsconfig.vite.json | 11 + tsconfig.json | 15 +- vite.config.ts | 6 + vitest.config.ts | 7 +- 30 files changed, 7000 insertions(+), 1675 deletions(-) create mode 100644 assets/icon.png delete mode 100644 src/main.ts delete mode 100644 src/nuke.ts create mode 100644 src/server/core/commentMop.ts create mode 100644 src/server/core/constants.ts create mode 100644 src/server/core/index.ts create mode 100644 src/server/core/settings.ts create mode 100644 src/server/core/types.ts create mode 100644 src/server/core/userPermissions.ts create mode 100644 src/server/forms/index.ts create mode 100644 src/server/forms/mopComments.ts create mode 100644 src/server/index.ts create mode 100644 src/server/menus/index.ts create mode 100644 src/server/menus/mopComments.ts create mode 100644 src/server/triggers/index.ts create mode 100644 src/server/triggers/modAction.ts delete mode 100644 src/settings.test.ts delete mode 100644 src/settings.ts delete mode 100644 src/userPermissions.ts create mode 100644 tools/tsconfig.base.json create mode 100644 tools/tsconfig.server.json create mode 100644 tools/tsconfig.vite.json create mode 100644 vite.config.ts diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 12294c2..6425b04 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,4 +1,4 @@ -name: build-test-lint +name: build-lint on: push jobs: build: @@ -9,8 +9,9 @@ jobs: - name: use node.js uses: actions/setup-node@v4 with: - node-version: '20.x' + node-version: '22.x' - run: npm install - - run: npx tsc --build --clean - run: npx eslint + - run: npm run type-check + - run: npm run build - run: npm run test diff --git a/.gitignore b/.gitignore index 22db79c..c3b1f22 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,4 @@ node_modules -.yarn -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* .DS_Store +dist +.env \ No newline at end of file diff --git a/assets/icon.png b/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f6ef125aa3c5cca6c95fd1fbbebea79443982533 GIT binary patch literal 163676 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�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.2.0" } }, - "node_modules/@devvit/shared": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.13.0.tgz", - "integrity": "sha512-d5uDxq0b1gNEIk+IMAr7N1txLS23P/IGMfCQlx9pfy2bqLict0vfArBn1dkcbtKLzjwcBHZICkSRApjNdFEv7Q==", - "license": "BSD-3-Clause", + "node_modules/@asamuzakjp/css-color": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", + "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==", + "dev": true, + "license": "MIT", "dependencies": { - "@devvit/protos": "0.13.0", - "@devvit/shared-types": "0.13.0" + "@csstools/css-calc": "^2.1.3", + "@csstools/css-color-parser": "^3.0.9", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "lru-cache": "^10.4.3" } }, - "node_modules/@devvit/shared-types": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.13.0.tgz", - "integrity": "sha512-egldUa/gAO/RBXzTdSPMS9Zn+c8GXvf3rxgdgb8C8gv9Oc6kvku/RuWcItqe9nFh+9f4xCh+Q3CdZnJ67V9tFA==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.13.0", - "jsonschema": "1.4.1", - "uuid": "14.0.0" + "node_modules/@borewit/text-codec": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@borewit/text-codec/-/text-codec-0.2.2.tgz", + "integrity": "sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/@emnapi/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", - "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "@emnapi/wasi-threads": "1.2.1", - "tslib": "^2.4.0" + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" } }, - "node_modules/@emnapi/runtime": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", - "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "node_modules/@csstools/color-helpers": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", + "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" } }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", - "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "node_modules/@csstools/css-calc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "node_modules/@csstools/css-color-parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", + "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.4.3" + "@csstools/color-helpers": "^5.1.0", + "@csstools/css-calc": "^2.1.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=18" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", "dev": true, - "license": "Apache-2.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=18" }, - "funding": { - "url": "https://opencollective.com/eslint" + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.4" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=18" } }, - "node_modules/@eslint/config-array": { - "version": "0.23.5", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", - "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", + "node_modules/@devvit/build-pack": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/build-pack/-/build-pack-0.13.0.tgz", + "integrity": "sha512-i4ZK/Js9uZ0yYXarnTVmK5/Ad2yRXKE97nvUuEv/Hb3eQ7PGqi+jAsOMmcW0m1naugt5pKq6iDc71yAtAUIAeg==", "dev": true, - "license": "Apache-2.0", + "license": "BSD-3-Clause", "dependencies": { - "@eslint/object-schema": "^3.0.5", - "debug": "^4.3.1", - "minimatch": "^10.2.4" + "@devvit/payments": "0.13.0", + "@devvit/protos": "0.13.0", + "@devvit/shared-types": "0.13.0", + "@types/node": "20.14.12", + "esbuild": "0.25.9", + "rxjs": "7.8.1", + "tsv": "0.2.0", + "typescript": "5.8.3" }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "peerDependencies": { + "@devvit/server": "*", + "@devvit/shared": "*" } }, - "node_modules/@eslint/config-helpers": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz", - "integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/aix-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", + "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.1" - }, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": ">=18" } }, - "node_modules/@eslint/core": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", - "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/android-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", + "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", + "cpu": [ + "arm" + ], "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": ">=18" } }, - "node_modules/@eslint/js": { - "version": "9.39.4", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", - "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/android-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", + "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" + "node": ">=18" } }, - "node_modules/@eslint/object-schema": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", - "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/android-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", + "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": ">=18" } }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz", - "integrity": "sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.1", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@fsvreddit/eslint-config": { - "version": "0.1.0", - "resolved": "git+ssh://git@github.com/fsvreddit/eslint-config.git#8bbdca2db3fc1eadcc8efea86814e2e67b9c43d3", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@eslint/js": "^9.10.0", - "@stylistic/eslint-plugin": "^5.2.0", - "@vitest/eslint-plugin": "^1.1.0", - "typescript": "^5.8.3", - "typescript-eslint": "^8.50.0" - }, - "peerDependencies": { - "eslint": ">= 10" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", - "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/types": "^0.15.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", - "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.2", - "@humanfs/types": "^0.15.0", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/types": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", - "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", - "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/darwin-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", + "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, - "dependencies": { - "@tybys/wasm-util": "^0.10.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - }, - "peerDependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1" - } - }, - "node_modules/@oxc-project/types": { - "version": "0.132.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.132.0.tgz", - "integrity": "sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/Boshen" - } - }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.5.tgz", - "integrity": "sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.1.tgz", - "integrity": "sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.1.tgz", - "integrity": "sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==", - "license": "BSD-3-Clause", - "dependencies": { - "@protobufjs/aspromise": "^1.1.1" + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.2.tgz", - "integrity": "sha512-pa0vFRuws4wkvaXKK1uXZMAwAX4/t8ANaJo45iw/oQHNQ9q5xUzwgFmVJGXiga2BeN+zpX7Vf9vmsiIa2J+MUw==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.1.tgz", - "integrity": "sha512-oOAWABowe8EAbMyWKM0tYDKi8Yaox52D+HWZhAIJqQXbqe0xI/GV7FhLWqlEKreMkfDjshR5FKgi3mnle0h6Eg==", - "license": "BSD-3-Clause" - }, - "node_modules/@rolldown/binding-android-arm64": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.2.tgz", - "integrity": "sha512-ZS4D1JPGn/MYQN/SYDWftIE/nVsM8j/AFOYEzAoOE2O3NktQOZru+/vYXGbR/qtdLdIfGCP0lcoJiYVzsEz+iQ==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/darwin-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", + "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", "cpu": [ - "arm64" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "android" + "darwin" ], "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": ">=18" } }, - "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.2.tgz", - "integrity": "sha512-vdFA9+C/rekyGce7WqHs/xoT0ioZEWaOFyZLIV1mEeNFaFDUQrPIo8Vs2GvJ6eetb3rzDUtUBgzto3ExpXJB3w==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", + "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", "cpu": [ "arm64" ], @@ -448,16 +316,16 @@ "license": "MIT", "optional": true, "os": [ - "darwin" + "freebsd" ], "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": ">=18" } }, - "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.2.tgz", - "integrity": "sha512-BewSOwTHazv77DTYiAZXSqqKZ4KP/KonFisDMVU7PImxoWfB2aepnPhd2E4SWz3zDzYgDNbs6jBmTdgNnF02GA==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/freebsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", + "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", "cpu": [ "x64" ], @@ -465,35 +333,35 @@ "license": "MIT", "optional": true, "os": [ - "darwin" + "freebsd" ], "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": ">=18" } }, - "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.2.tgz", - "integrity": "sha512-m41o7M0YWtUdqk61Tb+jnKb2rN++iRdIASlExkUoKfIAH30DOHCB8fVLzSUpbWHHU8esmEioY62PxzexE8MBuA==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/linux-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", + "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", "cpu": [ - "x64" + "arm" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "freebsd" + "linux" ], "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": ">=18" } }, - "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.2.tgz", - "integrity": "sha512-jcojB9H7W/jS29pMKWAK1N+fU99vXodHDTatS3b3y/XSOCiHo0kkA74pL3jJmkoQtYpOCxDvaKs1fo2Ij/1X5w==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/linux-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", + "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", "cpu": [ - "arm" + "arm64" ], "dev": true, "license": "MIT", @@ -502,15 +370,15 @@ "linux" ], "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": ">=18" } }, - "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.2.tgz", - "integrity": "sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/linux-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", + "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", "cpu": [ - "arm64" + "ia32" ], "dev": true, "license": "MIT", @@ -519,15 +387,15 @@ "linux" ], "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": ">=18" } }, - "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.2.tgz", - "integrity": "sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/linux-loong64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", + "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", "cpu": [ - "arm64" + "loong64" ], "dev": true, "license": "MIT", @@ -536,15 +404,15 @@ "linux" ], "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": ">=18" } }, - "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.2.tgz", - "integrity": "sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/linux-mips64el": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", + "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", "cpu": [ - "ppc64" + "mips64el" ], "dev": true, "license": "MIT", @@ -553,13 +421,47 @@ "linux" ], "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": ">=18" } }, - "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.2.tgz", - "integrity": "sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/linux-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", + "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@devvit/build-pack/node_modules/@esbuild/linux-riscv64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", + "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@devvit/build-pack/node_modules/@esbuild/linux-s390x": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", + "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", "cpu": [ "s390x" ], @@ -570,13 +472,13 @@ "linux" ], "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": ">=18" } }, - "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.2.tgz", - "integrity": "sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/linux-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", + "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", "cpu": [ "x64" ], @@ -587,13 +489,30 @@ "linux" ], "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": ">=18" } }, - "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.2.tgz", - "integrity": "sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", + "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@devvit/build-pack/node_modules/@esbuild/netbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", + "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", "cpu": [ "x64" ], @@ -601,16 +520,50 @@ "license": "MIT", "optional": true, "os": [ - "linux" + "netbsd" ], "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": ">=18" } }, - "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.2.tgz", - "integrity": "sha512-1v5vHasdfQAZoEHakBV72LIFAC9JjnymsiKxp+GEr/ma3+NJCPSaYK+qavInOovJkgwFrs7GccX2d6IgDA3Z5w==", + "node_modules/@devvit/build-pack/node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", + "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@devvit/build-pack/node_modules/@esbuild/openbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", + "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@devvit/build-pack/node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", + "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", "cpu": [ "arm64" ], @@ -621,614 +574,4065 @@ "openharmony" ], "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": ">=18" + } + }, + "node_modules/@devvit/build-pack/node_modules/@esbuild/sunos-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", + "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@devvit/build-pack/node_modules/@esbuild/win32-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", + "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@devvit/build-pack/node_modules/@esbuild/win32-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", + "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@devvit/build-pack/node_modules/@esbuild/win32-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@devvit/build-pack/node_modules/@types/node": { + "version": "20.14.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.12.tgz", + "integrity": "sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@devvit/build-pack/node_modules/esbuild": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" + } + }, + "node_modules/@devvit/build-pack/node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@devvit/builders": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/builders/-/builders-0.13.0.tgz", + "integrity": "sha512-FAOOz5QfvJumSMKY0aq2zh5AIxohuPyse/0zvxVhrOUZv1YJsmpgtEBQeffd4mIcRsaT7P1FwK4k+Hs1MLCgPA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/build-pack": "0.13.0", + "@devvit/linkers": "0.13.0", + "@devvit/protos": "0.13.0", + "@devvit/shared-types": "0.13.0" + } + }, + "node_modules/@devvit/cache": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/cache/-/cache-0.13.0.tgz", + "integrity": "sha512-FTINxu3xYvXOprDdeFJMdk7ggnEH/yOHDrQQUCvzVoeaT7xtyCVqLHQuif9BXYJe/BypXpbYIEATB/bg/2yiqg==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/redis": "0.13.0", + "@devvit/server": "0.13.0", + "@devvit/shared-types": "0.13.0" + } + }, + "node_modules/@devvit/cli": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/cli/-/cli-0.13.0.tgz", + "integrity": "sha512-XHEeRMF/zJZG2kkILIuPVBQySAKOtNatPnxNlhAupgNsP+I7HVXV8zIksitNYd/zTgJvlqwwYvJLIy8kgIu8rw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/build-pack": "0.13.0", + "@devvit/builders": "0.13.0", + "@devvit/linkers": "0.13.0", + "@devvit/protos": "0.13.0", + "@devvit/public-api": "0.13.0", + "@devvit/shared-types": "0.13.0", + "@improbable-eng/grpc-web": "0.15.0", + "@improbable-eng/grpc-web-node-http-transport": "0.15.0", + "@oclif/core": "2.9.4", + "@oclif/plugin-autocomplete": "2.3.3", + "@oclif/plugin-help": "5.2.14", + "@oclif/plugin-not-found": "2.3.34", + "@oclif/plugin-warn-if-update-available": "2.0.45", + "@types/ws": "8.5.12", + "chalk": "4.1.2", + "chokidar": "3.5.3", + "date-fns": "2.29.3", + "dotenv": "16.5.0", + "execa": "9.6.1", + "file-type": "21.3.2", + "ignore": "7.0.5", + "image-size": "2.0.2", + "inquirer": "9.1.4", + "isomorphic-git": "1.33.1", + "js-yaml": "4.1.1", + "jsdom": "24.1.0", + "jszip": "3.10.1", + "mime-types": "3.0.2", + "mustache": "4.2.0", + "open": "10.1.0", + "rxjs": "7.8.1", + "semver": "7.6.3", + "string-length": "5.0.1", + "tiny-glob": "0.2.9", + "twirp-ts": "2.5.0", + "ws": "8.18.0" + }, + "bin": { + "devvit-cli": "bin/devvit.js" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@devvit/cli/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@devvit/cli/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@devvit/client": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/client/-/client-0.13.0.tgz", + "integrity": "sha512-c60Sk3S7eoQTIDEKTbCCv2207W4VqdvygnXCwEIX1OM2ux14bG5/vHHQmps7TK9YCc3TDZ4a4ZQ4tiV0pOv0dw==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.13.0", + "@devvit/shared": "0.13.0", + "@devvit/shared-types": "0.13.0", + "@devvit/web-view-scripts": "0.13.0" + } + }, + "node_modules/@devvit/linkers": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/linkers/-/linkers-0.13.0.tgz", + "integrity": "sha512-aw3AD5NHJZqESPUY//5OiwVVFPO+vKzHoDfTr0nMf9yTj0PzNJzKR0ZO7SGF/GRrmaX/JS4XlyT6t8epUAPuEw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/build-pack": "0.13.0", + "@devvit/protos": "0.13.0", + "@devvit/shared-types": "0.13.0" + } + }, + "node_modules/@devvit/media": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/media/-/media-0.13.0.tgz", + "integrity": "sha512-830Yuqwb/RTzPhSZzI7fnATE2yVNS/ZuV0chwz+7fgaYQIJf8XDf9W4HtMiNinovp3zdC8jm0hQ03/P4iv0Jqg==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.13.0" + }, + "peerDependencies": { + "@devvit/server": "*" + } + }, + "node_modules/@devvit/metrics": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/metrics/-/metrics-0.13.0.tgz", + "integrity": "sha512-EkWG3af8WFUCB5xc41hQzsehr6FWbcwLOcC83Bv71Pgaldceq+/wAWaDSR7xnrxnesuiSvc7xE2KH/wTsgQirg==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.13.0" + } + }, + "node_modules/@devvit/notifications": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/notifications/-/notifications-0.13.0.tgz", + "integrity": "sha512-Y5JtZxuB3pOx4aw+Kd3vn/xV+hlvfYck4Xs77y1407C4k2wv7A0m//AWVfALMVExgwYzREKkZgmDN7S1UHGKpA==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.13.0", + "@devvit/shared-types": "0.13.0" + }, + "peerDependencies": { + "@devvit/server": "*" + } + }, + "node_modules/@devvit/payments": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/payments/-/payments-0.13.0.tgz", + "integrity": "sha512-NmJhxi5Y9Vy0h/rbdmdazx+TR/3mOSgEgJBuRfBTk97ESaAeHPC7HpNJMZT8UJwlbnATxwZUkfzyqpGe0tU9oA==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.13.0", + "@devvit/public-api": "0.13.0", + "@devvit/server": "0.13.0", + "@devvit/shared-types": "0.13.0" + } + }, + "node_modules/@devvit/protos": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.13.0.tgz", + "integrity": "sha512-FVWEp5ewx61dIVXx9G44IUMpJu7CJuL+RikoymifCPOS/AFJUkgSliYNUwDrhop8eJ6j4jfIqWUu+JMjVUGxow==", + "license": "BSD-3-Clause", + "dependencies": { + "protobufjs": "7.5.4", + "rxjs": "7.8.1" + }, + "peerDependencies": { + "twirp-ts": "^2.5.0" + }, + "peerDependenciesMeta": { + "twirp-ts": { + "optional": true + } + } + }, + "node_modules/@devvit/public-api": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.13.0.tgz", + "integrity": "sha512-JRyAoZHxLl1NAGkNaYr86K4w6Gz2hqbGsh9gnooEXBr5DFldxyS7S6g8gxfYLr5nRhJ5Pn5hxHaMH8lUtIBf/Q==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/metrics": "0.13.0", + "@devvit/protos": "0.13.0", + "@devvit/shared": "0.13.0", + "@devvit/shared-types": "0.13.0", + "base64-js": "1.5.1", + "clone-deep": "4.0.1", + "jwt-decode": "4.0.0", + "moderndash": "4.0.0" + } + }, + "node_modules/@devvit/realtime": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/realtime/-/realtime-0.13.0.tgz", + "integrity": "sha512-eJjPxlTVByH39AxIv6/tLtAciBeWWE8TM62BjCbeNELFQfXTppPAujre6UViD/Ms/BeqOltHXyUIWJySQ/1jfg==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.13.0", + "@devvit/shared": "0.13.0", + "@devvit/shared-types": "0.13.0", + "rxjs": "7.8.1" + }, + "peerDependencies": { + "@devvit/client": "*", + "@devvit/server": "*" + } + }, + "node_modules/@devvit/reddit": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/reddit/-/reddit-0.13.0.tgz", + "integrity": "sha512-vy4zmRVnNrJc1g4thItnBBVsPMkIOm8spN7cnlATZABEQ7iXqZZJXK4GyNDTZej1vmS6zhK/WQnoBACLDNCn9w==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.13.0", + "@devvit/shared": "0.13.0", + "@devvit/shared-types": "0.13.0" + }, + "peerDependencies": { + "@devvit/server": "*" + } + }, + "node_modules/@devvit/redis": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/redis/-/redis-0.13.0.tgz", + "integrity": "sha512-8FXCxLxWgcDjlfUbwqsL1892ycYmL5Qa42FtMsNUM+CbiTCkCV5mmguhd7TZnuyrh1Ad5UfEKD3wfZHdWJt1nw==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.13.0", + "@devvit/shared-types": "0.13.0" + }, + "peerDependencies": { + "@devvit/server": "*" + } + }, + "node_modules/@devvit/scheduler": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/scheduler/-/scheduler-0.13.0.tgz", + "integrity": "sha512-zv6Vu/YqRnM8XjW51N3G6YDeGgMlDgasjaryB962BaP+gz8YStFAPRq67sWnothI+Kr3BQzHCfR3EKHrtuagLA==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.13.0", + "@devvit/shared": "0.13.0", + "@devvit/shared-types": "0.13.0" + }, + "peerDependencies": { + "@devvit/server": "*" + } + }, + "node_modules/@devvit/server": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/server/-/server-0.13.0.tgz", + "integrity": "sha512-do6Us1NjqERYPUUBpVtx2DQ4G+oBQOG3QODIwasxkUVx6TY8AeANGM0Y4FyM16hEp8Qc6oQnrhd56v5+uCPUKA==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.13.0", + "@devvit/public-api": "0.13.0", + "@devvit/shared": "0.13.0", + "@devvit/shared-types": "0.13.0" + } + }, + "node_modules/@devvit/settings": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/settings/-/settings-0.13.0.tgz", + "integrity": "sha512-h6yY3s/dnD+jm0YM5wx7Fbig5sSWsJbqA3cJfXtbr12owI3A4/umIN1wuHIDaKzTNYc/Pz9LTqFhNCnregh0Ig==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.13.0", + "@devvit/shared": "0.13.0", + "@devvit/shared-types": "0.13.0" + }, + "peerDependencies": { + "@devvit/server": "*" + } + }, + "node_modules/@devvit/shared": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.13.0.tgz", + "integrity": "sha512-d5uDxq0b1gNEIk+IMAr7N1txLS23P/IGMfCQlx9pfy2bqLict0vfArBn1dkcbtKLzjwcBHZICkSRApjNdFEv7Q==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.13.0", + "@devvit/shared-types": "0.13.0" + } + }, + "node_modules/@devvit/shared-types": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.13.0.tgz", + "integrity": "sha512-egldUa/gAO/RBXzTdSPMS9Zn+c8GXvf3rxgdgb8C8gv9Oc6kvku/RuWcItqe9nFh+9f4xCh+Q3CdZnJ67V9tFA==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.13.0", + "jsonschema": "1.4.1", + "uuid": "14.0.0" + } + }, + "node_modules/@devvit/start": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/start/-/start-0.13.0.tgz", + "integrity": "sha512-yV6yIz8yttDSOvj+Rn8TuPufc4YZpJeOmP+TKxEmau00hv0yQwijfJO5t6IZ15/RD2PhPIOEWwiFBOzcfFaG0w==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/shared-types": "0.13.0", + "chalk": "4.1.2" + }, + "peerDependencies": { + "vite": ">=6.0.0" + } + }, + "node_modules/@devvit/web": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/web/-/web-0.13.0.tgz", + "integrity": "sha512-HeHrRE0mOEKo9nK0vdJ0UutKp+rwlQq8TrYc9ORj1jILaj5OGswzLxFOfNaJr82RTnXJ7EuGxCqzxRYYpBa3NQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/cache": "0.13.0", + "@devvit/client": "0.13.0", + "@devvit/media": "0.13.0", + "@devvit/notifications": "0.13.0", + "@devvit/payments": "0.13.0", + "@devvit/realtime": "0.13.0", + "@devvit/reddit": "0.13.0", + "@devvit/redis": "0.13.0", + "@devvit/scheduler": "0.13.0", + "@devvit/server": "0.13.0", + "@devvit/settings": "0.13.0", + "@devvit/shared": "0.13.0" + } + }, + "node_modules/@devvit/web-view-scripts": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@devvit/web-view-scripts/-/web-view-scripts-0.13.0.tgz", + "integrity": "sha512-0BW2Ue8qZZKv90MkNjmzXvQsupNq3yOVCdFOnRgsx5EBf1jtpKNkkM5i/J5zNCt6h+vRqlYEovx0uIOsqAu5mw==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.13.0", + "@devvit/shared": "0.13.0", + "@devvit/shared-types": "0.13.0", + "html-to-image": "1.11.13", + "jwt-decode": "4.0.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", + "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^3.0.5", + "debug": "^4.3.1", + "minimatch": "^10.2.4" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz", + "integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.2.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/core": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", + "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", + "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz", + "integrity": "sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.2.1", + "levn": "^0.4.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@fsvreddit/eslint-config": { + "version": "0.1.0", + "resolved": "git+ssh://git@github.com/fsvreddit/eslint-config.git#8bbdca2db3fc1eadcc8efea86814e2e67b9c43d3", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@eslint/js": "^9.10.0", + "@stylistic/eslint-plugin": "^5.2.0", + "@vitest/eslint-plugin": "^1.1.0", + "typescript": "^5.8.3", + "typescript-eslint": "^8.50.0" + }, + "peerDependencies": { + "eslint": ">= 10" + } + }, + "node_modules/@hono/node-server": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.0.4.tgz", + "integrity": "sha512-Ut3y0dMMPWy6bZ2kVfx25EOVbZlm15dhF4mOsezMlhpNHy+4MkU1qN9Y6lnruYi4wPmFzimGX2X7LF/FwHli4A==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "peerDependencies": { + "hono": "^4" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@improbable-eng/grpc-web": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@improbable-eng/grpc-web/-/grpc-web-0.15.0.tgz", + "integrity": "sha512-ERft9/0/8CmYalqOVnJnpdDry28q+j+nAlFFARdjyxXDJ+Mhgv9+F600QC8BR9ygOfrXRlAk6CvST2j+JCpQPg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "browser-headers": "^0.4.1" + }, + "peerDependencies": { + "google-protobuf": "^3.14.0" + } + }, + "node_modules/@improbable-eng/grpc-web-node-http-transport": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@improbable-eng/grpc-web-node-http-transport/-/grpc-web-node-http-transport-0.15.0.tgz", + "integrity": "sha512-HLgJfVolGGpjc9DWPhmMmXJx8YGzkek7jcCFO1YYkSOoO81MWRZentPOd/JiKiZuU08wtc4BG+WNuGzsQB5jZA==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "@improbable-eng/grpc-web": ">=0.13.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "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, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "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, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@oclif/color": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@oclif/color/-/color-1.0.13.tgz", + "integrity": "sha512-/2WZxKCNjeHlQogCs1VBtJWlPXjwWke/9gMrwsVsrUt00g2V6LUBvwgwrxhrXepjOmq4IZ5QeNbpDMEOUlx/JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.2.1", + "chalk": "^4.1.0", + "strip-ansi": "^6.0.1", + "supports-color": "^8.1.1", + "tslib": "^2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@oclif/color/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": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@oclif/core": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.9.4.tgz", + "integrity": "sha512-eFRRpV+tJ6nMkhay2M9IppjSF3atRrgj6Qo83qUslaFSAW3NAl4mIhx1mKmTwQx5rgSrar03xICtSAWJ6gZtag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/cli-progress": "^3.11.0", + "ansi-escapes": "^4.3.2", + "ansi-styles": "^4.3.0", + "cardinal": "^2.1.1", + "chalk": "^4.1.2", + "clean-stack": "^3.0.1", + "cli-progress": "^3.12.0", + "debug": "^4.3.4", + "ejs": "^3.1.8", + "fs-extra": "^9.1.0", + "get-package-type": "^0.1.0", + "globby": "^11.1.0", + "hyperlinker": "^1.0.0", + "indent-string": "^4.0.0", + "is-wsl": "^2.2.0", + "js-yaml": "^3.14.1", + "natural-orderby": "^2.0.3", + "object-treeify": "^1.1.33", + "password-prompt": "^1.1.2", + "semver": "^7.5.3", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "supports-color": "^8.1.1", + "supports-hyperlinks": "^2.2.0", + "ts-node": "^10.9.1", + "tslib": "^2.5.0", + "widest-line": "^3.1.0", + "wordwrap": "^1.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@oclif/core/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@oclif/core/node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@oclif/core/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": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@oclif/plugin-autocomplete": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@oclif/plugin-autocomplete/-/plugin-autocomplete-2.3.3.tgz", + "integrity": "sha512-4/7l3YrACS7KfONoams7+xAbVfo7tje0t2Qp84/KAUpY1Yb/11AMPHtzgoRp5A5Y3OFPmLCfRF1YUydz+jGuwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oclif/core": "^2.8.2", + "chalk": "^4.1.0", + "debug": "^4.3.4", + "fs-extra": "^9.0.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@oclif/plugin-help": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-5.2.14.tgz", + "integrity": "sha512-7hMLc6zqxeRfG4nvHHQPpbaBj60efM3ULFkCpHZkdLms/ezIkNo40F661QuraIjMP/NN+U6VSfBCGuPkRyxVkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oclif/core": "^2.9.3" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@oclif/plugin-not-found": { + "version": "2.3.34", + "resolved": "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-2.3.34.tgz", + "integrity": "sha512-uXUpw6o2e0aqnNn+XkGL7LbL+Th2rBD1JGtFbb6anmvUvz2skiGz0o23BYmrQW8tvU92ajPOykfClKD75ptZcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oclif/color": "^1.0.9", + "@oclif/core": "^2.9.4", + "fast-levenshtein": "^3.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@oclif/plugin-not-found/node_modules/fast-levenshtein": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz", + "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fastest-levenshtein": "^1.0.7" + } + }, + "node_modules/@oclif/plugin-warn-if-update-available": { + "version": "2.0.45", + "resolved": "https://registry.npmjs.org/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-2.0.45.tgz", + "integrity": "sha512-MEncCUHW1vCOQdvt1z46jAblwvuGcs3Q1Gjl8IghazGJ0GRHzGOMILABpqVWR5uH/YJ3gfs05Tt7M4LdZ40N3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oclif/core": "^2.9.4", + "chalk": "^4.1.0", + "debug": "^4.1.0", + "fs-extra": "^9.0.1", + "http-call": "^5.2.2", + "lodash": "^4.17.21", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.132.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.132.0.tgz", + "integrity": "sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@protobuf-ts/plugin-framework": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin-framework/-/plugin-framework-2.11.0.tgz", + "integrity": "sha512-D6Mno2i/NcRrDzbTq/2QSXUheXds6Ye+uaBSAHvPy2GAre4vjz1S0B6JTzVbU/B8hI3Msc/zMQSHb5Ak5Iy97g==", + "devOptional": true, + "license": "(Apache-2.0 AND BSD-3-Clause)", + "dependencies": { + "@protobuf-ts/runtime": "^2.11.0", + "typescript": "^3.9" + } + }, + "node_modules/@protobuf-ts/plugin-framework/node_modules/typescript": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@protobuf-ts/runtime": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime/-/runtime-2.11.1.tgz", + "integrity": "sha512-KuDaT1IfHkugM2pyz+FwiY80ejWrkH1pAtOBOZFuR6SXEFTsnb/jiQWQ1rCIrcKx2BtyxnxW6BWwsVSA/Ie+WQ==", + "devOptional": true, + "license": "(Apache-2.0 AND BSD-3-Clause)" + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.5.tgz", + "integrity": "sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.1.tgz", + "integrity": "sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.1.tgz", + "integrity": "sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==", + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.2.tgz", + "integrity": "sha512-pa0vFRuws4wkvaXKK1uXZMAwAX4/t8ANaJo45iw/oQHNQ9q5xUzwgFmVJGXiga2BeN+zpX7Vf9vmsiIa2J+MUw==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.1.tgz", + "integrity": "sha512-oOAWABowe8EAbMyWKM0tYDKi8Yaox52D+HWZhAIJqQXbqe0xI/GV7FhLWqlEKreMkfDjshR5FKgi3mnle0h6Eg==", + "license": "BSD-3-Clause" + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.2.tgz", + "integrity": "sha512-ZS4D1JPGn/MYQN/SYDWftIE/nVsM8j/AFOYEzAoOE2O3NktQOZru+/vYXGbR/qtdLdIfGCP0lcoJiYVzsEz+iQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.2.tgz", + "integrity": "sha512-vdFA9+C/rekyGce7WqHs/xoT0ioZEWaOFyZLIV1mEeNFaFDUQrPIo8Vs2GvJ6eetb3rzDUtUBgzto3ExpXJB3w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.2.tgz", + "integrity": "sha512-BewSOwTHazv77DTYiAZXSqqKZ4KP/KonFisDMVU7PImxoWfB2aepnPhd2E4SWz3zDzYgDNbs6jBmTdgNnF02GA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.2.tgz", + "integrity": "sha512-m41o7M0YWtUdqk61Tb+jnKb2rN++iRdIASlExkUoKfIAH30DOHCB8fVLzSUpbWHHU8esmEioY62PxzexE8MBuA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.2.tgz", + "integrity": "sha512-jcojB9H7W/jS29pMKWAK1N+fU99vXodHDTatS3b3y/XSOCiHo0kkA74pL3jJmkoQtYpOCxDvaKs1fo2Ij/1X5w==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.2.tgz", + "integrity": "sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.2.tgz", + "integrity": "sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.2.tgz", + "integrity": "sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.2.tgz", + "integrity": "sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.2.tgz", + "integrity": "sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.2.tgz", + "integrity": "sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.2.tgz", + "integrity": "sha512-1v5vHasdfQAZoEHakBV72LIFAC9JjnymsiKxp+GEr/ma3+NJCPSaYK+qavInOovJkgwFrs7GccX2d6IgDA3Z5w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.2.tgz", + "integrity": "sha512-mb1VobWn6NheziTk5/WEaR6AKVbrwT5sOi6C7zk3gy/pD1qtJfU1j4PgTo2NJnOtbL9Dl3Aeei8w9jJ7qC2jZQ==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.2.tgz", + "integrity": "sha512-SqKonF56vA/L2yHwHYcEp2P34URpOZ7d1fS635cTkpDnUtEGdUbhI6NzsPdqeSWvAAeGDrxjWjNmibDIdFf9/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.2.tgz", + "integrity": "sha512-v7qRI7gXLRINcOGXt+7YmAZ6iFuyZVMIoXAxhd8oP+DR9dLfL9GfNIx7PLMxmhZdvq8waUJBQiWN9EKNy+TRBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "license": "MIT" + }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true, + "license": "MIT" + }, + "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": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@stylistic/eslint-plugin": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.10.0.tgz", + "integrity": "sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/types": "^8.56.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "estraverse": "^5.3.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": "^9.0.0 || ^10.0.0" + } + }, + "node_modules/@tokenizer/inflate": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.4.1.tgz", + "integrity": "sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "token-types": "^6.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", + "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, + "node_modules/@types/cli-progress": { + "version": "3.11.6", + "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.6.tgz", + "integrity": "sha512-cE3+jb9WRlu+uOSAugewNpITJDt1VF8dHOopPO4IABFc3SXYL5WE/+PTz/FCdZRRfIujiWW3n3aMbv1eIGVRWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/esrecurse": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", + "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.19.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.19.tgz", + "integrity": "sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/pluralize": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/pluralize/-/pluralize-0.0.33.tgz", + "integrity": "sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", + "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.60.0.tgz", + "integrity": "sha512-QYb/sa74/s7OKMbACMjrYnGspj9Hs5YI5aaffSL65UfeBUzVzBJfVo3oWSpbzPurvm7yaCCo2Lk7lVj610HqKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.60.0", + "@typescript-eslint/type-utils": "8.60.0", + "@typescript-eslint/utils": "8.60.0", + "@typescript-eslint/visitor-keys": "8.60.0", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.60.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.60.0.tgz", + "integrity": "sha512-fcqpj/MyK4sxDPcbe7STNPbpQL4RLZOPWuaTmwZYuc+hJKzRf58yRxfhqGpc6PIq9ZyfSBpfHgmUHmHs0KwHwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.60.0", + "@typescript-eslint/types": "8.60.0", + "@typescript-eslint/typescript-estree": "8.60.0", + "@typescript-eslint/visitor-keys": "8.60.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.60.0.tgz", + "integrity": "sha512-aZu74NNKJeUWqCjDddzdiKaS82dgYgV/vmf+Ui3ZdZejmgfXR/q+pRumgobnQ2cCJTgGTWp4ypiwsuofFubavg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.60.0", + "@typescript-eslint/types": "^8.60.0", + "debug": "^4.4.3" + }, + "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.1.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.60.0.tgz", + "integrity": "sha512-pFzqhllJMs+jghLQWzV00ds39xLzuyqPSev5pd8f4Ir0rtKR3ZLUB4/4dhjOFighWb9larvtfJvqL+4yKDI3Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.60.0", + "@typescript-eslint/visitor-keys": "8.60.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.60.0.tgz", + "integrity": "sha512-BZPR3RGYlAXnly6ymAxfkVn5rCbZzQNou0rxv3GfWZ8cTQp+hhVd73khbGLAd8k1TlAPLISH337M+tAgAnaJDQ==", + "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.1.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.60.0.tgz", + "integrity": "sha512-SX46wEUtitCpq7AN38HkUU/+zvUpdKf7ephtWAFgckH8O7PQIyL5gvrhQgBLuEYgLfuKWOVvWVskMbuFHAz5xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.60.0", + "@typescript-eslint/typescript-estree": "8.60.0", + "@typescript-eslint/utils": "8.60.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.60.0.tgz", + "integrity": "sha512-AsE7x2XaAK+CVbeih0Fvbn+r1qHxtpLDJ3XUuFcIinT318T90yHMJC+Zgv+jUuDjQQd06HKwxnDu6sz1IcTilA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.60.0.tgz", + "integrity": "sha512-3AcZNBGMClm6CXDyo8kYvVGT/sx29sS0oBsIb9oZI2gunA4Vm2M3YHzRLPvsUBBsl+yB5FPtltq7gGH0iTlp9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.60.0", + "@typescript-eslint/tsconfig-utils": "8.60.0", + "@typescript-eslint/types": "8.60.0", + "@typescript-eslint/visitor-keys": "8.60.0", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.5.0" + }, + "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.1.0" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.60.0.tgz", + "integrity": "sha512-HtXuPfrHTyBDkameWpl+vJb1Uevu2tznAyahM1Oc4AENidCLTPiZDWIo4GfcxNdC/RcfGcadzzkqbRG87dUrQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.60.0", + "@typescript-eslint/types": "8.60.0", + "@typescript-eslint/typescript-estree": "8.60.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.60.0.tgz", + "integrity": "sha512-9WI52t8ZGLVGrPMBet25yAftqY/n95+zmoUUtJBBQTKDSKUu7OsPTroT2op7U9JatkoRccL0YkWDNMFfC4Sjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.60.0", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@vitest/eslint-plugin": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.6.18.tgz", + "integrity": "sha512-J6U4X0jH3NwTuYouvrJn6I8ypTOU+GhKEjyVwpoPnDuc23usa/xi/R0caWLBbNp3xLy3/rL1YkuJuneTMVV4Mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "^8.58.0", + "@typescript-eslint/utils": "^8.58.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "*", + "eslint": ">=8.57.0", + "typescript": ">=5.0.0", + "vitest": "*" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "typescript": { + "optional": true + }, + "vitest": { + "optional": true + } + } + }, + "node_modules/@vitest/expect": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.7.tgz", + "integrity": "sha512-1R+tw0ortHEbZDGMymm+pN7/AFQ/RkFFdtd7EN+VBpynKmLbP8A3rpEXdshBJ7+8hQ9zBJh/i1s0yKNtxAnU7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.7", + "@vitest/utils": "4.1.7", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.7.tgz", + "integrity": "sha512-vY7nuamKgfvpA1Koa3oYIw/k7D6kZnpGyNMZW8loow2bsBYla1TFdqTaXncWdRn4pgwNs+90RhnXhJScDwQeJA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.1.7", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.7.tgz", + "integrity": "sha512-umgCarTOYQWIaDMvGDRZij+6b9oVeLIyJzfN+AS88e0ZOU3QTgNNSTtjQOpcvWr3np1N0j4WgZj+sb3oYBDscw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.7.tgz", + "integrity": "sha512-BapjmAQ2aI78WdMEfeUWivnfVzB+VPGwWRQcJE0OUq7qEeEcBsCSf+0T5iREBNE5nBb4wA5Ya0W6IA+sghdEFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.1.7", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.7.tgz", + "integrity": "sha512-ZacLzja+TmJeZ1h14xW2FB/WpeimUD3haBXQPyJqxvo8jQTmfeA8zv58mtjN2C7EHXZDYVcVYdYmAxjkWVvKCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.7", + "@vitest/utils": "4.1.7", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.7.tgz", + "integrity": "sha512-kbkI5LMWakyuTIvs6fUJ5qdIVb1XVKsYJAT4OJ938cHMROYMSfmoQdZy0aaAnjbbc8F61vkoTqz/Az+/HiIu5Q==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.7.tgz", + "integrity": "sha512-T532WBu791cBxJlCl6SO+J14l81DQx6uQHm1bQbmCDY7nqlEIgkza/UFnSBNaUtSf41unldDFjdOBYEQC4b5Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.7", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", + "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/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, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "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": { + "node": ">=8" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-lock": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.4.1.tgz", + "integrity": "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "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/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bl": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/brace-expansion": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "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/browser-headers": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/browser-headers/-/browser-headers-0.4.1.tgz", + "integrity": "sha512-CA9hsySZVo9371qEHjHZtYxV2cFtVj5Wj/ZHi8ooEsrtm4vOnl9Y9HmyYWk9q+05d7K3rdoAE0j3MVEFVvtQtg==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "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" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/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/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + }, + "bin": { + "cdl": "bin/cdl.js" + } + }, + "node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/char-regex": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.2.tgz", + "integrity": "sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "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" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/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, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/clean-git-ref": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-2.0.1.tgz", + "integrity": "sha512-bLSptAy2P0s6hU4PzuIMKmMJJSE6gLXGH1cntDu7bWJUksvuM+7ReOK61mozULErYvP6a15rnYl0zFDef+pyPw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/clean-stack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", + "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "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==", + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "devOptional": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "license": "MIT" + }, + "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/cssstyle": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", + "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^3.2.0", + "rrweb-cssom": "^0.8.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cssstyle/node_modules/rrweb-cssom": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", + "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/date-fns": { + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz", + "integrity": "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true, + "license": "MIT" + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/default-browser": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", + "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/devvit": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/devvit/-/devvit-0.13.0.tgz", + "integrity": "sha512-otLG/Yp3t6y81h5otb4IRYDv5TNFH4LEQIW3oeyi1IMp5wX2YcHPbdxVGtx4SEMqmOK3PH+aoQkj1qZWNJ4zZg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/cli": "0.13.0" + }, + "bin": { + "devvit": "bin/devvit.js" + } + }, + "node_modules/diff": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz", + "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff3": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/diff3/-/diff3-0.0.3.tgz", + "integrity": "sha512-iSq8ngPOt0K53A6eVr4d5Kn6GNrM2nQZtC740pzIriHtn4pOQ2lyzEXQMBeVcWERN0ye7fhBsk9PbLLQOnUx/g==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dot-object": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/dot-object/-/dot-object-2.1.5.tgz", + "integrity": "sha512-xHF8EP4XH/Ba9fvAF2LDd5O3IITVolerVV6xvkxoM8zlGEiCUrggpAnHyOoKJKCrhvPcGATFAUwIujj7bRG5UA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "commander": "^6.1.0", + "glob": "^7.1.6" + }, + "bin": { + "dot-object": "bin/dot-object" + } + }, + "node_modules/dotenv": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", + "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "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/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "license": "MIT" + }, + "node_modules/entities": { + "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": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "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/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/es-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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/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": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.4.0.tgz", + "integrity": "sha512-loXy6bWOoP3EP6JA7jo6p5jMpBJmHmsNZM5SFRHLdh1MGOPurMnNBj4ZlAbaqUAaQWbCr7jHV4P7gzAyryZWkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.2", + "@eslint/config-array": "^0.23.5", + "@eslint/config-helpers": "^0.6.0", + "@eslint/core": "^1.2.1", + "@eslint/plugin-kit": "^0.7.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^9.1.2", + "eslint-visitor-keys": "^5.0.1", + "espree": "^11.2.0", + "esquery": "^1.7.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "minimatch": "^10.2.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", + "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@types/esrecurse": "^4.3.1", + "@types/estree": "^1.0.8", + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "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": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/espree": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", + "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.16.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^5.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "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.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.1.tgz", + "integrity": "sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.6", + "figures": "^6.1.0", + "get-stream": "^9.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.2.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/expect-type": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "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.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/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, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/@rolldown/binding-wasm32-wasi": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.2.tgz", - "integrity": "sha512-mb1VobWn6NheziTk5/WEaR6AKVbrwT5sOi6C7zk3gy/pD1qtJfU1j4PgTo2NJnOtbL9Dl3Aeei8w9jJ7qC2jZQ==", - "cpu": [ - "wasm32" - ], + "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", - "optional": true, "dependencies": { - "@emnapi/core": "1.10.0", - "@emnapi/runtime": "1.10.0", - "@napi-rs/wasm-runtime": "^1.1.4" + "is-unicode-supported": "^2.0.0" }, "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.2.tgz", - "integrity": "sha512-SqKonF56vA/L2yHwHYcEp2P34URpOZ7d1fS635cTkpDnUtEGdUbhI6NzsPdqeSWvAAeGDrxjWjNmibDIdFf9/A==", - "cpu": [ - "arm64" - ], + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "flat-cache": "^4.0.0" + }, "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": ">=16.0.0" } }, - "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.2.tgz", - "integrity": "sha512-v7qRI7gXLRINcOGXt+7YmAZ6iFuyZVMIoXAxhd8oP+DR9dLfL9GfNIx7PLMxmhZdvq8waUJBQiWN9EKNy+TRBQ==", - "cpu": [ - "x64" - ], + "node_modules/file-type": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-21.3.2.tgz", + "integrity": "sha512-DLkUvGwep3poOV2wpzbHCOnSKGk1LzyXTv+aHFgN2VFl96wnp8YA9YjO2qPzg5PuL8q/SW9Pdi6WTkYOIh995w==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "@tokenizer/inflate": "^0.4.1", + "strtok3": "^10.3.4", + "token-types": "^6.1.1", + "uint8array-extras": "^1.4.0" + }, "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" } }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", - "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "node_modules/filelist": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.6.tgz", + "integrity": "sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==", "dev": true, - "license": "MIT" + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } }, - "node_modules/@standard-schema/spec": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", - "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "node_modules/filelist/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, "license": "MIT" }, - "node_modules/@stylistic/eslint-plugin": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.10.0.tgz", - "integrity": "sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ==", + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/types": "^8.56.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "estraverse": "^5.3.0", - "picomatch": "^4.0.3" + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "peerDependencies": { - "eslint": "^9.0.0 || ^10.0.0" + "node": ">=10" } }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", - "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "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", - "optional": true, "dependencies": { - "tslib": "^2.4.0" + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/chai": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", - "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "license": "MIT", "dependencies": { - "@types/deep-eql": "*", - "assertion-error": "^2.0.1" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@types/deep-eql": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", - "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.9.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.1.tgz", - "integrity": "sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==", "license": "MIT", "dependencies": { - "undici-types": ">=7.24.0 <7.24.7" + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" } }, - "node_modules/@types/pluralize": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/pluralize/-/pluralize-0.0.33.tgz", - "integrity": "sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg==", + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.60.0.tgz", - "integrity": "sha512-QYb/sa74/s7OKMbACMjrYnGspj9Hs5YI5aaffSL65UfeBUzVzBJfVo3oWSpbzPurvm7yaCCo2Lk7lVj610HqKw==", + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.60.0", - "@typescript-eslint/type-utils": "8.60.0", - "@typescript-eslint/utils": "8.60.0", - "@typescript-eslint/visitor-keys": "8.60.0", - "ignore": "^7.0.5", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.5.0" + "is-callable": "^1.2.7" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "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.12" }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.60.0", - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" + "engines": { + "node": ">= 6" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "node_modules/form-data/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, "license": "MIT", "engines": { - "node": ">= 4" + "node": ">= 0.6" } }, - "node_modules/@typescript-eslint/parser": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.60.0.tgz", - "integrity": "sha512-fcqpj/MyK4sxDPcbe7STNPbpQL4RLZOPWuaTmwZYuc+hJKzRf58yRxfhqGpc6PIq9ZyfSBpfHgmUHmHs0KwHwg==", + "node_modules/form-data/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, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.60.0", - "@typescript-eslint/types": "8.60.0", - "@typescript-eslint/typescript-estree": "8.60.0", - "@typescript-eslint/visitor-keys": "8.60.0", - "debug": "^4.4.3" + "mime-db": "1.52.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" + "node": ">= 0.6" } }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.60.0.tgz", - "integrity": "sha512-aZu74NNKJeUWqCjDddzdiKaS82dgYgV/vmf+Ui3ZdZejmgfXR/q+pRumgobnQ2cCJTgGTWp4ypiwsuofFubavg==", + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.60.0", - "@typescript-eslint/types": "^8.60.0", - "debug": "^4.4.3" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "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.1.0" + "node": ">=10" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.60.0.tgz", - "integrity": "sha512-pFzqhllJMs+jghLQWzV00ds39xLzuyqPSev5pd8f4Ir0rtKR3ZLUB4/4dhjOFighWb9larvtfJvqL+4yKDI3Xw==", + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "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, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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": { - "@typescript-eslint/types": "8.60.0", - "@typescript-eslint/visitor-keys": "8.60.0" + "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": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.60.0.tgz", - "integrity": "sha512-BZPR3RGYlAXnly6ymAxfkVn5rCbZzQNou0rxv3GfWZ8cTQp+hhVd73khbGLAd8k1TlAPLISH337M+tAgAnaJDQ==", + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, "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.1.0" + "node": ">=8.0.0" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.60.0.tgz", - "integrity": "sha512-SX46wEUtitCpq7AN38HkUU/+zvUpdKf7ephtWAFgckH8O7PQIyL5gvrhQgBLuEYgLfuKWOVvWVskMbuFHAz5xg==", + "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": { - "@typescript-eslint/types": "8.60.0", - "@typescript-eslint/typescript-estree": "8.60.0", - "@typescript-eslint/utils": "8.60.0", - "debug": "^4.4.3", - "ts-api-utils": "^2.5.0" + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" + "node": ">= 0.4" } }, - "node_modules/@typescript-eslint/types": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.60.0.tgz", - "integrity": "sha512-AsE7x2XaAK+CVbeih0Fvbn+r1qHxtpLDJ3XUuFcIinT318T90yHMJC+Zgv+jUuDjQQd06HKwxnDu6sz1IcTilA==", + "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": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.60.0.tgz", - "integrity": "sha512-3AcZNBGMClm6CXDyo8kYvVGT/sx29sS0oBsIb9oZI2gunA4Vm2M3YHzRLPvsUBBsl+yB5FPtltq7gGH0iTlp9g==", - "dev": true, - "license": "MIT", + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "devOptional": true, + "license": "ISC", "dependencies": { - "@typescript-eslint/project-service": "8.60.0", - "@typescript-eslint/tsconfig-utils": "8.60.0", - "@typescript-eslint/types": "8.60.0", - "@typescript-eslint/visitor-keys": "8.60.0", - "debug": "^4.4.3", - "minimatch": "^10.2.2", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.5.0" + "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": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "*" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@typescript-eslint/utils": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.60.0.tgz", - "integrity": "sha512-HtXuPfrHTyBDkameWpl+vJb1Uevu2tznAyahM1Oc4AENidCLTPiZDWIo4GfcxNdC/RcfGcadzzkqbRG87dUrQA==", + "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": "MIT", + "license": "ISC", "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.60.0", - "@typescript-eslint/types": "8.60.0", - "@typescript-eslint/typescript-estree": "8.60.0" + "is-glob": "^4.0.3" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=10.13.0" + } + }, + "node_modules/glob/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==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "devOptional": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" + "engines": { + "node": "*" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.60.0.tgz", - "integrity": "sha512-9WI52t8ZGLVGrPMBet25yAftqY/n95+zmoUUtJBBQTKDSKUu7OsPTroT2op7U9JatkoRccL0YkWDNMFfC4Sjxg==", + "node_modules/globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", + "dev": true, + "license": "MIT" + }, + "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": { - "@typescript-eslint/types": "8.60.0", - "eslint-visitor-keys": "^5.0.0" + "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": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", "dev": true, - "license": "Apache-2.0", + "license": "MIT" + }, + "node_modules/google-protobuf": { + "version": "3.21.4", + "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.4.tgz", + "integrity": "sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==", + "dev": true, + "license": "(BSD-3-Clause AND Apache-2.0)", + "peer": true + }, + "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": "^20.19.0 || ^22.13.0 || >=24" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@vitest/eslint-plugin": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.6.18.tgz", - "integrity": "sha512-J6U4X0jH3NwTuYouvrJn6I8ypTOU+GhKEjyVwpoPnDuc23usa/xi/R0caWLBbNp3xLy3/rL1YkuJuneTMVV4Mg==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true, + "license": "ISC" + }, + "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==", "license": "MIT", - "dependencies": { - "@typescript-eslint/scope-manager": "^8.58.0", - "@typescript-eslint/utils": "^8.58.0" - }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "*", - "eslint": ">=8.57.0", - "typescript": ">=5.0.0", - "vitest": "*" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "typescript": { - "optional": true - }, - "vitest": { - "optional": true - } + "node": ">=8" } }, - "node_modules/@vitest/expect": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.7.tgz", - "integrity": "sha512-1R+tw0ortHEbZDGMymm+pN7/AFQ/RkFFdtd7EN+VBpynKmLbP8A3rpEXdshBJ7+8hQ9zBJh/i1s0yKNtxAnU7w==", + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, "license": "MIT", "dependencies": { - "@standard-schema/spec": "^1.1.0", - "@types/chai": "^5.2.2", - "@vitest/spy": "4.1.7", - "@vitest/utils": "4.1.7", - "chai": "^6.2.2", - "tinyrainbow": "^3.1.0" + "es-define-property": "^1.0.0" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@vitest/mocker": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.7.tgz", - "integrity": "sha512-vY7nuamKgfvpA1Koa3oYIw/k7D6kZnpGyNMZW8loow2bsBYla1TFdqTaXncWdRn4pgwNs+90RhnXhJScDwQeJA==", + "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", - "dependencies": { - "@vitest/spy": "4.1.7", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.21" + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "msw": "^2.4.9", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@vitest/pretty-format": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.7.tgz", - "integrity": "sha512-umgCarTOYQWIaDMvGDRZij+6b9oVeLIyJzfN+AS88e0ZOU3QTgNNSTtjQOpcvWr3np1N0j4WgZj+sb3oYBDscw==", + "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": { - "tinyrainbow": "^3.1.0" + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@vitest/runner": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.7.tgz", - "integrity": "sha512-BapjmAQ2aI78WdMEfeUWivnfVzB+VPGwWRQcJE0OUq7qEeEcBsCSf+0T5iREBNE5nBb4wA5Ya0W6IA+sghdEFw==", + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.1.7", - "pathe": "^2.0.3" + "function-bind": "^1.1.2" }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">= 0.4" } }, - "node_modules/@vitest/snapshot": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.7.tgz", - "integrity": "sha512-ZacLzja+TmJeZ1h14xW2FB/WpeimUD3haBXQPyJqxvo8jQTmfeA8zv58mtjN2C7EHXZDYVcVYdYmAxjkWVvKCw==", - "dev": true, + "node_modules/hono": { + "version": "4.12.23", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.23.tgz", + "integrity": "sha512-eIaZ9qDgu7XV0pxOCrg7/WhnQ6Ivm22UcxhXx/A3dcbqbbYgBEkc6e/J/s7j2tS96zoB0S9VBdLwQNCWwUo4LA==", "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "4.1.7", - "@vitest/utils": "4.1.7", - "magic-string": "^0.30.21", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">=16.9.0" } }, - "node_modules/@vitest/spy": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.7.tgz", - "integrity": "sha512-kbkI5LMWakyuTIvs6fUJ5qdIVb1XVKsYJAT4OJ938cHMROYMSfmoQdZy0aaAnjbbc8F61vkoTqz/Az+/HiIu5Q==", + "node_modules/hotscript": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/hotscript/-/hotscript-1.0.13.tgz", + "integrity": "sha512-C++tTF1GqkGYecL+2S1wJTfoH6APGAsbb7PAWQ3iVIwgG/EFseAfEVOKFgAFq4yK3+6j1EjUD4UQ9dRJHX/sSQ==", + "license": "ISC" + }, + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", "dev": true, "license": "MIT", - "funding": { - "url": "https://opencollective.com/vitest" + "dependencies": { + "whatwg-encoding": "^3.1.1" + }, + "engines": { + "node": ">=18" } }, - "node_modules/@vitest/utils": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.7.tgz", - "integrity": "sha512-T532WBu791cBxJlCl6SO+J14l81DQx6uQHm1bQbmCDY7nqlEIgkza/UFnSBNaUtSf41unldDFjdOBYEQC4b5Hw==", + "node_modules/html-to-image": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/html-to-image/-/html-to-image-1.11.13.tgz", + "integrity": "sha512-cuOPoI7WApyhBElTTb9oqsawRvZ0rHhaHwghRLlTuffoD1B2aDemlCruLeZrUIIdvG7gs9xeELEPm6PhuASqrg==", + "license": "MIT" + }, + "node_modules/http-call": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz", + "integrity": "sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@vitest/pretty-format": "4.1.7", - "convert-source-map": "^2.0.0", - "tinyrainbow": "^3.1.0" + "content-type": "^1.0.4", + "debug": "^4.1.1", + "is-retry-allowed": "^1.1.0", + "is-stream": "^2.0.0", + "parse-json": "^4.0.0", + "tunnel-agent": "^0.6.0" }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "node_modules/http-call/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, "engines": { - "node": ">=0.4.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/ajv": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", - "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "agent-base": "^7.1.2", + "debug": "4" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">= 14" } }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "node_modules/human-signals": { + "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": { + "node": ">=18.18.0" + } + }, + "node_modules/hyperlinker": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", + "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "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, "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, "engines": { - "node": "18 || 20 || >=22" + "node": ">=0.10.0" } }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, "funding": [ { "type": "github", @@ -1243,504 +4647,502 @@ "url": "https://feross.org/support" } ], - "license": "MIT" + "license": "BSD-3-Clause" }, - "node_modules/brace-expansion": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", - "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "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", - "dependencies": { - "balanced-match": "^4.0.2" - }, "engines": { - "node": "18 || 20 || >=22" + "node": ">= 4" } }, - "node_modules/chai": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", - "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "node_modules/image-size": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.2.tgz", + "integrity": "sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==", "dev": true, "license": "MIT", + "bin": { + "image-size": "bin/image-size.js" + }, "engines": { - "node": ">=18" + "node": ">=16.x" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": ">=0.8.19" } }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "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, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "devOptional": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/inquirer": { + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.1.4.tgz", + "integrity": "sha512-9hiJxE5gkK/cM2d1mTEnuurGTAoHebbkX0BYl3h7iEg7FYfuNIom+nDfBCSWtvSnoSrWCeBxqqBZu26xdlJlXA==", "dev": true, "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "ansi-escapes": "^6.0.0", + "chalk": "^5.1.2", + "cli-cursor": "^4.0.0", + "cli-width": "^4.0.0", + "external-editor": "^3.0.3", + "figures": "^5.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^6.1.2", + "run-async": "^2.4.0", + "rxjs": "^7.5.7", + "string-width": "^5.1.2", + "strip-ansi": "^7.0.1", + "through": "^2.3.6", + "wrap-ansi": "^8.0.1" }, "engines": { - "node": ">= 8" + "node": ">=12.0.0" } }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "node_modules/inquirer/node_modules/ansi-escapes": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", + "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==", "dev": true, "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, "engines": { - "node": ">=6.0" + "node": ">=14.16" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/es-module-lexer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", - "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", - "dev": true, - "license": "MIT" - }, - "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==", + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/eslint": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.4.0.tgz", - "integrity": "sha512-loXy6bWOoP3EP6JA7jo6p5jMpBJmHmsNZM5SFRHLdh1MGOPurMnNBj4ZlAbaqUAaQWbCr7jHV4P7gzAyryZWkQ==", + "node_modules/inquirer/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", "dev": true, "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.5", - "@eslint/config-helpers": "^0.6.0", - "@eslint/core": "^1.2.1", - "@eslint/plugin-kit": "^0.7.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", + "node_modules/inquirer/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, + "license": "MIT" + }, + "node_modules/inquirer/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": ">=12" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-visitor-keys": { - "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==", + "node_modules/inquirer/node_modules/figures": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", + "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^5.0.0", + "is-unicode-supported": "^1.2.0" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=14" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "node_modules/inquirer/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": ">=12" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", + "node_modules/inquirer/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": ">=12" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" + "ansi-regex": "^6.2.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=12" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "node_modules/inquirer/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "estraverse": "^5.1.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=0.10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT" + }, + "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, + "license": "MIT", "dependencies": { - "estraverse": "^5.2.0" + "binary-extensions": "^2.0.0" }, "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "engines": { - "node": ">=4.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/expect-type": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", - "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", + "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, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": ">=12.0.0" + "node": ">=8" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "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, "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" + "dependencies": { + "is-extglob": "^2.1.1" }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } + "engines": { + "node": ">=0.10.0" } }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^4.0.0" + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/is-inside-container/node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", "dev": true, "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", "dev": true, "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, "engines": { - "node": ">=16" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "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": "ISC" + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "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, - "hasInstallScript": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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", + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.3" + "isobject": "^3.0.1" }, "engines": { - "node": ">=10.13.0" + "node": ">=0.10.0" } }, - "node_modules/hotscript": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/hotscript/-/hotscript-1.0.13.tgz", - "integrity": "sha512-C++tTF1GqkGYecL+2S1wJTfoH6APGAsbb7PAWQ3iVIwgG/EFseAfEVOKFgAFq4yK3+6j1EjUD4UQ9dRJHX/sSQ==", - "license": "ISC" + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "node_modules/is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "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": { - "node": ">=0.8.19" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "dev": true, "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "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", - "dependencies": { - "is-extglob": "^2.1.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, "license": "MIT", "dependencies": { - "isobject": "^3.0.1" + "is-docker": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -1757,6 +5159,105 @@ "node": ">=0.10.0" } }, + "node_modules/isomorphic-git": { + "version": "1.33.1", + "resolved": "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.33.1.tgz", + "integrity": "sha512-Fy5rPAncURJoqL9R+5nJXLl5rQH6YpcjJd7kdCoRJPhrBiLVkLm9b+esRqYQQlT1hKVtKtALbfNtpHjWWJgk6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-lock": "^1.4.1", + "clean-git-ref": "^2.0.1", + "crc-32": "^1.2.0", + "diff3": "0.0.3", + "ignore": "^5.1.4", + "minimisted": "^2.0.0", + "pako": "^1.0.10", + "path-browserify": "^1.0.1", + "pify": "^4.0.1", + "readable-stream": "^3.4.0", + "sha.js": "^2.4.12", + "simple-get": "^4.0.1" + }, + "bin": { + "isogit": "cli.cjs" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.0.tgz", + "integrity": "sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssstyle": "^4.0.1", + "data-urls": "^5.0.0", + "decimal.js": "^10.4.3", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.4", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.10", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.7.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.4", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.17.0", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "canvas": "^2.11.2" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -1764,6 +5265,13 @@ "dev": true, "license": "MIT" }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true, + "license": "MIT" + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -1778,6 +5286,19 @@ "dev": true, "license": "MIT" }, + "node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/jsonschema": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", @@ -1787,6 +5308,59 @@ "node": "*" } }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dev": true, + "license": "(MIT OR GPL-3.0-or-later)", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/jszip/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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/jszip/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, + "license": "MIT" + }, + "node_modules/jszip/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, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/jwt-decode": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", @@ -1829,11 +5403,20 @@ "node": ">= 0.8.0" } }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "immediate": "~3.0.5" + } + }, "node_modules/lightningcss": { "version": "1.32.0", "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", - "dev": true, "license": "MPL-2.0", "dependencies": { "detect-libc": "^2.0.3" @@ -1866,7 +5449,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -1887,7 +5469,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -1908,7 +5489,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -1929,7 +5509,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -1950,7 +5529,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -1971,7 +5549,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -1992,7 +5569,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -2013,7 +5589,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -2027,99 +5602,267 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", - "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", - "cpu": [ - "x64" - ], + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", + "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", + "license": "Apache-2.0" + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "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" + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, + "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/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", "engines": { - "node": ">= 12.0.0" + "node": ">= 8" + } + }, + "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" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">=8.6" } }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", - "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", - "cpu": [ - "arm64" - ], + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], + "license": "MIT", "engines": { - "node": ">= 12.0.0" + "node": ">=8.6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", - "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", - "cpu": [ - "x64" - ], + "node_modules/mime-db": { + "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": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], + "license": "MIT", "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">= 0.6" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^5.0.0" + "mime-db": "^1.54.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/long": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", - "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", - "license": "Apache-2.0" + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "dev": true, "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/minimatch": { @@ -2138,6 +5881,26 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimisted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minimisted/-/minimisted-2.0.1.tgz", + "integrity": "sha512-1oPjfuLQa2caorJUM8HV8lGgWCc0qqAO1MNv/k05G4qslmsndV/5WdNZrqCiyqiz3wohia2Ij2B7w2Dr7/IyrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5" + } + }, "node_modules/moderndash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/moderndash/-/moderndash-4.0.0.tgz", @@ -2159,11 +5922,27 @@ "dev": true, "license": "MIT" }, + "node_modules/mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "dev": true, + "license": "MIT", + "bin": { + "mustache": "bin/mustache" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true, + "license": "ISC" + }, "node_modules/nanoid": { "version": "3.3.12", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", - "dev": true, "funding": [ { "type": "github", @@ -2185,6 +5964,84 @@ "dev": true, "license": "MIT" }, + "node_modules/natural-orderby": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", + "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/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": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nwsapi": { + "version": "2.2.23", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.23.tgz", + "integrity": "sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-treeify": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", + "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, "node_modules/obug": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", @@ -2196,22 +6053,172 @@ ], "license": "MIT" }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "devOptional": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open/node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz", + "integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.0.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.6.1", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^1.1.0", + "log-symbols": "^5.1.0", + "stdin-discarder": "^0.1.0", + "strip-ansi": "^7.0.1", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "license": "MIT", "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" + "ansi-regex": "^6.2.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, "node_modules/p-limit": { @@ -2246,6 +6253,82 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true, + "license": "(MIT AND Zlib)" + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/password-prompt": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", + "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", + "dev": true, + "license": "0BSD", + "dependencies": { + "ansi-escapes": "^4.3.2", + "cross-spawn": "^7.0.3" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -2256,6 +6339,16 @@ "node": ">=8" } }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -2266,6 +6359,23 @@ "node": ">=8" } }, + "node_modules/path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "devOptional": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/pathe": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", @@ -2277,14 +6387,12 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, "license": "ISC" }, "node_modules/picomatch": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -2293,6 +6401,16 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", @@ -2302,11 +6420,20 @@ "node": ">=4" } }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { "version": "8.5.15", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", - "dev": true, "funding": [ { "type": "opencollective", @@ -2341,6 +6468,45 @@ "node": ">= 0.8.0" } }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "devOptional": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-ms": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.3.0.tgz", + "integrity": "sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "MIT" + }, "node_modules/protobufjs": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", @@ -2365,6 +6531,19 @@ "node": ">=12.0.0" } }, + "node_modules/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -2375,11 +6554,131 @@ "node": ">=6" } }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "license": "MIT" + }, + "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" + } + ], + "license": "MIT" + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esprima": "~4.0.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, "node_modules/rolldown": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.2.tgz", "integrity": "sha512-oZx5zVDtVB44AW3eaifgDml1gWRDZGvjcfdxonE4swNPG98PrrXjaO/KrnUjzlMnztCCRVlUueA1kCXhARGk6g==", - "dev": true, "license": "MIT", "dependencies": { "@oxc-project/types": "=0.132.0", @@ -2409,13 +6708,108 @@ "@rolldown/binding-win32-x64-msvc": "1.0.2" } }, + "node_modules/rrweb-cssom": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", + "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "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" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, "node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.1.0" + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "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/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" } }, "node_modules/semver": { @@ -2431,6 +6825,52 @@ "node": ">=10" } }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true, + "license": "MIT" + }, + "node_modules/sha.js": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", + "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", + "dev": true, + "license": "(MIT AND BSD-3-Clause)", + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.0" + }, + "bin": { + "sha.js": "bin.js" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", @@ -2473,16 +6913,110 @@ "dev": true, "license": "ISC" }, + "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/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "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/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "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": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/stackback": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", @@ -2497,6 +7031,187 @@ "dev": true, "license": "MIT" }, + "node_modules/stdin-discarder": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", + "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-length/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-length/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "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, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strtok3": { + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.5.tgz", + "integrity": "sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tokenizer/token": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, "node_modules/tinybench": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", @@ -2511,34 +7226,132 @@ "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyrainbow": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-buffer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz", + "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "node_modules/tinyglobby": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", - "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "node_modules/token-types": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.1.2.tgz", + "integrity": "sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==", "dev": true, "license": "MIT", "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.4" + "@borewit/text-codec": "^0.2.1", + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/tinyrainbow": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", - "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" } }, "node_modules/ts-api-utils": { @@ -2554,12 +7367,127 @@ "typescript": ">=4.8.4" } }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-poet": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-4.15.0.tgz", + "integrity": "sha512-sLLR8yQBvHzi9d4R1F4pd+AzQxBfzOSSjfxiJxQhkUoH5bL7RsAC6wgvtVUQdGqiCsyS9rT6/8X2FI7ipdir5g==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "lodash": "^4.17.15", + "prettier": "^2.5.1" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, + "node_modules/tsv": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/tsv/-/tsv-0.2.0.tgz", + "integrity": "sha512-GG6xbOP85giXXom0dS6z9uyDsxktznjpa1AuDlPrIXDqDnbhjr9Vk6Us8iz6U1nENL4CPS2jZDvIjEdaZsmc4Q==", + "dev": true, + "license": "MIT (ricardo.mit-license.org)" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/twirp-ts": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/twirp-ts/-/twirp-ts-2.5.0.tgz", + "integrity": "sha512-JTKIK5Pf/+3qCrmYDFlqcPPUx+ohEWKBaZy8GL8TmvV2VvC0SXVyNYILO39+GCRbqnuP6hBIF+BVr8ZxRz+6fw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@protobuf-ts/plugin-framework": "^2.0.7", + "camel-case": "^4.1.2", + "dot-object": "^2.1.4", + "path-to-regexp": "^6.2.0", + "ts-poet": "^4.5.0", + "yaml": "^1.10.2" + }, + "bin": { + "protoc-gen-twirp_ts": "protoc-gen-twirp_ts" + }, + "peerDependencies": { + "@protobuf-ts/plugin": "^2.5.0", + "ts-proto": "^1.81.3" + }, + "peerDependenciesMeta": { + "@protobuf-ts/plugin": { + "optional": true + }, + "ts-proto": { + "optional": true + } + } + }, + "node_modules/twirp-ts/node_modules/yaml": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.3.tgz", + "integrity": "sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==", + "devOptional": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -2585,6 +7513,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/typescript": { "version": "5.8.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", @@ -2623,12 +7566,48 @@ "typescript": ">=4.8.4 <6.1.0" } }, + "node_modules/uint8array-extras": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz", + "integrity": "sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/undici-types": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz", - "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "license": "MIT" }, + "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": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -2639,6 +7618,24 @@ "punycode": "^2.1.0" } }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, "node_modules/uuid": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.0.tgz", @@ -2652,11 +7649,17 @@ "uuid": "dist-node/bin/uuid" } }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "license": "MIT" + }, "node_modules/vite": { "version": "8.0.14", "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.14.tgz", "integrity": "sha512-s4BJJ+5y1pYL6Otw51FHhVJQhPnuRinKig64g/1+EUNaJsd3gCKdD31IPFvswUgW9/60QT9oFHbZHbQK5imcxw==", - "dev": true, "license": "MIT", "dependencies": { "lightningcss": "^1.32.0", @@ -2820,6 +7823,90 @@ } } }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-encoding/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/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -2836,6 +7923,28 @@ "node": ">= 8" } }, + "node_modules/which-typed-array": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.21.tgz", + "integrity": "sha512-zbRA8cVm6io/d5W8uIe2hblzN76/Wm3v/yiythQvr+dpBWeqhPSWIDNj4zOyHi4zKbMK6DN34Xsr9jPHJERAEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/why-is-node-running": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", @@ -2853,6 +7962,19 @@ "node": ">=8" } }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", @@ -2863,6 +7985,87 @@ "node": ">=0.10.0" } }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "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/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -2875,6 +8078,19 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/yoctocolors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/package.json b/package.json index d45bc20..0fff197 100644 --- a/package.json +++ b/package.json @@ -5,19 +5,33 @@ "license": "BSD-3-Clause", "type": "module", "scripts": { - "test": "npm run test:unit", - "test:unit": "vitest --run" + "build": "vite build", + "deploy": "npm run type-check && npm run lint && npm run test && devvit upload", + "dev": "devvit playtest", + "launch": "npm run deploy && devvit publish", + "lint": "eslint \"src/**/*.{ts,tsx}\"", + "login": "devvit login", + "test": "vitest run --config vitest.config.ts", + "type-check": "tsc --build" + }, + "engines": { + "node": ">=22.2.0" }, "dependencies": { - "@devvit/protos": "0.13.0", - "@devvit/public-api": "0.13.0", + "@devvit/start": "0.13.0", + "@devvit/web": "0.13.0", + "@hono/node-server": "^2.0.0", + "hono": "^4.11.7", "pluralize": "^8.0.0" }, "devDependencies": { "@fsvreddit/eslint-config": "github:fsvreddit/eslint-config", + "@types/node": "^22.19.7", "@types/pluralize": "^0.0.33", + "devvit": "0.13.0", "eslint": "^10.0.0", "typescript": "5.8.3", + "vite": "^8.0.0", "vitest": "^4.0.7" } } diff --git a/src/main.ts b/src/main.ts deleted file mode 100644 index 1a695bb..0000000 --- a/src/main.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Devvit } from "@devvit/public-api"; -import { handleNukeCommentForm, handleNukePostForm, nukeFormDefinition } from "./nuke.js"; -import { appSettings, getNukeDefaults } from "./settings.js"; -import { handleModAction, preCheckNukePermissions } from "./userPermissions.js"; - -Devvit.addSettings(appSettings); - -Devvit.configure({ - redditAPI: true, -}); - -Devvit.addTrigger({ - event: "ModAction", - onEvent: handleModAction, -}); - -const nukeForm = Devvit.createForm(nukeFormDefinition, handleNukeCommentForm); - -Devvit.addMenuItem({ - label: "Mop comments", - description: "Remove this comment and all child comments. This might take a few seconds to run.", - location: "comment", - forUserType: "moderator", - onPress: async (_, context) => { - if (!await preCheckNukePermissions(context)) { - return; - } - - const nukeData = { - title: "Mop comments", - ...await getNukeDefaults(context), - }; - - console.log(`${context.commentId}: Showing nuke comment form for user ${context.userId}`); - context.ui.showForm(nukeForm, nukeData); - }, -}); - -const nukePostForm = Devvit.createForm(nukeFormDefinition, handleNukePostForm); - -Devvit.addMenuItem({ - label: "Mop post comments", - description: "Remove all comments of this post. This might take a few seconds to run.", - location: "post", - forUserType: "moderator", - onPress: async (_, context) => { - if (!await preCheckNukePermissions(context)) { - return; - } - - const nukeData = { - title: "Mop post comments", - ...await getNukeDefaults(context), - }; - - console.log(`${context.postId}: Showing nuke post form for user ${context.userId}`); - context.ui.showForm(nukePostForm, nukeData); - }, -}); - -export default Devvit; diff --git a/src/nuke.ts b/src/nuke.ts deleted file mode 100644 index 459b760..0000000 --- a/src/nuke.ts +++ /dev/null @@ -1,192 +0,0 @@ -import { Comment, Context, FormFunction, FormOnSubmitEvent, JSONObject, Post } from "@devvit/public-api"; -import pluralize from "pluralize"; - -export enum NukeFormField { - Remove = "remove", - Lock = "lock", - SkipDistinguished = "skipDistinguished", - SkipAlreadyActioned = "skipAlreadyActioned", -} - -export const nukeFormDefinition: FormFunction = data => ({ - title: data.title as string, - fields: [ - { - name: NukeFormField.Remove, - label: "Remove comments", - type: "boolean", - defaultValue: data.remove as boolean, - }, - { - name: NukeFormField.Lock, - label: "Lock comments", - type: "boolean", - defaultValue: data.lock as boolean, - }, - { - name: NukeFormField.SkipDistinguished, - label: "Skip distinguished comments", - helpText: "If set, the app will not remove/lock comments with the Mod badge", - type: "boolean", - defaultValue: data.skipDistinguished as boolean, - }, - { - name: NukeFormField.SkipAlreadyActioned, - label: "Skip already actioned comments", - helpText: "If set, the app will not remove/lock comments that have already been removed/locked", - type: "boolean", - defaultValue: data.skipAlreadyActioned as boolean, - }, - ], - acceptLabel: "Mop", - cancelLabel: "Cancel", -}); - -export interface NukeProps { - remove: boolean; - lock: boolean; - skipDistinguished: boolean; - skipAlreadyActioned: boolean; - target: Post | Comment; -} - -interface ActionResult { - promises: Promise[]; - commentsActioned: number; -} - -async function actionAllCommentsInThread (comment: Comment, nukeProps: NukeProps): Promise { - const promises: Promise[] = []; - let actioned = false; - - if (nukeProps.remove && (!nukeProps.skipDistinguished || !comment.isDistinguished()) && (!nukeProps.skipAlreadyActioned || !comment.removed)) { - promises.push(comment.remove()); - actioned = true; - } - - if (nukeProps.lock && (!nukeProps.skipAlreadyActioned || !comment.locked)) { - promises.push(comment.lock()); - actioned = true; - } - - const replies = await comment.replies.all(); - const actions = await Promise.all(replies.map(reply => actionAllCommentsInThread(reply, nukeProps))); - - return { - promises: [...promises, ...actions.map(action => action.promises).flat()], - commentsActioned: (actioned ? 1 : 0) + actions.reduce((sum, action) => sum + action.commentsActioned, 0), - }; -} - -async function actionAllCommentsInPost (post: Post, nukeProps: NukeProps) { - const replies = await post.comments.all(); - const actions = await Promise.all(replies.map(reply => actionAllCommentsInThread(reply, nukeProps))); - - return { - promises: actions.map(action => action.promises).flat(), - commentsActioned: actions.reduce((sum, action) => sum + action.commentsActioned, 0), - }; -} - -export async function handleNukePostForm (event: FormOnSubmitEvent, context: Context) { - if (!context.postId) { - console.error("No post ID"); - throw new Error("No post ID"); - } - - const target = await context.reddit.getPostById(context.postId); - - const nukeProps: NukeProps = { - remove: event.values.remove as boolean, - lock: event.values.lock as boolean, - skipDistinguished: event.values.skipDistinguished as boolean, - skipAlreadyActioned: event.values.skipAlreadyActioned as boolean, - target, - }; - - if (!nukeProps.lock && !nukeProps.remove) { - context.ui.showToast("You must select either lock or remove."); - return; - } - - if (nukeProps.lock && !nukeProps.remove) { - if (target.locked) { - context.ui.showToast("The post is already locked. Locking individual comments is not necessary."); - } else { - await target.lock(); - context.ui.showToast("Rather than locking individual comments, the post has been locked."); - } - return; - } - - await handleNuke(nukeProps, context); -} - -export async function handleNukeCommentForm (event: FormOnSubmitEvent, context: Context) { - const { values } = event; - - if (!context.commentId) { - console.error("No comment ID"); - throw new Error("No comment ID"); - } - - const target = await context.reddit.getCommentById(context.commentId); - - const nukeProps: NukeProps = { - remove: values.remove as boolean, - lock: values.lock as boolean, - skipDistinguished: values.skipDistinguished as boolean, - skipAlreadyActioned: values.skipAlreadyActioned as boolean, - target, - }; - - await handleNuke(nukeProps, context); -} - -async function handleNuke (nukeProps: NukeProps, context: Context): Promise { - const start = Date.now(); - try { - let actionResult: ActionResult; - - if (nukeProps.target instanceof Comment) { - actionResult = await actionAllCommentsInThread(nukeProps.target, nukeProps); - } else { - actionResult = await actionAllCommentsInPost(nukeProps.target, nukeProps); - } - - const commentGatherEnd = Date.now(); - console.log(`${nukeProps.target.id}: Gathered ${actionResult.promises.length} ${pluralize("promises", actionResult.promises.length)} in ${commentGatherEnd - start}ms`); - if (actionResult.promises.length === 0) { - console.log(`${nukeProps.target.id}: No comments found to mop.`); - context.ui.showToast("No comments found to mop."); - return; - } - - const results = await Promise.allSettled(actionResult.promises); - - if (results.some(result => result.status === "rejected")) { - context.ui.showToast("Mop failed! Please try again later."); - return; - } - - const nukeEnd = Date.now(); - - const currentUsername = await context.reddit.getCurrentUsername(); - - let toastVerbage: string; - if (nukeProps.lock && nukeProps.remove) { - toastVerbage = "removed and locked"; - } else { - toastVerbage = nukeProps.lock ? "locked" : "removed"; - } - - console.log(`${nukeProps.target.id}: /u/${currentUsername} successfully ${toastVerbage} ${actionResult.commentsActioned} ${pluralize("comment", actionResult.commentsActioned)} in ${nukeEnd - commentGatherEnd}ms.`); - - context.ui.showToast({ - text: `Successfully ${toastVerbage} comments! Refresh the page to see the cleanup.`, - appearance: "success", - }); - } catch (e) { - console.error(`${nukeProps.target.id}: Failed to nuke comments after ${Date.now() - start}ms:`, e); - } -} diff --git a/src/server/core/commentMop.ts b/src/server/core/commentMop.ts new file mode 100644 index 0000000..62eb5aa --- /dev/null +++ b/src/server/core/commentMop.ts @@ -0,0 +1,112 @@ +import { Comment, Post, reddit } from "@devvit/web/server"; +import { UiResponse } from "@devvit/web/shared"; +import pluralize from "pluralize"; +import { NukeProps } from "."; + +interface ActionResult { + promises: Promise[]; + commentsActioned: number; +} + +async function actionAllCommentsInThread (comment: Comment, nukeProps: NukeProps): Promise { + const promises: Promise[] = []; + let actioned = false; + + if (nukeProps.remove && (!nukeProps.skipDistinguished || !comment.isDistinguished()) && (!nukeProps.skipAlreadyActioned || !comment.removed)) { + promises.push(comment.remove()); + actioned = true; + } + + if (nukeProps.lock && (!nukeProps.skipAlreadyActioned || !comment.locked)) { + promises.push(comment.lock()); + actioned = true; + } + + const replies = await comment.replies.all(); + const actions = await Promise.all(replies.map(reply => actionAllCommentsInThread(reply, nukeProps))); + + return { + promises: [...promises, ...actions.map(action => action.promises).flat()], + commentsActioned: (actioned ? 1 : 0) + actions.reduce((sum, action) => sum + action.commentsActioned, 0), + }; +} + +async function actionAllCommentsInPost (post: Post, nukeProps: NukeProps) { + const replies = await post.comments.all(); + const actions = await Promise.all(replies.map(reply => actionAllCommentsInThread(reply, nukeProps))); + + return { + promises: actions.map(action => action.promises).flat(), + commentsActioned: actions.reduce((sum, action) => sum + action.commentsActioned, 0), + }; +} + +export async function handleNuke (nukeProps: NukeProps): Promise { + const start = Date.now(); + + if (!nukeProps.remove && !nukeProps.lock) { + return { + showToast: { + text: "No action selected! Please select remove and/or lock.", + }, + }; + } + + try { + let actionResult: ActionResult; + + if ("parentId" in nukeProps.target) { // A good check for comments vs. posts + actionResult = await actionAllCommentsInThread(nukeProps.target, nukeProps); + } else { + actionResult = await actionAllCommentsInPost(nukeProps.target, nukeProps); + } + + const commentGatherEnd = Date.now(); + console.log(`${nukeProps.target.id}: Gathered ${actionResult.promises.length} ${pluralize("promises", actionResult.promises.length)} in ${commentGatherEnd - start}ms`); + if (actionResult.promises.length === 0) { + console.log(`${nukeProps.target.id}: No comments found to mop.`); + return { + showToast: { + text: "No comments found to mop.", + }, + }; + } + + const results = await Promise.allSettled(actionResult.promises); + + if (results.some(result => result.status === "rejected")) { + return { + showToast: { + text: "Mop failed! Please try again later.", + }, + }; + } + + const nukeEnd = Date.now(); + + const currentUsername = await reddit.getCurrentUsername(); + + let toastVerbage: string; + if (nukeProps.lock && nukeProps.remove) { + toastVerbage = "removed and locked"; + } else { + toastVerbage = nukeProps.lock ? "locked" : "removed"; + } + + console.log(`${nukeProps.target.id}: /u/${currentUsername} successfully ${toastVerbage} ${actionResult.commentsActioned} ${pluralize("comment", actionResult.commentsActioned)} in ${nukeEnd - commentGatherEnd}ms.`); + + return { + showToast: { + text: `Successfully ${toastVerbage} ${actionResult.commentsActioned} ${pluralize("comment", actionResult.commentsActioned)}! Refresh the page to see the cleanup.`, + appearance: "success", + }, + }; + } catch (e) { + console.error(`${nukeProps.target.id}: Failed to nuke comments after ${Date.now() - start}ms:`, e); + return { + showToast: { + text: "Mop failed! Please try again later.", + }, + }; + } +} diff --git a/src/server/core/constants.ts b/src/server/core/constants.ts new file mode 100644 index 0000000..08beb0a --- /dev/null +++ b/src/server/core/constants.ts @@ -0,0 +1,6 @@ +export enum NukeFormField { + Remove = "remove", + Lock = "lock", + SkipDistinguished = "skipDistinguished", + SkipAlreadyActioned = "skipAlreadyActioned", +} diff --git a/src/server/core/index.ts b/src/server/core/index.ts new file mode 100644 index 0000000..041e156 --- /dev/null +++ b/src/server/core/index.ts @@ -0,0 +1,5 @@ +export * from "./commentMop.js"; +export * from "./constants.js"; +export * from "./settings.js"; +export * from "./types.js"; +export * from "./userPermissions.js"; diff --git a/src/server/core/settings.ts b/src/server/core/settings.ts new file mode 100644 index 0000000..730dff5 --- /dev/null +++ b/src/server/core/settings.ts @@ -0,0 +1,12 @@ +import { settings } from "@devvit/web/server"; +import { NukeFormField } from "."; + +export async function getNukeDefaults () { + const appSettings = await settings.getAll(); + return { + remove: appSettings[NukeFormField.Remove] as boolean | undefined ?? true, + lock: appSettings[NukeFormField.Lock] as boolean | undefined ?? false, + skipDistinguished: appSettings[NukeFormField.SkipDistinguished] as boolean | undefined ?? false, + skipAlreadyActioned: appSettings[NukeFormField.SkipAlreadyActioned] as boolean | undefined ?? true, + }; +} diff --git a/src/server/core/types.ts b/src/server/core/types.ts new file mode 100644 index 0000000..359f5c1 --- /dev/null +++ b/src/server/core/types.ts @@ -0,0 +1,9 @@ +import { Comment, Post } from "@devvit/web/server"; + +export interface NukeProps { + remove: boolean; + lock: boolean; + skipDistinguished: boolean; + skipAlreadyActioned: boolean; + target: Post | Comment; +} diff --git a/src/server/core/userPermissions.ts b/src/server/core/userPermissions.ts new file mode 100644 index 0000000..e5361d9 --- /dev/null +++ b/src/server/core/userPermissions.ts @@ -0,0 +1,73 @@ +import { context, reddit, redis, User } from "@devvit/web/server"; +import { UiResponse } from "@devvit/web/shared"; + +function getPermissionsCacheKey (userId: string) { + return `permissionsCache:${userId}`; +} + +async function getCurrentUser (): Promise { + // First, attempt to get user by conventional means. + try { + const user = await reddit.getCurrentUser(); + return user; + } catch (error) { + console.error("Error fetching current user using getCurrentUser():", error); + } + + // Fall back to getting the user from the moderators list. + const moderators = await reddit.getModerators({ + subredditName: context.subredditName, + username: await reddit.getCurrentUsername(), + }).all(); + + return moderators.find(moderator => moderator.id === context.userId); +} + +export async function canCurrentUserManagePostsAndComments (): Promise { + if (!context.userId) { + console.error("No user ID found"); + return; + } + + const start = Date.now(); + + const cachedValue = await redis.get(getPermissionsCacheKey(context.userId)); + if (cachedValue) { + console.log(`Cache hit for user ${context.userId}, can nuke: ${cachedValue}. Cache lookup took ${Date.now() - start}ms`); + return JSON.parse(cachedValue) as boolean; + } + + const currentUser = await getCurrentUser(); + if (!currentUser) { + console.error("Current user could not be retrieved or is not a mod."); + return false; + } + + const modPermissions = await currentUser.getModPermissionsForSubreddit(context.subredditName); + const canManagePosts = modPermissions.includes("all") || modPermissions.includes("posts"); + + const keyExpiry = Date.now() + 1000 * 28 * 24 * 60 * 60; // 28 days + await redis.set(getPermissionsCacheKey(currentUser.id), JSON.stringify(canManagePosts), { expiration: new Date(keyExpiry) }); + + console.log(`Cache miss for user ${currentUser.username}, can nuke: ${canManagePosts}. Lookup took ${Date.now() - start}ms`); + return canManagePosts; +} + +export async function preCheckNukePermissions (): Promise { + const canManagePostsAndComments = await canCurrentUserManagePostsAndComments(); + if (canManagePostsAndComments === undefined) { + return { + showToast: "Could not determine your mod permissions. Please try again later.", + }; + } + + if (!canManagePostsAndComments) { + return { + showToast: "You do not have the correct mod permissions to do this.", + }; + } +} + +export async function clearModPermissionsForUser (userId: string) { + await redis.del(getPermissionsCacheKey(userId)); +} diff --git a/src/server/forms/index.ts b/src/server/forms/index.ts new file mode 100644 index 0000000..81587a1 --- /dev/null +++ b/src/server/forms/index.ts @@ -0,0 +1 @@ +export * from "./mopComments.js"; diff --git a/src/server/forms/mopComments.ts b/src/server/forms/mopComments.ts new file mode 100644 index 0000000..e142da7 --- /dev/null +++ b/src/server/forms/mopComments.ts @@ -0,0 +1,49 @@ +import { Comment, context, Post, reddit } from "@devvit/web/server"; +import { isT1, isT3, UiResponse } from "@devvit/web/shared"; +import type { Context } from "hono"; +import { handleNuke, NukeFormField, NukeProps } from "../core"; + +interface NukeFormOptions { + [NukeFormField.Remove]: boolean; + [NukeFormField.Lock]: boolean; + [NukeFormField.SkipDistinguished]: boolean; + [NukeFormField.SkipAlreadyActioned]: boolean; +} + +export const handleMopCommentsForm = async (c: Context) => { + const request = await c.req.json(); + + console.log(`Mopping via commentId ${context.commentId} or postId ${context.postId}`); + const targetId = context.commentId ?? context.postId; + + if (!targetId) { + return c.json({ + showToast: { + text: "Error: No comment or post context found.", + }, + }); + } + + let target: Post | Comment; + if (isT1(targetId)) { + target = await reddit.getCommentById(targetId); + } else if (isT3(targetId)) { + target = await reddit.getPostById(targetId); + } else { + return c.json({ + showToast: { + text: "Error: Invalid mop target.", + }, + }); + } + + const nukeProps: NukeProps = { + remove: request.remove, + lock: request.lock, + skipDistinguished: request.skipDistinguished, + skipAlreadyActioned: request.skipAlreadyActioned, + target, + }; + + return c.json(await handleNuke(nukeProps), 200); +}; diff --git a/src/server/index.ts b/src/server/index.ts new file mode 100644 index 0000000..6ccc34e --- /dev/null +++ b/src/server/index.ts @@ -0,0 +1,25 @@ +import { Hono } from "hono"; +import { createServer, getServerPort } from "@devvit/web/server"; +import { getRequestListener } from "@hono/node-server"; +import { onModAction } from "./triggers"; +import { handleMopCommentsMenu } from "./menus"; +import { handleMopCommentsForm } from "./forms"; + +const application = new Hono(); + +// Triggers +application.post("/internal/triggers/mod-action", onModAction); + +// Menus +application.post("/internal/menus/mop-comments", handleMopCommentsMenu); + +// Forms +application.post("/internal/forms/mop-comments", handleMopCommentsForm); + +const server = createServer(getRequestListener(application.fetch)); +server.on("error", (err) => { + console.error(`server error; ${err.stack}`); +}); + +const port = getServerPort(); +server.listen(port); diff --git a/src/server/menus/index.ts b/src/server/menus/index.ts new file mode 100644 index 0000000..81587a1 --- /dev/null +++ b/src/server/menus/index.ts @@ -0,0 +1 @@ +export * from "./mopComments.js"; diff --git a/src/server/menus/mopComments.ts b/src/server/menus/mopComments.ts new file mode 100644 index 0000000..be036d1 --- /dev/null +++ b/src/server/menus/mopComments.ts @@ -0,0 +1,66 @@ +import { UiResponse } from "@devvit/web/shared"; +import type { Context } from "hono"; +import { getNukeDefaults, NukeFormField, preCheckNukePermissions } from "../core"; +import { context } from "@devvit/web/server"; + +export const handleMopCommentsMenu = async (c: Context) => { + const modCheckResult = await preCheckNukePermissions(); + + if (modCheckResult) { + return c.json(modCheckResult); + } + + console.log(`Showing mop form via commentId ${context.commentId} or postId ${context.postId}`); + + let formTitle: string; + if (context.commentId) { + formTitle = "Mop comments"; + } else if (context.postId) { + formTitle = "Mop post comments"; + } else { + return c.json({ + showToast: { + text: "Error: No comment or post context found.", + }, + }); + } + + const nukeDefaults = await getNukeDefaults(); + + return c.json({ + showForm: { + name: "mopComments", + form: { + title: formTitle, + fields: [ + { + name: NukeFormField.Remove, + type: "boolean", + label: "Remove comments", + defaultValue: nukeDefaults.remove, + }, + { + name: NukeFormField.Lock, + type: "boolean", + label: "Lock comments", + defaultValue: nukeDefaults.lock, + }, + { + name: NukeFormField.SkipDistinguished, + type: "boolean", + label: "Skip distinguished comments", + helpText: "If set, the app will not remove/lock comments with the Mod badge", + defaultValue: nukeDefaults.skipDistinguished, + }, + { + name: NukeFormField.SkipAlreadyActioned, + type: "boolean", + label: "Skip already actioned comments", + helpText: "If set, the app will not remove/lock comments that have already been removed/locked", + defaultValue: nukeDefaults.skipAlreadyActioned, + }, + ], + }, + }, + }); +}; diff --git a/src/server/triggers/index.ts b/src/server/triggers/index.ts new file mode 100644 index 0000000..8cef0d3 --- /dev/null +++ b/src/server/triggers/index.ts @@ -0,0 +1 @@ +export * from "./modAction.js"; diff --git a/src/server/triggers/modAction.ts b/src/server/triggers/modAction.ts new file mode 100644 index 0000000..ccf777c --- /dev/null +++ b/src/server/triggers/modAction.ts @@ -0,0 +1,24 @@ +import { OnModActionRequest, TriggerResponse } from "@devvit/web/shared"; +import type { Context } from "hono"; +import { clearModPermissionsForUser } from "../core"; + +export const onModAction = async (c: Context) => { + const modActionRequest = await c.req.json(); + + if (!modActionRequest.action || !modActionRequest.targetUser?.id) { + return c.json({ message: "invalid mod action request" }, 200); + } + + const relevantModActions = [ + "addmoderator", + "invitemoderator", + "permissions", + "removemoderator", + ]; + + if (relevantModActions.includes(modActionRequest.action)) { + await clearModPermissionsForUser(modActionRequest.targetUser.id); + } + + return c.json({ message: "mod action handled" }, 200); +}; diff --git a/src/settings.test.ts b/src/settings.test.ts deleted file mode 100644 index c0521c1..0000000 --- a/src/settings.test.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { SettingsFormFieldGroup } from "@devvit/public-api"; -import { NukeFormField } from "./nuke.js"; -import { appSettings } from "./settings.js"; - -test("All nuke form fields are also available in settings", () => { - const nukeFields = Object.values(NukeFormField); - const settingsFields = (appSettings as SettingsFormFieldGroup).fields; - const settingsFieldNames = Object.values(settingsFields).filter(field => "name" in field).map(field => field.name); - - const nukeFieldsWithoutSetting = nukeFields.filter(field => !settingsFieldNames.includes(field)); - - expect(nukeFieldsWithoutSetting).toEqual([]); -}); diff --git a/src/settings.ts b/src/settings.ts deleted file mode 100644 index 381dcc6..0000000 --- a/src/settings.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { Context, SettingsFormField } from "@devvit/public-api"; -import { NukeFormField } from "./nuke.js"; - -export const appSettings: SettingsFormField = { - type: "group", - label: "Comment Mop defaults", - helpText: "This allows you to set the default values for the 'Mop Comments' form, if the standard defaults don't suit your workflow.", - fields: [ - { - name: NukeFormField.Remove, - type: "boolean", - label: "Remove comments", - defaultValue: true, - }, - { - name: NukeFormField.Lock, - type: "boolean", - label: "Lock comments", - defaultValue: false, - }, - { - name: NukeFormField.SkipDistinguished, - label: "Skip distinguished comments", - helpText: "If set, the app will not remove/lock comments with the Mod badge", - type: "boolean", - defaultValue: false, - }, - { - name: NukeFormField.SkipAlreadyActioned, - label: "Skip already actioned comments", - helpText: "If set, the app will not remove/lock comments that have already been removed/locked", - type: "boolean", - defaultValue: true, - }, - ], -}; - -export async function getNukeDefaults (context: Context) { - const settings = await context.settings.getAll(); - return { - remove: settings[NukeFormField.Remove] as boolean | undefined ?? true, - lock: settings[NukeFormField.Lock] as boolean | undefined ?? false, - skipDistinguished: settings[NukeFormField.SkipDistinguished] as boolean | undefined ?? false, - skipAlreadyActioned: settings[NukeFormField.SkipAlreadyActioned] as boolean | undefined ?? true, - }; -} diff --git a/src/userPermissions.ts b/src/userPermissions.ts deleted file mode 100644 index 87fffbd..0000000 --- a/src/userPermissions.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { ModAction } from "@devvit/protos"; -import { Context, TriggerContext, User } from "@devvit/public-api"; - -function getPermissionsCacheKey (userId: string) { - return `permissionsCache:${userId}`; -} - -async function getCurrentUser (context: Context): Promise { - // First, attempt to get user by conventional means. - try { - const user = await context.reddit.getCurrentUser(); - return user; - } catch (error) { - console.error("Error fetching current user using getCurrentUser():", error); - } - - // Fall back to getting the user from the moderators list. - const moderators = await context.reddit.getModerators({ - subredditName: context.subredditName ?? await context.reddit.getCurrentSubredditName(), - username: await context.reddit.getCurrentUsername(), - }).all(); - - return moderators.find(moderator => moderator.id === context.userId); -} - -export async function canCurrentUserManagePostsAndComments (context: Context): Promise { - if (!context.userId) { - console.error("No user ID found"); - return; - } - - const start = Date.now(); - - const cachedValue = await context.redis.get(getPermissionsCacheKey(context.userId)); - if (cachedValue) { - console.log(`Cache hit for user ${context.userId}, can nuke: ${cachedValue}. Cache lookup took ${Date.now() - start}ms`); - return JSON.parse(cachedValue) as boolean; - } - - const currentUser = await getCurrentUser(context); - if (!currentUser) { - console.error("Current user could not be retrieved or is not a mod."); - return false; - } - - const modPermissions = await currentUser.getModPermissionsForSubreddit(context.subredditName ?? await context.reddit.getCurrentSubredditName()); - const canManagePosts = modPermissions.includes("all") || modPermissions.includes("posts"); - - const keyExpiry = Date.now() + 1000 * 28 * 24 * 60 * 60; // 28 days - await context.redis.set(getPermissionsCacheKey(currentUser.id), JSON.stringify(canManagePosts), { expiration: new Date(keyExpiry) }); - - console.log(`Cache miss for user ${currentUser.username}, can nuke: ${canManagePosts}. Lookup took ${Date.now() - start}ms`); - return canManagePosts; -} - -export async function preCheckNukePermissions (context: Context): Promise { - const canManagePostsAndComments = await canCurrentUserManagePostsAndComments(context); - if (canManagePostsAndComments === undefined) { - context.ui.showToast("Could not determine your mod permissions. Please try again later."); - return false; - } - - if (!canManagePostsAndComments) { - context.ui.showToast("You do not have the correct mod permissions to do this."); - return false; - } - - return true; -} - -export async function handleModAction (event: ModAction, context: TriggerContext) { - if (!event.action || !event.targetUser?.id) { - return; - } - - const relevantModActions = [ - "addmoderator", - "invitemoderator", - "permissions", - "removemoderator", - ]; - - if (!relevantModActions.includes(event.action)) { - return; - } - - await context.redis.del(getPermissionsCacheKey(event.targetUser.id)); - console.log(`Cleared permissions cache for user ${event.targetUser.id} due to mod action ${event.action}`); -} diff --git a/tools/tsconfig.base.json b/tools/tsconfig.base.json new file mode 100644 index 0000000..d07745c --- /dev/null +++ b/tools/tsconfig.base.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig.json", + "compilerOptions": { + "composite": true, + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "exactOptionalPropertyTypes": true, + "forceConsistentCasingInFileNames": true, + "noImplicitOverride": true, + "noUncheckedIndexedAccess": true, + "noUncheckedSideEffectImports": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "resolveJsonModule": true, + "strict": true, + "types": [], + "isolatedModules": true, + "esModuleInterop": true, + "module": "ESNext", + "moduleResolution": "Bundler", + "skipLibCheck": true, + "skipDefaultLibCheck": true, + "sourceMap": true, + "target": "ES2022", + "lib": ["DOM", "ES2023", "esnext.disposable"], + "jsx": "react-jsx" + } +} diff --git a/tools/tsconfig.server.json b/tools/tsconfig.server.json new file mode 100644 index 0000000..b2391fb --- /dev/null +++ b/tools/tsconfig.server.json @@ -0,0 +1,13 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "outDir": "../dist/types/server", + "tsBuildInfoFile": "../dist/types/server/tsconfig.tsbuildinfo", + "customConditions": [], + "types": ["node", "vitest/globals"], + "exactOptionalPropertyTypes": false, + "rootDir": "../src/server" + }, + "include": ["../src/server/**/*"], + "exclude": [] +} diff --git a/tools/tsconfig.vite.json b/tools/tsconfig.vite.json new file mode 100644 index 0000000..10012b9 --- /dev/null +++ b/tools/tsconfig.vite.json @@ -0,0 +1,11 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "outDir": "../dist/types/tools", + "tsBuildInfoFile": "../dist/types/tools/tsconfig.vite.tsbuildinfo", + "types": ["node"], + "rootDir": ".." + }, + "include": ["../vite.config.ts", "../vitest.config.ts"], + "exclude": [] +} diff --git a/tsconfig.json b/tsconfig.json index 910e87a..ef71e0c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,12 +1,7 @@ { - "extends": "@devvit/public-api/devvit.tsconfig.json", - "compilerOptions": { - "lib": ["ES2021", "WebWorker"] - }, - "exclude": [ - "**/node_modules", - "dist", - "**/.*/", - "eslint.config.mjs" - ], + "files": [], + "references": [ + { "path": "./tools/tsconfig.server.json" }, + { "path": "./tools/tsconfig.vite.json" } + ] } diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..72ade35 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,6 @@ +import { defineConfig } from "vite"; +import { devvit } from "@devvit/start/vite"; + +export default defineConfig({ + plugins: [devvit()], +}); diff --git a/vitest.config.ts b/vitest.config.ts index 1bdcfeb..56c8003 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,3 +1,8 @@ import { defineConfig } from "vitest/config"; -export default defineConfig({ test: { globals: true } }); +export default defineConfig({ + test: { + environment: "node", + include: ["src/**/*.test.ts"], + }, +}); From 5b6cf83bd47fcd7e1c207334727631ccec8fbdc5 Mon Sep 17 00:00:00 2001 From: fsvreddit <97185438+fsvreddit@users.noreply.github.com> Date: Sun, 31 May 2026 16:21:22 +0100 Subject: [PATCH 03/15] Disable test step in CI workflow due to absence of test files --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6425b04..ba761f4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,4 +14,4 @@ jobs: - run: npx eslint - run: npm run type-check - run: npm run build - - run: npm run test + # - run: npm run test # No test files in this solution From 59b6d466fa9f21344b97c5346b3c9c4c7613d81f Mon Sep 17 00:00:00 2001 From: fsvreddit <97185438+fsvreddit@users.noreply.github.com> Date: Sun, 31 May 2026 16:42:34 +0100 Subject: [PATCH 04/15] Update readme and implement restricted mods feature #4 --- README.md | 6 + devvit.json | 5 + package-lock.json | 193 ++++++++++++++--------------- src/server/core/settings.ts | 8 ++ src/server/core/userPermissions.ts | 12 +- 5 files changed, 125 insertions(+), 99 deletions(-) diff --git a/README.md b/README.md index 798043f..6c9325d 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,12 @@ Comment Mop is open source and licensed under the BSD Three Clause license. [The ## Change History +### v9.3.0 (coming soon) + +* "Success" message now tells you how many comments were locked/removed +* Add ability to configure a list of mods who may not use Comment Mop, such as for mods during a probationary period +* Update to latest Dev Platform version + ### v9.2.3 * More reliable mopping of extremely large threads diff --git a/devvit.json b/devvit.json index f819df5..cb257ee 100644 --- a/devvit.json +++ b/devvit.json @@ -54,6 +54,11 @@ "helpText": "If set, comments already removed or locked (depending on what actions have been selected) won't get removed or locked again. Generally speaking, this is the desired behavior.", "type": "boolean", "defaultValue": true + }, + "restrictedMods": { + "label": "Restricted Mods", + "type": "string", + "helpText": "A comma-separated list of mods who may not use Comment Mop. Not case sensitive." } } }, diff --git a/package-lock.json b/package-lock.json index a90a4ef..b80a2e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -779,16 +779,6 @@ "node": ">=20" } }, - "node_modules/@devvit/cli/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/@devvit/cli/node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -1194,9 +1184,9 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz", - "integrity": "sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.2.tgz", + "integrity": "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1567,16 +1557,6 @@ "node": ">=12.0.0" } }, - "node_modules/@oclif/plugin-not-found/node_modules/fast-levenshtein": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz", - "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "fastest-levenshtein": "^1.0.7" - } - }, "node_modules/@oclif/plugin-warn-if-update-available": { "version": "2.0.45", "resolved": "https://registry.npmjs.org/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-2.0.45.tgz", @@ -2163,16 +2143,6 @@ "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/@typescript-eslint/parser": { "version": "8.60.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.60.0.tgz", @@ -2600,19 +2570,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "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, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -3038,19 +2995,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/chokidar/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, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/clean-git-ref": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-2.0.1.tgz", @@ -3655,9 +3599,9 @@ } }, "node_modules/eslint": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.4.0.tgz", - "integrity": "sha512-loXy6bWOoP3EP6JA7jo6p5jMpBJmHmsNZM5SFRHLdh1MGOPurMnNBj4ZlAbaqUAaQWbCr7jHV4P7gzAyryZWkQ==", + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.4.1.tgz", + "integrity": "sha512-AyIKhnOBuOAdueD7RB3xB+YeAWScb9jHsJBgH2Hcde8InP5JYhqrRR6iTMHyTEwgENK54Cp44e4v8BwNhsuHuw==", "dev": true, "license": "MIT", "dependencies": { @@ -3666,7 +3610,7 @@ "@eslint/config-array": "^0.23.5", "@eslint/config-helpers": "^0.6.0", "@eslint/core": "^1.2.1", - "@eslint/plugin-kit": "^0.7.1", + "@eslint/plugin-kit": "^0.7.2", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", @@ -3773,6 +3717,29 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/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": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/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": { + "node": ">= 4" + } + }, "node_modules/espree": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", @@ -3937,19 +3904,6 @@ "node": ">=8.6.0" } }, - "node_modules/fast-glob/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, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -3958,11 +3912,14 @@ "license": "MIT" }, "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz", + "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "fastest-levenshtein": "^1.0.7" + } }, "node_modules/fastest-levenshtein": { "version": "1.0.16", @@ -4332,16 +4289,16 @@ } }, "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==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "license": "ISC", "dependencies": { - "is-glob": "^4.0.3" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=10.13.0" + "node": ">= 6" } }, "node_modules/glob/node_modules/balanced-match": { @@ -4403,6 +4360,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "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": { + "node": ">= 4" + } + }, "node_modules/globrex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", @@ -4650,9 +4617,9 @@ "license": "BSD-3-Clause" }, "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, "license": "MIT", "engines": { @@ -5186,6 +5153,16 @@ "node": ">=14.17" } }, + "node_modules/isomorphic-git/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": { + "node": ">= 4" + } + }, "node_modules/jake": { "version": "10.9.4", "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", @@ -5915,6 +5892,18 @@ "npm": ">=10" } }, + "node_modules/moderndash/node_modules/type-fest": { + "version": "4.27.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.27.0.tgz", + "integrity": "sha512-3IMSWgP7C5KSQqmo1wjhKrwsvXAtF33jO3QY+Uy++ia7hqvgSK6iXbbg5PbDBc1P2ZbNEDgejOrN4YooXvhwCw==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -6132,6 +6121,13 @@ "node": ">= 0.8.0" } }, + "node_modules/optionator/node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, "node_modules/ora": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz", @@ -7220,9 +7216,9 @@ "license": "MIT" }, "node_modules/tinyexec": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.3.tgz", - "integrity": "sha512-g62dB+w1/OEFnPvmX0yd/HnetYITOL+1nJW7kitOycOeAvmbWC/nu0fwmmQ/kupNojqExzyC/T++pST/jRJ2mQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", + "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", "dev": true, "license": "MIT", "engines": { @@ -7230,9 +7226,9 @@ } }, "node_modules/tinyglobby": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", - "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", "license": "MIT", "dependencies": { "fdir": "^6.5.0", @@ -7502,12 +7498,13 @@ } }, "node_modules/type-fest": { - "version": "4.27.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.27.0.tgz", - "integrity": "sha512-3IMSWgP7C5KSQqmo1wjhKrwsvXAtF33jO3QY+Uy++ia7hqvgSK6iXbbg5PbDBc1P2ZbNEDgejOrN4YooXvhwCw==", + "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, "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=16" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" diff --git a/src/server/core/settings.ts b/src/server/core/settings.ts index 730dff5..36b94ac 100644 --- a/src/server/core/settings.ts +++ b/src/server/core/settings.ts @@ -10,3 +10,11 @@ export async function getNukeDefaults () { skipAlreadyActioned: appSettings[NukeFormField.SkipAlreadyActioned] as boolean | undefined ?? true, }; } + +export enum AppSetting { + Remove = "remove", + Lock = "lock", + SkipDistinguished = "skipDistinguished", + SkipAlreadyActioned = "skipAlreadyActioned", + RestrictedMods = "restrictedMods", +} diff --git a/src/server/core/userPermissions.ts b/src/server/core/userPermissions.ts index e5361d9..4ee4226 100644 --- a/src/server/core/userPermissions.ts +++ b/src/server/core/userPermissions.ts @@ -1,5 +1,6 @@ -import { context, reddit, redis, User } from "@devvit/web/server"; +import { context, reddit, redis, settings, User } from "@devvit/web/server"; import { UiResponse } from "@devvit/web/shared"; +import { AppSetting } from "./settings"; function getPermissionsCacheKey (userId: string) { return `permissionsCache:${userId}`; @@ -43,6 +44,15 @@ export async function canCurrentUserManagePostsAndComments (): Promise(AppSetting.RestrictedMods); + if (restrictedModsVal) { + const restrictedMods = new Set(restrictedModsVal.split(",").map(mod => mod.trim().toLowerCase())); + if (restrictedMods.has(currentUser.username.toLowerCase())) { + console.error("Current user is restricted from using Comment Mop."); + return false; + } + } + const modPermissions = await currentUser.getModPermissionsForSubreddit(context.subredditName); const canManagePosts = modPermissions.includes("all") || modPermissions.includes("posts"); From e8b33d2fc6785968c7b75d86feb7c2b4d42ae130 Mon Sep 17 00:00:00 2001 From: fsvreddit <97185438+fsvreddit@users.noreply.github.com> Date: Sun, 31 May 2026 16:42:37 +0100 Subject: [PATCH 05/15] Add tests --- .github/workflows/test.yml | 2 +- src/server/core/nukeFormFieldParity.test.ts | 21 ++++++++++ src/server/core/settingsParity.test.ts | 46 +++++++++++++++++++++ 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 src/server/core/nukeFormFieldParity.test.ts create mode 100644 src/server/core/settingsParity.test.ts diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ba761f4..6425b04 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,4 +14,4 @@ jobs: - run: npx eslint - run: npm run type-check - run: npm run build - # - run: npm run test # No test files in this solution + - run: npm run test diff --git a/src/server/core/nukeFormFieldParity.test.ts b/src/server/core/nukeFormFieldParity.test.ts new file mode 100644 index 0000000..96ac584 --- /dev/null +++ b/src/server/core/nukeFormFieldParity.test.ts @@ -0,0 +1,21 @@ +import { describe, expect, test } from "vitest"; + +import { NukeFormField } from "./constants.js"; +import { AppSetting } from "./settings.js"; + +function getMissingValues (source: string[], target: string[]): string[] { + const targetSet = new Set(target); + return source.filter(value => !targetSet.has(value)).sort(); +} + +describe("NukeFormField parity", () => { + test("every NukeFormField entry is represented in AppSetting", () => { + const formFieldValues = Object.values(NukeFormField).sort(); + const appSettingValues = Object.values(AppSetting).sort(); + + expect( + getMissingValues(formFieldValues, appSettingValues), + "Missing in AppSetting enum", + ).toEqual([]); + }); +}); diff --git a/src/server/core/settingsParity.test.ts b/src/server/core/settingsParity.test.ts new file mode 100644 index 0000000..c75df51 --- /dev/null +++ b/src/server/core/settingsParity.test.ts @@ -0,0 +1,46 @@ +import { describe, expect, test } from "vitest"; + +import devvitConfig from "../../../devvit.json"; +import { AppSetting } from "./settings.js"; + +interface DevvitConfig { + settings?: Record>; +} + +function getDevvitSettingKeys (): string[] { + const config = devvitConfig as DevvitConfig; + const settingsByScope = Object.values(config.settings ?? {}); + + return [...new Set(settingsByScope.flatMap(scopeSettings => Object.keys(scopeSettings)))].sort(); +} + +function getAppSettingValues (): string[] { + return Object.values(AppSetting).sort(); +} + +function getMissingValues (source: string[], target: string[]): string[] { + const targetSet = new Set(target); + return source.filter(value => !targetSet.has(value)).sort(); +} + +describe("App settings parity", () => { + test("devvit.json settings are all represented in AppSetting", () => { + const devvitSettings = getDevvitSettingKeys(); + const appSettings = getAppSettingValues(); + + expect( + getMissingValues(devvitSettings, appSettings), + "Missing in AppSetting enum", + ).toEqual([]); + }); + + test("AppSetting entries are all represented in devvit.json settings", () => { + const devvitSettings = getDevvitSettingKeys(); + const appSettings = getAppSettingValues(); + + expect( + getMissingValues(appSettings, devvitSettings), + "Missing in devvit.json settings", + ).toEqual([]); + }); +}); From 9fb44b3fdc33139c4ec8236cd1bad8fc03f99ec6 Mon Sep 17 00:00:00 2001 From: fsvreddit <97185438+fsvreddit@users.noreply.github.com> Date: Mon, 15 Jun 2026 11:46:36 +0100 Subject: [PATCH 06/15] Update Devvit and dependencies --- package-lock.json | 752 +++++++++++++++++++++++----------------------- package.json | 8 +- 2 files changed, 383 insertions(+), 377 deletions(-) diff --git a/package-lock.json b/package-lock.json index b80a2e6..54a4a71 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,8 @@ "version": "0.11.19", "license": "BSD-3-Clause", "dependencies": { - "@devvit/start": "0.13.0", - "@devvit/web": "0.13.0", + "@devvit/start": "0.13.3", + "@devvit/web": "0.13.3", "@hono/node-server": "^2.0.0", "hono": "^4.11.7", "pluralize": "^8.0.0" @@ -19,7 +19,7 @@ "@fsvreddit/eslint-config": "github:fsvreddit/eslint-config", "@types/node": "^22.19.7", "@types/pluralize": "^0.0.33", - "devvit": "0.13.0", + "devvit": "0.13.3", "eslint": "^10.0.0", "typescript": "5.8.3", "vite": "^8.0.0", @@ -183,15 +183,15 @@ } }, "node_modules/@devvit/build-pack": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/build-pack/-/build-pack-0.13.0.tgz", - "integrity": "sha512-i4ZK/Js9uZ0yYXarnTVmK5/Ad2yRXKE97nvUuEv/Hb3eQ7PGqi+jAsOMmcW0m1naugt5pKq6iDc71yAtAUIAeg==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/build-pack/-/build-pack-0.13.3.tgz", + "integrity": "sha512-0TazQ2NQyH8ARc/byEgdkzLb82Vy7ufkCVBC99JvWhpTuDFMih9iXvAqiZuG8xdkl7jzpcfP9rh8oavgfPwPcw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/payments": "0.13.0", - "@devvit/protos": "0.13.0", - "@devvit/shared-types": "0.13.0", + "@devvit/payments": "0.13.3", + "@devvit/protos": "0.13.3", + "@devvit/shared-types": "0.13.3", "@types/node": "20.14.12", "esbuild": "0.25.9", "rxjs": "7.8.1", @@ -705,42 +705,42 @@ "license": "MIT" }, "node_modules/@devvit/builders": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/builders/-/builders-0.13.0.tgz", - "integrity": "sha512-FAOOz5QfvJumSMKY0aq2zh5AIxohuPyse/0zvxVhrOUZv1YJsmpgtEBQeffd4mIcRsaT7P1FwK4k+Hs1MLCgPA==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/builders/-/builders-0.13.3.tgz", + "integrity": "sha512-GB23/Ua1WGVQSPacpV8aoNHVO+z72Z3sEtf5xX4YqgYNuFCkL9b9OiqlPI0E3SGV3NeB1H6AX+56TTO/9CvRsA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.13.0", - "@devvit/linkers": "0.13.0", - "@devvit/protos": "0.13.0", - "@devvit/shared-types": "0.13.0" + "@devvit/build-pack": "0.13.3", + "@devvit/linkers": "0.13.3", + "@devvit/protos": "0.13.3", + "@devvit/shared-types": "0.13.3" } }, "node_modules/@devvit/cache": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/cache/-/cache-0.13.0.tgz", - "integrity": "sha512-FTINxu3xYvXOprDdeFJMdk7ggnEH/yOHDrQQUCvzVoeaT7xtyCVqLHQuif9BXYJe/BypXpbYIEATB/bg/2yiqg==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/cache/-/cache-0.13.3.tgz", + "integrity": "sha512-gdRhPygbuo9wk16OY9ObQseXwXUJLBcM0DV9+YQL/hs1F4HxvqJzjh3psp6FV7KcldpXjFbQwri/91Vohlu9Zg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/redis": "0.13.0", - "@devvit/server": "0.13.0", - "@devvit/shared-types": "0.13.0" + "@devvit/redis": "0.13.3", + "@devvit/server": "0.13.3", + "@devvit/shared-types": "0.13.3" } }, "node_modules/@devvit/cli": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/cli/-/cli-0.13.0.tgz", - "integrity": "sha512-XHEeRMF/zJZG2kkILIuPVBQySAKOtNatPnxNlhAupgNsP+I7HVXV8zIksitNYd/zTgJvlqwwYvJLIy8kgIu8rw==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/cli/-/cli-0.13.3.tgz", + "integrity": "sha512-cXAS3NkPkEhyJTXtcTgFwh0ZzK3Ppr1uFHUN6agP8eXhPioelFHwuczf0EKLVXDGzOdHBkDhEK+eY1SLL4MlmA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.13.0", - "@devvit/builders": "0.13.0", - "@devvit/linkers": "0.13.0", - "@devvit/protos": "0.13.0", - "@devvit/public-api": "0.13.0", - "@devvit/shared-types": "0.13.0", + "@devvit/build-pack": "0.13.3", + "@devvit/builders": "0.13.3", + "@devvit/linkers": "0.13.3", + "@devvit/protos": "0.13.3", + "@devvit/public-api": "0.13.3", + "@devvit/shared-types": "0.13.3", "@improbable-eng/grpc-web": "0.15.0", "@improbable-eng/grpc-web-node-http-transport": "0.15.0", "@oclif/core": "2.9.4", @@ -770,7 +770,7 @@ "string-length": "5.0.1", "tiny-glob": "0.2.9", "twirp-ts": "2.5.0", - "ws": "8.18.0" + "ws": "8.20.1" }, "bin": { "devvit-cli": "bin/devvit.js" @@ -793,82 +793,82 @@ } }, "node_modules/@devvit/client": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/client/-/client-0.13.0.tgz", - "integrity": "sha512-c60Sk3S7eoQTIDEKTbCCv2207W4VqdvygnXCwEIX1OM2ux14bG5/vHHQmps7TK9YCc3TDZ4a4ZQ4tiV0pOv0dw==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/client/-/client-0.13.3.tgz", + "integrity": "sha512-J3NMaT5YXhy+5DYCzCx9QX/Vf/oviZPHMjwOhQqvJWcPwHw/UjzMJhHrZ5HcPDQ9o4imZv/lyo7QkBEeUlxc+g==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.0", - "@devvit/shared": "0.13.0", - "@devvit/shared-types": "0.13.0", - "@devvit/web-view-scripts": "0.13.0" + "@devvit/protos": "0.13.3", + "@devvit/shared": "0.13.3", + "@devvit/shared-types": "0.13.3", + "@devvit/web-view-scripts": "0.13.3" } }, "node_modules/@devvit/linkers": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/linkers/-/linkers-0.13.0.tgz", - "integrity": "sha512-aw3AD5NHJZqESPUY//5OiwVVFPO+vKzHoDfTr0nMf9yTj0PzNJzKR0ZO7SGF/GRrmaX/JS4XlyT6t8epUAPuEw==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/linkers/-/linkers-0.13.3.tgz", + "integrity": "sha512-qynXm2eYBTyARx/kJQVjFrBby7BoyUlH0DR23btNsCAYQCZ0iOnZrBkysj1NGpHQ2cJHStfAEx8wBKQp4Gk4NA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.13.0", - "@devvit/protos": "0.13.0", - "@devvit/shared-types": "0.13.0" + "@devvit/build-pack": "0.13.3", + "@devvit/protos": "0.13.3", + "@devvit/shared-types": "0.13.3" } }, "node_modules/@devvit/media": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/media/-/media-0.13.0.tgz", - "integrity": "sha512-830Yuqwb/RTzPhSZzI7fnATE2yVNS/ZuV0chwz+7fgaYQIJf8XDf9W4HtMiNinovp3zdC8jm0hQ03/P4iv0Jqg==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/media/-/media-0.13.3.tgz", + "integrity": "sha512-qmkHzBRY7/dfdM2irk0k0Z5X+2Tp+6R858qnlafKhsvrMirdDisZ/PjiUN5BEM4i7xF5/iDSDZluNcgdup8gOw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.0" + "@devvit/protos": "0.13.3" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/metrics": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/metrics/-/metrics-0.13.0.tgz", - "integrity": "sha512-EkWG3af8WFUCB5xc41hQzsehr6FWbcwLOcC83Bv71Pgaldceq+/wAWaDSR7xnrxnesuiSvc7xE2KH/wTsgQirg==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/metrics/-/metrics-0.13.3.tgz", + "integrity": "sha512-Wi4hv6vsZ2SXhWn2jSY+YOkbQZVNEsM28SJJ8oD+Inip1Aq/EAmN6+Hz29KBv3ULmpUJd6J1+S2w/HnvVbFDNQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.0" + "@devvit/protos": "0.13.3" } }, "node_modules/@devvit/notifications": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/notifications/-/notifications-0.13.0.tgz", - "integrity": "sha512-Y5JtZxuB3pOx4aw+Kd3vn/xV+hlvfYck4Xs77y1407C4k2wv7A0m//AWVfALMVExgwYzREKkZgmDN7S1UHGKpA==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/notifications/-/notifications-0.13.3.tgz", + "integrity": "sha512-3IgAcHNmLEZ347ljuYQfJpNMMfp/n1suYpWXfTNx69HBQb+kyJXoetYdFwXdlI5wY6NcsTPhDl6pUVbjRHGYyg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.0", - "@devvit/shared-types": "0.13.0" + "@devvit/protos": "0.13.3", + "@devvit/shared-types": "0.13.3" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/payments": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/payments/-/payments-0.13.0.tgz", - "integrity": "sha512-NmJhxi5Y9Vy0h/rbdmdazx+TR/3mOSgEgJBuRfBTk97ESaAeHPC7HpNJMZT8UJwlbnATxwZUkfzyqpGe0tU9oA==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/payments/-/payments-0.13.3.tgz", + "integrity": "sha512-hMmUodsBSl5KCKDOHEVKlJXdCQ+gGiQIsWmGlyHYGg2FhK5bOzMOQXXer0Mfx+w5Q0eQl34buRIBpN/GoPSRBg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.0", - "@devvit/public-api": "0.13.0", - "@devvit/server": "0.13.0", - "@devvit/shared-types": "0.13.0" + "@devvit/protos": "0.13.3", + "@devvit/public-api": "0.13.3", + "@devvit/server": "0.13.3", + "@devvit/shared-types": "0.13.3" } }, "node_modules/@devvit/protos": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.13.0.tgz", - "integrity": "sha512-FVWEp5ewx61dIVXx9G44IUMpJu7CJuL+RikoymifCPOS/AFJUkgSliYNUwDrhop8eJ6j4jfIqWUu+JMjVUGxow==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.13.3.tgz", + "integrity": "sha512-cwAsPLq3rhjgLoq1zeyqYNLuxnk5dgqezEVNin0mPWXH2kMWXusAJ464JBYkbrzZecu+GSh2uKiTWUl+cAbCsw==", "license": "BSD-3-Clause", "dependencies": { - "protobufjs": "7.5.4", + "protobufjs": "7.5.8", "rxjs": "7.8.1" }, "peerDependencies": { @@ -881,15 +881,15 @@ } }, "node_modules/@devvit/public-api": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.13.0.tgz", - "integrity": "sha512-JRyAoZHxLl1NAGkNaYr86K4w6Gz2hqbGsh9gnooEXBr5DFldxyS7S6g8gxfYLr5nRhJ5Pn5hxHaMH8lUtIBf/Q==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.13.3.tgz", + "integrity": "sha512-j73c7aGP3V+hBoWc6Y3QF4QqDd3PsR1wFUdl88klgtWOdIFD2oszIBJoYW0xvAHsYwAeRQtQU9TiAmLYhsg2EA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/metrics": "0.13.0", - "@devvit/protos": "0.13.0", - "@devvit/shared": "0.13.0", - "@devvit/shared-types": "0.13.0", + "@devvit/metrics": "0.13.3", + "@devvit/protos": "0.13.3", + "@devvit/shared": "0.13.3", + "@devvit/shared-types": "0.13.3", "base64-js": "1.5.1", "clone-deep": "4.0.1", "jwt-decode": "4.0.0", @@ -897,14 +897,14 @@ } }, "node_modules/@devvit/realtime": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/realtime/-/realtime-0.13.0.tgz", - "integrity": "sha512-eJjPxlTVByH39AxIv6/tLtAciBeWWE8TM62BjCbeNELFQfXTppPAujre6UViD/Ms/BeqOltHXyUIWJySQ/1jfg==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/realtime/-/realtime-0.13.3.tgz", + "integrity": "sha512-Ts3leo21C98TPZeNzPjR30IM/mh2c8SU0oSvFSQA7zrTSkYE7IdtJyBQR04bwRDYK6Wd4Yci1Pmw80CvT7uUVg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.0", - "@devvit/shared": "0.13.0", - "@devvit/shared-types": "0.13.0", + "@devvit/protos": "0.13.3", + "@devvit/shared": "0.13.3", + "@devvit/shared-types": "0.13.3", "rxjs": "7.8.1" }, "peerDependencies": { @@ -913,100 +913,100 @@ } }, "node_modules/@devvit/reddit": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/reddit/-/reddit-0.13.0.tgz", - "integrity": "sha512-vy4zmRVnNrJc1g4thItnBBVsPMkIOm8spN7cnlATZABEQ7iXqZZJXK4GyNDTZej1vmS6zhK/WQnoBACLDNCn9w==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/reddit/-/reddit-0.13.3.tgz", + "integrity": "sha512-uVMIBkjSmgJkMLEer47iOnE0wTiuP9Q74YfIXpWJPmqhHnhzTBYC46VoVR3BeuJazsbuAoUkGLx6eNI7iuMd1g==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.0", - "@devvit/shared": "0.13.0", - "@devvit/shared-types": "0.13.0" + "@devvit/protos": "0.13.3", + "@devvit/shared": "0.13.3", + "@devvit/shared-types": "0.13.3" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/redis": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/redis/-/redis-0.13.0.tgz", - "integrity": "sha512-8FXCxLxWgcDjlfUbwqsL1892ycYmL5Qa42FtMsNUM+CbiTCkCV5mmguhd7TZnuyrh1Ad5UfEKD3wfZHdWJt1nw==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/redis/-/redis-0.13.3.tgz", + "integrity": "sha512-U4HnzM+6p31UdwIvmr9jTw+tFSF0JWuGu32Ly9TWE4GaUCAdTC3sLK1z0Fgs9If05EC40qc1odaDSPbVrKYWww==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.0", - "@devvit/shared-types": "0.13.0" + "@devvit/protos": "0.13.3", + "@devvit/shared-types": "0.13.3" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/scheduler": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/scheduler/-/scheduler-0.13.0.tgz", - "integrity": "sha512-zv6Vu/YqRnM8XjW51N3G6YDeGgMlDgasjaryB962BaP+gz8YStFAPRq67sWnothI+Kr3BQzHCfR3EKHrtuagLA==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/scheduler/-/scheduler-0.13.3.tgz", + "integrity": "sha512-dQzi/DG5IYUvYQ6apJtP2/2mdilWM7FcZd3bch24POo207x7nkiO4vVCH8iIoGxk0jF0nrF31kii482B6fmkkg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.0", - "@devvit/shared": "0.13.0", - "@devvit/shared-types": "0.13.0" + "@devvit/protos": "0.13.3", + "@devvit/shared": "0.13.3", + "@devvit/shared-types": "0.13.3" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/server": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/server/-/server-0.13.0.tgz", - "integrity": "sha512-do6Us1NjqERYPUUBpVtx2DQ4G+oBQOG3QODIwasxkUVx6TY8AeANGM0Y4FyM16hEp8Qc6oQnrhd56v5+uCPUKA==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/server/-/server-0.13.3.tgz", + "integrity": "sha512-NGkYt278rO7fYESgutzUU14sLpl9WgxGaYP4hc5jBqQJtRZUWzN9A2p9hYW10jqxNy4HR2wSqGKqFHeNVe2itA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.0", - "@devvit/public-api": "0.13.0", - "@devvit/shared": "0.13.0", - "@devvit/shared-types": "0.13.0" + "@devvit/protos": "0.13.3", + "@devvit/public-api": "0.13.3", + "@devvit/shared": "0.13.3", + "@devvit/shared-types": "0.13.3" } }, "node_modules/@devvit/settings": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/settings/-/settings-0.13.0.tgz", - "integrity": "sha512-h6yY3s/dnD+jm0YM5wx7Fbig5sSWsJbqA3cJfXtbr12owI3A4/umIN1wuHIDaKzTNYc/Pz9LTqFhNCnregh0Ig==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/settings/-/settings-0.13.3.tgz", + "integrity": "sha512-Plj872PIKZahOFxj0866qtSNaaZ1kpaNif40/Zn5Bh1EoxuwCf1VUi7nOeQ/kCOrS7eJnaiTfxiqRjpnXHKJxw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.0", - "@devvit/shared": "0.13.0", - "@devvit/shared-types": "0.13.0" + "@devvit/protos": "0.13.3", + "@devvit/shared": "0.13.3", + "@devvit/shared-types": "0.13.3" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/shared": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.13.0.tgz", - "integrity": "sha512-d5uDxq0b1gNEIk+IMAr7N1txLS23P/IGMfCQlx9pfy2bqLict0vfArBn1dkcbtKLzjwcBHZICkSRApjNdFEv7Q==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.13.3.tgz", + "integrity": "sha512-49/FYp9m8FmPFBz4FR1Z9RNT4alji3lkSFXJsJO0jwC0FGDInbie5uiUNSF9qGq+qWHYE6UYxIGpcuv+P8C5UQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.0", - "@devvit/shared-types": "0.13.0" + "@devvit/protos": "0.13.3", + "@devvit/shared-types": "0.13.3" } }, "node_modules/@devvit/shared-types": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.13.0.tgz", - "integrity": "sha512-egldUa/gAO/RBXzTdSPMS9Zn+c8GXvf3rxgdgb8C8gv9Oc6kvku/RuWcItqe9nFh+9f4xCh+Q3CdZnJ67V9tFA==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.13.3.tgz", + "integrity": "sha512-KLlPxvq6QGm6PPtXj2jMFpQwKmF1vmFXqZn/pgCYdL2hDiYdRKCt5bGBfHUax/ZCrNmL7zPcQw01OVIfu/3gaA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.0", + "@devvit/protos": "0.13.3", "jsonschema": "1.4.1", "uuid": "14.0.0" } }, "node_modules/@devvit/start": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/start/-/start-0.13.0.tgz", - "integrity": "sha512-yV6yIz8yttDSOvj+Rn8TuPufc4YZpJeOmP+TKxEmau00hv0yQwijfJO5t6IZ15/RD2PhPIOEWwiFBOzcfFaG0w==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/start/-/start-0.13.3.tgz", + "integrity": "sha512-5Ez0wrhqBOS2cvHm5e04oMJKkzn0gvHgXYP+AAz3CbY9CmeiGLBh+Qq0ej2ckyy8K6o79WA4bQ/Pmei7TnF3GQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/shared-types": "0.13.0", + "@devvit/shared-types": "0.13.3", "chalk": "4.1.2" }, "peerDependencies": { @@ -1014,34 +1014,34 @@ } }, "node_modules/@devvit/web": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/web/-/web-0.13.0.tgz", - "integrity": "sha512-HeHrRE0mOEKo9nK0vdJ0UutKp+rwlQq8TrYc9ORj1jILaj5OGswzLxFOfNaJr82RTnXJ7EuGxCqzxRYYpBa3NQ==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/web/-/web-0.13.3.tgz", + "integrity": "sha512-5PC3e323cS0LE0VtLvykDuyMPyTgZwsnZVbIcj71wx/hpQjGNMjYQ1fMq3eZJ3b0xCg97IZR6xS0n8yt/JfToA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/cache": "0.13.0", - "@devvit/client": "0.13.0", - "@devvit/media": "0.13.0", - "@devvit/notifications": "0.13.0", - "@devvit/payments": "0.13.0", - "@devvit/realtime": "0.13.0", - "@devvit/reddit": "0.13.0", - "@devvit/redis": "0.13.0", - "@devvit/scheduler": "0.13.0", - "@devvit/server": "0.13.0", - "@devvit/settings": "0.13.0", - "@devvit/shared": "0.13.0" + "@devvit/cache": "0.13.3", + "@devvit/client": "0.13.3", + "@devvit/media": "0.13.3", + "@devvit/notifications": "0.13.3", + "@devvit/payments": "0.13.3", + "@devvit/realtime": "0.13.3", + "@devvit/reddit": "0.13.3", + "@devvit/redis": "0.13.3", + "@devvit/scheduler": "0.13.3", + "@devvit/server": "0.13.3", + "@devvit/settings": "0.13.3", + "@devvit/shared": "0.13.3" } }, "node_modules/@devvit/web-view-scripts": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@devvit/web-view-scripts/-/web-view-scripts-0.13.0.tgz", - "integrity": "sha512-0BW2Ue8qZZKv90MkNjmzXvQsupNq3yOVCdFOnRgsx5EBf1jtpKNkkM5i/J5zNCt6h+vRqlYEovx0uIOsqAu5mw==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@devvit/web-view-scripts/-/web-view-scripts-0.13.3.tgz", + "integrity": "sha512-MtC+v+2ht/Vy7aaU3VvgM1xskULMGBmmMR2xLwTW4OCm8c83eNxa/o3+LmyVhinkdmuZwp26pcBRqtB7V5lq8w==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.0", - "@devvit/shared": "0.13.0", - "@devvit/shared-types": "0.13.0", + "@devvit/protos": "0.13.3", + "@devvit/shared": "0.13.3", + "@devvit/shared-types": "0.13.3", "html-to-image": "1.11.13", "jwt-decode": "4.0.0" } @@ -1343,13 +1343,13 @@ } }, "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", - "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.5.tgz", + "integrity": "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==", "license": "MIT", "optional": true, "dependencies": { - "@tybys/wasm-util": "^0.10.1" + "@tybys/wasm-util": "^0.10.2" }, "funding": { "type": "github", @@ -1577,9 +1577,9 @@ } }, "node_modules/@oxc-project/types": { - "version": "0.132.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.132.0.tgz", - "integrity": "sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ==", + "version": "0.133.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.133.0.tgz", + "integrity": "sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/Boshen" @@ -1681,9 +1681,9 @@ "license": "BSD-3-Clause" }, "node_modules/@rolldown/binding-android-arm64": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.2.tgz", - "integrity": "sha512-ZS4D1JPGn/MYQN/SYDWftIE/nVsM8j/AFOYEzAoOE2O3NktQOZru+/vYXGbR/qtdLdIfGCP0lcoJiYVzsEz+iQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.3.tgz", + "integrity": "sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw==", "cpu": [ "arm64" ], @@ -1697,9 +1697,9 @@ } }, "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.2.tgz", - "integrity": "sha512-vdFA9+C/rekyGce7WqHs/xoT0ioZEWaOFyZLIV1mEeNFaFDUQrPIo8Vs2GvJ6eetb3rzDUtUBgzto3ExpXJB3w==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.3.tgz", + "integrity": "sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA==", "cpu": [ "arm64" ], @@ -1713,9 +1713,9 @@ } }, "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.2.tgz", - "integrity": "sha512-BewSOwTHazv77DTYiAZXSqqKZ4KP/KonFisDMVU7PImxoWfB2aepnPhd2E4SWz3zDzYgDNbs6jBmTdgNnF02GA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.3.tgz", + "integrity": "sha512-9YpfeUvSE2RS7wysJ81uOZkXJz7f7Q55H2Gvp3VEw/EsahqDtrphrZ0EwDLK5vvKOzaCrBsjF8JmnMLcUt78Gg==", "cpu": [ "x64" ], @@ -1729,9 +1729,9 @@ } }, "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.2.tgz", - "integrity": "sha512-m41o7M0YWtUdqk61Tb+jnKb2rN++iRdIASlExkUoKfIAH30DOHCB8fVLzSUpbWHHU8esmEioY62PxzexE8MBuA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.3.tgz", + "integrity": "sha512-yB1IlAsSNHncV6SCTL27/MVGR5htvQsoGxIv5KMGXALp+Ll1wYsn+x98M9MW7qa+NdSbvrrY7ANI4wLJ0n1e6g==", "cpu": [ "x64" ], @@ -1745,9 +1745,9 @@ } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.2.tgz", - "integrity": "sha512-jcojB9H7W/jS29pMKWAK1N+fU99vXodHDTatS3b3y/XSOCiHo0kkA74pL3jJmkoQtYpOCxDvaKs1fo2Ij/1X5w==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.3.tgz", + "integrity": "sha512-Yi30IVAAfLUCy2MseFjbB1jAMDl1VMCAas5StnYp8da9+CKvMd2H2cbEjWcw5NPaPqzvYkVIaF1nNUG+b7u/sw==", "cpu": [ "arm" ], @@ -1761,9 +1761,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.2.tgz", - "integrity": "sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.3.tgz", + "integrity": "sha512-jsO7R8To+AdlYgUmN5sHSCZbfhtMBkO0WUx8iORQnPcMMdgr7qM2DQmMwgabs3GhNztdmoKkMKQFHD6DTMCIQw==", "cpu": [ "arm64" ], @@ -1777,9 +1777,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.2.tgz", - "integrity": "sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.3.tgz", + "integrity": "sha512-VWkUHwWriDciit80wleYwKILoR/KMvxh/IdwS/paX+ZgpuRpCrKLUdadJbc0NpBEiyhpYawsJ73j9aCvOH+f7Q==", "cpu": [ "arm64" ], @@ -1793,9 +1793,9 @@ } }, "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.2.tgz", - "integrity": "sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.3.tgz", + "integrity": "sha512-5f1laC0SlIR0yDbFCd8acUhvJIag6N3zC5P7oUPN6wX0aOma+uKJ0wBDH5aq7I1PVI2ttTlhJwzwRIBnLiSGEg==", "cpu": [ "ppc64" ], @@ -1809,9 +1809,9 @@ } }, "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.2.tgz", - "integrity": "sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.3.tgz", + "integrity": "sha512-Iq4ko0r4XsgbrF/LunNgHtAGLRRVE2kXonAXQ/MV0mC6jQpMOhW1SvtZja2EhC/kd05++bP78dsqBeIQyYJ6Yg==", "cpu": [ "s390x" ], @@ -1825,9 +1825,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.2.tgz", - "integrity": "sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.3.tgz", + "integrity": "sha512-B8m6tD5+/N5FeNQFbKlLA/2yVq9ycQP1SeedyEYYKWBNR3ZQbkvIUcNnDNM03lO1l5F2roiiFJGgvoLLyZXtSg==", "cpu": [ "x64" ], @@ -1841,9 +1841,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.2.tgz", - "integrity": "sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.3.tgz", + "integrity": "sha512-pSdpdUJHkuCxun9LE7jvgUB9qsRgaiyNNCX7m/AvHTcq67AiT/Yhoxvw5zPfhrM8k/BfP8ce/hMOpthKDpEUow==", "cpu": [ "x64" ], @@ -1857,9 +1857,9 @@ } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.2.tgz", - "integrity": "sha512-1v5vHasdfQAZoEHakBV72LIFAC9JjnymsiKxp+GEr/ma3+NJCPSaYK+qavInOovJkgwFrs7GccX2d6IgDA3Z5w==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.3.tgz", + "integrity": "sha512-OXXS3RKJgX2uLwM+gYyuH5omcH8fL1LJs96pZGgtetVCahON57+d4SJHzTgZiOjxgGkSnpXpOsWuPDGAKAigEg==", "cpu": [ "arm64" ], @@ -1873,9 +1873,9 @@ } }, "node_modules/@rolldown/binding-wasm32-wasi": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.2.tgz", - "integrity": "sha512-mb1VobWn6NheziTk5/WEaR6AKVbrwT5sOi6C7zk3gy/pD1qtJfU1j4PgTo2NJnOtbL9Dl3Aeei8w9jJ7qC2jZQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.3.tgz", + "integrity": "sha512-JTtb8BWFynicNSoPrehsCzBtOKjZ6jhMiPFEmOiuXg1Fl8dn2KHQob+GuPSGR0dryQa1PQJbzjF3dqO/whhjLg==", "cpu": [ "wasm32" ], @@ -1891,9 +1891,9 @@ } }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.2.tgz", - "integrity": "sha512-SqKonF56vA/L2yHwHYcEp2P34URpOZ7d1fS635cTkpDnUtEGdUbhI6NzsPdqeSWvAAeGDrxjWjNmibDIdFf9/A==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.3.tgz", + "integrity": "sha512-gEdFFEN70A/jxb2svrWsN3aDL7OUtmvlOy+6fa2jxG8K0wQ1ZbdeLGnidov6Yu5/733dI5ySfzFlQ/cb0bSz1g==", "cpu": [ "arm64" ], @@ -1907,9 +1907,9 @@ } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.2.tgz", - "integrity": "sha512-v7qRI7gXLRINcOGXt+7YmAZ6iFuyZVMIoXAxhd8oP+DR9dLfL9GfNIx7PLMxmhZdvq8waUJBQiWN9EKNy+TRBQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.3.tgz", + "integrity": "sha512-eXB7CHuaQdqmJcc3koCNtNPmT/bj2gc999kUFgBxG8Ac0NdgXc4rkCHhqrgrhN3zddvvvrgzj1e90SuSfmyIXA==", "cpu": [ "x64" ], @@ -2089,9 +2089,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.19.19", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.19.tgz", - "integrity": "sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew==", + "version": "22.19.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.21.tgz", + "integrity": "sha512-VMeFBSCKQKmm2swI2kW51SFusDqekC6q9trBCvJ/JliDchFSuoYYKN7yVNjPthP1HKZcx3U1gI/wTcEBjEFKTA==", "license": "MIT", "dependencies": { "undici-types": "~6.21.0" @@ -2115,17 +2115,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.60.0.tgz", - "integrity": "sha512-QYb/sa74/s7OKMbACMjrYnGspj9Hs5YI5aaffSL65UfeBUzVzBJfVo3oWSpbzPurvm7yaCCo2Lk7lVj610HqKw==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.61.0.tgz", + "integrity": "sha512-bFNvl9ZczlVb+wR2Akszf3gHfKVj/8WanXaGJ3UstTA7brNKg0cNdk6X1Psu5V7MZ2oQtzZKOEzIUehaoxbDGw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.60.0", - "@typescript-eslint/type-utils": "8.60.0", - "@typescript-eslint/utils": "8.60.0", - "@typescript-eslint/visitor-keys": "8.60.0", + "@typescript-eslint/scope-manager": "8.61.0", + "@typescript-eslint/type-utils": "8.61.0", + "@typescript-eslint/utils": "8.61.0", + "@typescript-eslint/visitor-keys": "8.61.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -2138,22 +2138,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.60.0", + "@typescript-eslint/parser": "^8.61.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.60.0.tgz", - "integrity": "sha512-fcqpj/MyK4sxDPcbe7STNPbpQL4RLZOPWuaTmwZYuc+hJKzRf58yRxfhqGpc6PIq9ZyfSBpfHgmUHmHs0KwHwg==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.61.0.tgz", + "integrity": "sha512-5B7PfA2e1NQGCnDHd/0lW7W3gvp3d59Ryw54FYO8Uswxo9f6ikw3AZV+Xj/TvpImmpsiYyUqAfhC6kJID1jF6w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.60.0", - "@typescript-eslint/types": "8.60.0", - "@typescript-eslint/typescript-estree": "8.60.0", - "@typescript-eslint/visitor-keys": "8.60.0", + "@typescript-eslint/scope-manager": "8.61.0", + "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/typescript-estree": "8.61.0", + "@typescript-eslint/visitor-keys": "8.61.0", "debug": "^4.4.3" }, "engines": { @@ -2169,14 +2169,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.60.0.tgz", - "integrity": "sha512-aZu74NNKJeUWqCjDddzdiKaS82dgYgV/vmf+Ui3ZdZejmgfXR/q+pRumgobnQ2cCJTgGTWp4ypiwsuofFubavg==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.61.0.tgz", + "integrity": "sha512-DV42F7MLJO6Rax7SK1yg43tcnEfGUrurSpSxKuVX+a3RCTzBlH3fuxprrOJXKCJGAaw82xXocikJ0uQaqwXgGA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.60.0", - "@typescript-eslint/types": "^8.60.0", + "@typescript-eslint/tsconfig-utils": "^8.61.0", + "@typescript-eslint/types": "^8.61.0", "debug": "^4.4.3" }, "engines": { @@ -2191,14 +2191,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.60.0.tgz", - "integrity": "sha512-pFzqhllJMs+jghLQWzV00ds39xLzuyqPSev5pd8f4Ir0rtKR3ZLUB4/4dhjOFighWb9larvtfJvqL+4yKDI3Xw==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.61.0.tgz", + "integrity": "sha512-IWdXFHFSb6mlC3HPc7QsLDm5zYEbUla6trDEHf32D3/dnuUyXd87plScSNXSbm0/RxMvObpI17sv/EDTGrGZkA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.60.0", - "@typescript-eslint/visitor-keys": "8.60.0" + "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/visitor-keys": "8.61.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2209,9 +2209,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.60.0.tgz", - "integrity": "sha512-BZPR3RGYlAXnly6ymAxfkVn5rCbZzQNou0rxv3GfWZ8cTQp+hhVd73khbGLAd8k1TlAPLISH337M+tAgAnaJDQ==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.61.0.tgz", + "integrity": "sha512-O5Amvdv9ztMpxpf+vmFULGG78IE6Qwdr3bCGvqwG4nwc9H2qXkOYJJnRbRHyMkQTjv1d03olqwwwzHLMqpFePQ==", "dev": true, "license": "MIT", "engines": { @@ -2226,15 +2226,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.60.0.tgz", - "integrity": "sha512-SX46wEUtitCpq7AN38HkUU/+zvUpdKf7ephtWAFgckH8O7PQIyL5gvrhQgBLuEYgLfuKWOVvWVskMbuFHAz5xg==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.61.0.tgz", + "integrity": "sha512-TuBiQYIkd97yBfInHCTKVYMbX4kvEmpOEuixIuzCU9p8BGT1SfyyO0d0IfDMbPIHcjn/hWnusUX5e8v5Xg+X8A==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.60.0", - "@typescript-eslint/typescript-estree": "8.60.0", - "@typescript-eslint/utils": "8.60.0", + "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/typescript-estree": "8.61.0", + "@typescript-eslint/utils": "8.61.0", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -2251,9 +2251,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.60.0.tgz", - "integrity": "sha512-AsE7x2XaAK+CVbeih0Fvbn+r1qHxtpLDJ3XUuFcIinT318T90yHMJC+Zgv+jUuDjQQd06HKwxnDu6sz1IcTilA==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.61.0.tgz", + "integrity": "sha512-9QTQpZ5Iin4CdIodfbDQFSeiSJKidgYJYug1P9CC2xWgUTvlmixViqDZNciMjwLBZyJnG4tGmPl97rVAFb1AJg==", "dev": true, "license": "MIT", "engines": { @@ -2265,16 +2265,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.60.0.tgz", - "integrity": "sha512-3AcZNBGMClm6CXDyo8kYvVGT/sx29sS0oBsIb9oZI2gunA4Vm2M3YHzRLPvsUBBsl+yB5FPtltq7gGH0iTlp9g==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.61.0.tgz", + "integrity": "sha512-42zatd5qSvvcV1JdDBCLxYRznvP4eIHpPoZXdkPFnAmanA4FuZ5dibSnCBggY8hQnqajPpoGjXFdZ7fIJKQnlA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.60.0", - "@typescript-eslint/tsconfig-utils": "8.60.0", - "@typescript-eslint/types": "8.60.0", - "@typescript-eslint/visitor-keys": "8.60.0", + "@typescript-eslint/project-service": "8.61.0", + "@typescript-eslint/tsconfig-utils": "8.61.0", + "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/visitor-keys": "8.61.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -2293,16 +2293,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.60.0.tgz", - "integrity": "sha512-HtXuPfrHTyBDkameWpl+vJb1Uevu2tznAyahM1Oc4AENidCLTPiZDWIo4GfcxNdC/RcfGcadzzkqbRG87dUrQA==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.61.0.tgz", + "integrity": "sha512-3bzFt7ImFMW/jVYwJamDoe/dMOdFLSC6pom6rRjdh4SZJEYupyMzem8e7vKZLclLfpHjlwSAXOUxtKxGXUiLqA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.60.0", - "@typescript-eslint/types": "8.60.0", - "@typescript-eslint/typescript-estree": "8.60.0" + "@typescript-eslint/scope-manager": "8.61.0", + "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/typescript-estree": "8.61.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2317,13 +2317,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.60.0.tgz", - "integrity": "sha512-9WI52t8ZGLVGrPMBet25yAftqY/n95+zmoUUtJBBQTKDSKUu7OsPTroT2op7U9JatkoRccL0YkWDNMFfC4Sjxg==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.61.0.tgz", + "integrity": "sha512-QVLZu3ZPQEE+HICQyAMZ2yLQhxf0meY/wx6Hx14YcTNj13JB3qHlX3lJ02L3fLGHgERRH71kvYDwiXIguT3AjQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.60.0", + "@typescript-eslint/types": "8.61.0", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -2348,9 +2348,9 @@ } }, "node_modules/@vitest/eslint-plugin": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.6.18.tgz", - "integrity": "sha512-J6U4X0jH3NwTuYouvrJn6I8ypTOU+GhKEjyVwpoPnDuc23usa/xi/R0caWLBbNp3xLy3/rL1YkuJuneTMVV4Mg==", + "version": "1.6.20", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.6.20.tgz", + "integrity": "sha512-xRwWHFG0Utp6hXtbGiWk4VdKXCGdExD8kbWrrmFEiG5dk8anOJ+vbWbeOa8EbkocKQRTsx7JAWETccZiBgFp/Q==", "dev": true, "license": "MIT", "dependencies": { @@ -2379,16 +2379,16 @@ } }, "node_modules/@vitest/expect": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.7.tgz", - "integrity": "sha512-1R+tw0ortHEbZDGMymm+pN7/AFQ/RkFFdtd7EN+VBpynKmLbP8A3rpEXdshBJ7+8hQ9zBJh/i1s0yKNtxAnU7w==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.9.tgz", + "integrity": "sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA==", "dev": true, "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.1.0", "@types/chai": "^5.2.2", - "@vitest/spy": "4.1.7", - "@vitest/utils": "4.1.7", + "@vitest/spy": "4.1.9", + "@vitest/utils": "4.1.9", "chai": "^6.2.2", "tinyrainbow": "^3.1.0" }, @@ -2397,13 +2397,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.7.tgz", - "integrity": "sha512-vY7nuamKgfvpA1Koa3oYIw/k7D6kZnpGyNMZW8loow2bsBYla1TFdqTaXncWdRn4pgwNs+90RhnXhJScDwQeJA==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.9.tgz", + "integrity": "sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "4.1.7", + "@vitest/spy": "4.1.9", "estree-walker": "^3.0.3", "magic-string": "^0.30.21" }, @@ -2424,9 +2424,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.7.tgz", - "integrity": "sha512-umgCarTOYQWIaDMvGDRZij+6b9oVeLIyJzfN+AS88e0ZOU3QTgNNSTtjQOpcvWr3np1N0j4WgZj+sb3oYBDscw==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.9.tgz", + "integrity": "sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==", "dev": true, "license": "MIT", "dependencies": { @@ -2437,13 +2437,13 @@ } }, "node_modules/@vitest/runner": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.7.tgz", - "integrity": "sha512-BapjmAQ2aI78WdMEfeUWivnfVzB+VPGwWRQcJE0OUq7qEeEcBsCSf+0T5iREBNE5nBb4wA5Ya0W6IA+sghdEFw==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.9.tgz", + "integrity": "sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.1.7", + "@vitest/utils": "4.1.9", "pathe": "^2.0.3" }, "funding": { @@ -2451,14 +2451,14 @@ } }, "node_modules/@vitest/snapshot": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.7.tgz", - "integrity": "sha512-ZacLzja+TmJeZ1h14xW2FB/WpeimUD3haBXQPyJqxvo8jQTmfeA8zv58mtjN2C7EHXZDYVcVYdYmAxjkWVvKCw==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.9.tgz", + "integrity": "sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.7", - "@vitest/utils": "4.1.7", + "@vitest/pretty-format": "4.1.9", + "@vitest/utils": "4.1.9", "magic-string": "^0.30.21", "pathe": "^2.0.3" }, @@ -2467,9 +2467,9 @@ } }, "node_modules/@vitest/spy": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.7.tgz", - "integrity": "sha512-kbkI5LMWakyuTIvs6fUJ5qdIVb1XVKsYJAT4OJ938cHMROYMSfmoQdZy0aaAnjbbc8F61vkoTqz/Az+/HiIu5Q==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.9.tgz", + "integrity": "sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA==", "dev": true, "license": "MIT", "funding": { @@ -2477,13 +2477,13 @@ } }, "node_modules/@vitest/utils": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.7.tgz", - "integrity": "sha512-T532WBu791cBxJlCl6SO+J14l81DQx6uQHm1bQbmCDY7nqlEIgkza/UFnSBNaUtSf41unldDFjdOBYEQC4b5Hw==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.9.tgz", + "integrity": "sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.7", + "@vitest/pretty-format": "4.1.9", "convert-source-map": "^2.0.0", "tinyrainbow": "^3.1.0" }, @@ -2492,9 +2492,9 @@ } }, "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", "dev": true, "license": "MIT", "bin": { @@ -3392,13 +3392,13 @@ } }, "node_modules/devvit": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/devvit/-/devvit-0.13.0.tgz", - "integrity": "sha512-otLG/Yp3t6y81h5otb4IRYDv5TNFH4LEQIW3oeyi1IMp5wX2YcHPbdxVGtx4SEMqmOK3PH+aoQkj1qZWNJ4zZg==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/devvit/-/devvit-0.13.3.tgz", + "integrity": "sha512-vnUfnWGHMhjGNMx0QpdBHE3MzeKpQDaEAWb9nLGZNBW9gxjBiOZfpk44avIFqhtMLnh0vjfH9ogniE4IF+EDSg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/cli": "0.13.0" + "@devvit/cli": "0.13.3" }, "bin": { "devvit": "bin/devvit.js" @@ -3599,11 +3599,14 @@ } }, "node_modules/eslint": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.4.1.tgz", - "integrity": "sha512-AyIKhnOBuOAdueD7RB3xB+YeAWScb9jHsJBgH2Hcde8InP5JYhqrRR6iTMHyTEwgENK54Cp44e4v8BwNhsuHuw==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.5.0.tgz", + "integrity": "sha512-1y+7C+vi12bUK1IpZeaV3gsH9fHLBmPvYmPx42pvT/E9yG0IC8g3PUZZgp0+JLJl7ZDK0flc2gc+Aw9dpCvIsQ==", "dev": true, "license": "MIT", + "workspaces": [ + "packages/*" + ], "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", @@ -4114,17 +4117,17 @@ } }, "node_modules/form-data": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", - "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz", + "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==", "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.12" + "hasown": "^2.0.4", + "mime-types": "^2.1.35" }, "engines": { "node": ">= 6" @@ -4470,9 +4473,9 @@ } }, "node_modules/hono": { - "version": "4.12.23", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.23.tgz", - "integrity": "sha512-eIaZ9qDgu7XV0pxOCrg7/WhnQ6Ivm22UcxhXx/A3dcbqbbYgBEkc6e/J/s7j2tS96zoB0S9VBdLwQNCWwUo4LA==", + "version": "4.12.25", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.25.tgz", + "integrity": "sha512-2NFaIyNVgJmBs/ecmtGzlmluTFs5cHEWGTdu0t1HBwYzoGXOL5nUQBRMXsXWla5i4KkG//QMzVP88m1+I3fdAQ==", "license": "MIT", "engines": { "node": ">=16.9.0" @@ -6015,9 +6018,9 @@ } }, "node_modules/nwsapi": { - "version": "2.2.23", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.23.tgz", - "integrity": "sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==", + "version": "2.2.24", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.24.tgz", + "integrity": "sha512-7YRhZ3jS45LwmSCT4b2sVFHt/WuovaktDU07QrtOBY2PXskss5a9jfmR9jptyumwXST+rFjrmppMY1KT/yn35A==", "dev": true, "license": "MIT" }, @@ -6032,15 +6035,18 @@ } }, "node_modules/obug": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", - "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.3.tgz", + "integrity": "sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==", "dev": true, "funding": [ "https://github.com/sponsors/sxzz", "https://opencollective.com/debug" ], - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } }, "node_modules/once": { "version": "1.4.0", @@ -6504,22 +6510,22 @@ "license": "MIT" }, "node_modules/protobufjs": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", - "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==", + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.8.tgz", + "integrity": "sha512-dvpCIeLPbXZS/Ete7yLaO7RenOdken2NHKykBXbsaGxZT0UTltcarBciw+A78SRQs9iMAAVpsYA+l8b1hTePIA==", "hasInstallScript": true, "license": "BSD-3-Clause", "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", + "@protobufjs/codegen": "^2.0.5", "@protobufjs/eventemitter": "^1.1.0", "@protobufjs/fetch": "^1.1.0", "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", + "@protobufjs/inquire": "^1.1.1", "@protobufjs/path": "^1.1.2", "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", + "@protobufjs/utf8": "^1.1.1", "@types/node": ">=13.7.0", "long": "^5.0.0" }, @@ -6672,12 +6678,12 @@ } }, "node_modules/rolldown": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.2.tgz", - "integrity": "sha512-oZx5zVDtVB44AW3eaifgDml1gWRDZGvjcfdxonE4swNPG98PrrXjaO/KrnUjzlMnztCCRVlUueA1kCXhARGk6g==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.3.tgz", + "integrity": "sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g==", "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.132.0", + "@oxc-project/types": "=0.133.0", "@rolldown/pluginutils": "^1.0.0" }, "bin": { @@ -6687,21 +6693,21 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.0.2", - "@rolldown/binding-darwin-arm64": "1.0.2", - "@rolldown/binding-darwin-x64": "1.0.2", - "@rolldown/binding-freebsd-x64": "1.0.2", - "@rolldown/binding-linux-arm-gnueabihf": "1.0.2", - "@rolldown/binding-linux-arm64-gnu": "1.0.2", - "@rolldown/binding-linux-arm64-musl": "1.0.2", - "@rolldown/binding-linux-ppc64-gnu": "1.0.2", - "@rolldown/binding-linux-s390x-gnu": "1.0.2", - "@rolldown/binding-linux-x64-gnu": "1.0.2", - "@rolldown/binding-linux-x64-musl": "1.0.2", - "@rolldown/binding-openharmony-arm64": "1.0.2", - "@rolldown/binding-wasm32-wasi": "1.0.2", - "@rolldown/binding-win32-arm64-msvc": "1.0.2", - "@rolldown/binding-win32-x64-msvc": "1.0.2" + "@rolldown/binding-android-arm64": "1.0.3", + "@rolldown/binding-darwin-arm64": "1.0.3", + "@rolldown/binding-darwin-x64": "1.0.3", + "@rolldown/binding-freebsd-x64": "1.0.3", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.3", + "@rolldown/binding-linux-arm64-gnu": "1.0.3", + "@rolldown/binding-linux-arm64-musl": "1.0.3", + "@rolldown/binding-linux-ppc64-gnu": "1.0.3", + "@rolldown/binding-linux-s390x-gnu": "1.0.3", + "@rolldown/binding-linux-x64-gnu": "1.0.3", + "@rolldown/binding-linux-x64-musl": "1.0.3", + "@rolldown/binding-openharmony-arm64": "1.0.3", + "@rolldown/binding-wasm32-wasi": "1.0.3", + "@rolldown/binding-win32-arm64-msvc": "1.0.3", + "@rolldown/binding-win32-x64-msvc": "1.0.3" } }, "node_modules/rrweb-cssom": { @@ -6809,9 +6815,9 @@ } }, "node_modules/semver": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", - "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -7540,16 +7546,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.60.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.60.0.tgz", - "integrity": "sha512-9f65qWLZdAW9m1JaxBDUHcqRUfL8bkxxXL7XxEfI+F09q56PkBvIfCjLF3yInsDM/BBmwkqmCQdCZe/RYlIWEw==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.61.0.tgz", + "integrity": "sha512-8y31Rd0eGTrDKqhy6vT0HtzhN+YLjQizwX3aA3hPXP/ynSfnrBXcQY5IzsP9/DM7+klX4IUncZZjkchP0z+rUw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.60.0", - "@typescript-eslint/parser": "8.60.0", - "@typescript-eslint/typescript-estree": "8.60.0", - "@typescript-eslint/utils": "8.60.0" + "@typescript-eslint/eslint-plugin": "8.61.0", + "@typescript-eslint/parser": "8.61.0", + "@typescript-eslint/typescript-estree": "8.61.0", + "@typescript-eslint/utils": "8.61.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -7654,16 +7660,16 @@ "license": "MIT" }, "node_modules/vite": { - "version": "8.0.14", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.14.tgz", - "integrity": "sha512-s4BJJ+5y1pYL6Otw51FHhVJQhPnuRinKig64g/1+EUNaJsd3gCKdD31IPFvswUgW9/60QT9oFHbZHbQK5imcxw==", + "version": "8.0.16", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.16.tgz", + "integrity": "sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw==", "license": "MIT", "dependencies": { "lightningcss": "^1.32.0", "picomatch": "^4.0.4", "postcss": "^8.5.15", - "rolldown": "1.0.2", - "tinyglobby": "^0.2.16" + "rolldown": "1.0.3", + "tinyglobby": "^0.2.17" }, "bin": { "vite": "bin/vite.js" @@ -7731,19 +7737,19 @@ } }, "node_modules/vitest": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.7.tgz", - "integrity": "sha512-flYyaFd2CgoCoU+0UKt3pxksgC+S02iTDN0n3LtqaMeXsI9SBcdNujc2k0DeFLzUn/0k538yNjOSdwgCqcrwJA==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.9.tgz", + "integrity": "sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "4.1.7", - "@vitest/mocker": "4.1.7", - "@vitest/pretty-format": "4.1.7", - "@vitest/runner": "4.1.7", - "@vitest/snapshot": "4.1.7", - "@vitest/spy": "4.1.7", - "@vitest/utils": "4.1.7", + "@vitest/expect": "4.1.9", + "@vitest/mocker": "4.1.9", + "@vitest/pretty-format": "4.1.9", + "@vitest/runner": "4.1.9", + "@vitest/snapshot": "4.1.9", + "@vitest/spy": "4.1.9", + "@vitest/utils": "4.1.9", "es-module-lexer": "^2.0.0", "expect-type": "^1.3.0", "magic-string": "^0.30.21", @@ -7771,12 +7777,12 @@ "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.1.7", - "@vitest/browser-preview": "4.1.7", - "@vitest/browser-webdriverio": "4.1.7", - "@vitest/coverage-istanbul": "4.1.7", - "@vitest/coverage-v8": "4.1.7", - "@vitest/ui": "4.1.7", + "@vitest/browser-playwright": "4.1.9", + "@vitest/browser-preview": "4.1.9", + "@vitest/browser-webdriverio": "4.1.9", + "@vitest/coverage-istanbul": "4.1.9", + "@vitest/coverage-v8": "4.1.9", + "@vitest/ui": "4.1.9", "happy-dom": "*", "jsdom": "*", "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" @@ -7921,9 +7927,9 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.21", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.21.tgz", - "integrity": "sha512-zbRA8cVm6io/d5W8uIe2hblzN76/Wm3v/yiythQvr+dpBWeqhPSWIDNj4zOyHi4zKbMK6DN34Xsr9jPHJERAEw==", + "version": "1.1.22", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.22.tgz", + "integrity": "sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==", "dev": true, "license": "MIT", "dependencies": { @@ -8015,9 +8021,9 @@ "license": "ISC" }, "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "version": "8.20.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz", + "integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index 0fff197..dbaa49b 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,8 @@ "node": ">=22.2.0" }, "dependencies": { - "@devvit/start": "0.13.0", - "@devvit/web": "0.13.0", + "@devvit/start": "0.13.3", + "@devvit/web": "0.13.3", "@hono/node-server": "^2.0.0", "hono": "^4.11.7", "pluralize": "^8.0.0" @@ -28,10 +28,10 @@ "@fsvreddit/eslint-config": "github:fsvreddit/eslint-config", "@types/node": "^22.19.7", "@types/pluralize": "^0.0.33", - "devvit": "0.13.0", + "devvit": "0.13.3", "eslint": "^10.0.0", "typescript": "5.8.3", "vite": "^8.0.0", "vitest": "^4.0.7" } -} +} \ No newline at end of file From e610877b74fe43cdb0861640463374f100d81f42 Mon Sep 17 00:00:00 2001 From: fsvreddit <97185438+fsvreddit@users.noreply.github.com> Date: Sat, 4 Jul 2026 11:42:09 +0100 Subject: [PATCH 07/15] chore: update devvit and related packages to version 0.13.6 --- package-lock.json | 696 +++++++++++++++++++++++----------------------- package.json | 6 +- 2 files changed, 358 insertions(+), 344 deletions(-) diff --git a/package-lock.json b/package-lock.json index 54a4a71..fadd877 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,8 @@ "version": "0.11.19", "license": "BSD-3-Clause", "dependencies": { - "@devvit/start": "0.13.3", - "@devvit/web": "0.13.3", + "@devvit/start": "0.13.6", + "@devvit/web": "0.13.6", "@hono/node-server": "^2.0.0", "hono": "^4.11.7", "pluralize": "^8.0.0" @@ -19,7 +19,7 @@ "@fsvreddit/eslint-config": "github:fsvreddit/eslint-config", "@types/node": "^22.19.7", "@types/pluralize": "^0.0.33", - "devvit": "0.13.3", + "devvit": "0.13.6", "eslint": "^10.0.0", "typescript": "5.8.3", "vite": "^8.0.0", @@ -183,15 +183,15 @@ } }, "node_modules/@devvit/build-pack": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/build-pack/-/build-pack-0.13.3.tgz", - "integrity": "sha512-0TazQ2NQyH8ARc/byEgdkzLb82Vy7ufkCVBC99JvWhpTuDFMih9iXvAqiZuG8xdkl7jzpcfP9rh8oavgfPwPcw==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/build-pack/-/build-pack-0.13.6.tgz", + "integrity": "sha512-TdkquUDCT4AzKjhwqIZVWLhK9CwrvA2zlIRzXnCwY6hcO4pbOU0vTkXQfLZ7mbr5lJMtj0/UDRD6Ed0tg3L6lw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/payments": "0.13.3", - "@devvit/protos": "0.13.3", - "@devvit/shared-types": "0.13.3", + "@devvit/payments": "0.13.6", + "@devvit/protos": "0.13.6", + "@devvit/shared-types": "0.13.6", "@types/node": "20.14.12", "esbuild": "0.25.9", "rxjs": "7.8.1", @@ -705,42 +705,42 @@ "license": "MIT" }, "node_modules/@devvit/builders": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/builders/-/builders-0.13.3.tgz", - "integrity": "sha512-GB23/Ua1WGVQSPacpV8aoNHVO+z72Z3sEtf5xX4YqgYNuFCkL9b9OiqlPI0E3SGV3NeB1H6AX+56TTO/9CvRsA==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/builders/-/builders-0.13.6.tgz", + "integrity": "sha512-0czaS4rqxuvGyWc8nyL3ahauIktsWC5CKAlBtHTYtKRBJ2g8c1GeITKdfRFLOHi1hdlrRVSWpBgaoK/7WsLhrQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.13.3", - "@devvit/linkers": "0.13.3", - "@devvit/protos": "0.13.3", - "@devvit/shared-types": "0.13.3" + "@devvit/build-pack": "0.13.6", + "@devvit/linkers": "0.13.6", + "@devvit/protos": "0.13.6", + "@devvit/shared-types": "0.13.6" } }, "node_modules/@devvit/cache": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/cache/-/cache-0.13.3.tgz", - "integrity": "sha512-gdRhPygbuo9wk16OY9ObQseXwXUJLBcM0DV9+YQL/hs1F4HxvqJzjh3psp6FV7KcldpXjFbQwri/91Vohlu9Zg==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/cache/-/cache-0.13.6.tgz", + "integrity": "sha512-3s2g/Ya2l3DnwPNErUDYm/ctU5TZdqtHviwIzIdzKUorJsRsU2fAtqRm7C0hxpsktBSxIXpEFufliSj5tLKbfA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/redis": "0.13.3", - "@devvit/server": "0.13.3", - "@devvit/shared-types": "0.13.3" + "@devvit/redis": "0.13.6", + "@devvit/server": "0.13.6", + "@devvit/shared-types": "0.13.6" } }, "node_modules/@devvit/cli": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/cli/-/cli-0.13.3.tgz", - "integrity": "sha512-cXAS3NkPkEhyJTXtcTgFwh0ZzK3Ppr1uFHUN6agP8eXhPioelFHwuczf0EKLVXDGzOdHBkDhEK+eY1SLL4MlmA==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/cli/-/cli-0.13.6.tgz", + "integrity": "sha512-ehsT59+MX06Xo+BP2cijW7rKn6fAXG5b2ThVEgT87Bu9lOZUS6kxg+t39EhBcJY/k95IbLUup9UBnupNVSKH/w==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.13.3", - "@devvit/builders": "0.13.3", - "@devvit/linkers": "0.13.3", - "@devvit/protos": "0.13.3", - "@devvit/public-api": "0.13.3", - "@devvit/shared-types": "0.13.3", + "@devvit/build-pack": "0.13.6", + "@devvit/builders": "0.13.6", + "@devvit/linkers": "0.13.6", + "@devvit/protos": "0.13.6", + "@devvit/public-api": "0.13.6", + "@devvit/shared-types": "0.13.6", "@improbable-eng/grpc-web": "0.15.0", "@improbable-eng/grpc-web-node-http-transport": "0.15.0", "@oclif/core": "2.9.4", @@ -793,79 +793,92 @@ } }, "node_modules/@devvit/client": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/client/-/client-0.13.3.tgz", - "integrity": "sha512-J3NMaT5YXhy+5DYCzCx9QX/Vf/oviZPHMjwOhQqvJWcPwHw/UjzMJhHrZ5HcPDQ9o4imZv/lyo7QkBEeUlxc+g==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/client/-/client-0.13.6.tgz", + "integrity": "sha512-t/zDkcPmcSW/CFOhvNVH37dV0/ZDlN7ijqY/dsQGd/An6H7hbbT3iHtKLJjeItyaL4s6MTiNK1PWJnajdfhFSQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.3", - "@devvit/shared": "0.13.3", - "@devvit/shared-types": "0.13.3", - "@devvit/web-view-scripts": "0.13.3" + "@devvit/protos": "0.13.6", + "@devvit/shared": "0.13.6", + "@devvit/shared-types": "0.13.6", + "@devvit/web-view-scripts": "0.13.6" + } + }, + "node_modules/@devvit/external-endpoints": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/external-endpoints/-/external-endpoints-0.13.6.tgz", + "integrity": "sha512-4UUv1290r9g1xJQGOApSx91yZTn41yrf+KM+4epkaex5blkrZ3YaGHulSnUULtF7HBycu7Tv+b8w/1XdSzGahQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.13.6", + "@devvit/shared-types": "0.13.6" + }, + "peerDependencies": { + "@devvit/server": "*" } }, "node_modules/@devvit/linkers": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/linkers/-/linkers-0.13.3.tgz", - "integrity": "sha512-qynXm2eYBTyARx/kJQVjFrBby7BoyUlH0DR23btNsCAYQCZ0iOnZrBkysj1NGpHQ2cJHStfAEx8wBKQp4Gk4NA==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/linkers/-/linkers-0.13.6.tgz", + "integrity": "sha512-SlxHAY55enZB4Kpf1zu4GIqQUAzB87SWywQIt068tHrLO81/11hfBt366N5sW17vOaQjas9prmam1vKm5+RA7w==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.13.3", - "@devvit/protos": "0.13.3", - "@devvit/shared-types": "0.13.3" + "@devvit/build-pack": "0.13.6", + "@devvit/protos": "0.13.6", + "@devvit/shared-types": "0.13.6" } }, "node_modules/@devvit/media": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/media/-/media-0.13.3.tgz", - "integrity": "sha512-qmkHzBRY7/dfdM2irk0k0Z5X+2Tp+6R858qnlafKhsvrMirdDisZ/PjiUN5BEM4i7xF5/iDSDZluNcgdup8gOw==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/media/-/media-0.13.6.tgz", + "integrity": "sha512-rcCJW/6a29fMBGt/Ak/LbS0iayu2IwA1jsYpeAi0dAiBLZAviiPN5BzYRtXzqCnMHZ0iciT0iLo+0Z4F7aSGwQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.3" + "@devvit/protos": "0.13.6" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/metrics": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/metrics/-/metrics-0.13.3.tgz", - "integrity": "sha512-Wi4hv6vsZ2SXhWn2jSY+YOkbQZVNEsM28SJJ8oD+Inip1Aq/EAmN6+Hz29KBv3ULmpUJd6J1+S2w/HnvVbFDNQ==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/metrics/-/metrics-0.13.6.tgz", + "integrity": "sha512-/n011sBJ+fnFXmE6XEztQOhuFIn/kDQwVus4ePO6eH5iDPp2mJBhnSXNMZ4BHMq1x8BhOEnUH9tSgirjsABb3w==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.3" + "@devvit/protos": "0.13.6" } }, "node_modules/@devvit/notifications": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/notifications/-/notifications-0.13.3.tgz", - "integrity": "sha512-3IgAcHNmLEZ347ljuYQfJpNMMfp/n1suYpWXfTNx69HBQb+kyJXoetYdFwXdlI5wY6NcsTPhDl6pUVbjRHGYyg==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/notifications/-/notifications-0.13.6.tgz", + "integrity": "sha512-mDgm+JSasIXQX5RN9yo8oJFMp1CYt9IXMgCDSbyXzVoAZQDE4HhvVpGSlk81uw1DKOsGrkRcMQsH4eGfj1bRmw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.3", - "@devvit/shared-types": "0.13.3" + "@devvit/protos": "0.13.6", + "@devvit/shared-types": "0.13.6" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/payments": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/payments/-/payments-0.13.3.tgz", - "integrity": "sha512-hMmUodsBSl5KCKDOHEVKlJXdCQ+gGiQIsWmGlyHYGg2FhK5bOzMOQXXer0Mfx+w5Q0eQl34buRIBpN/GoPSRBg==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/payments/-/payments-0.13.6.tgz", + "integrity": "sha512-PY/nyAW7c2cQCcXVvziwJeoeB3M4TNMJ475YuB3S+5XMiCpvxQF743uTjzNRRHFqTQaD8GZufYCHNPLQmoPPQA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.3", - "@devvit/public-api": "0.13.3", - "@devvit/server": "0.13.3", - "@devvit/shared-types": "0.13.3" + "@devvit/protos": "0.13.6", + "@devvit/public-api": "0.13.6", + "@devvit/server": "0.13.6", + "@devvit/shared-types": "0.13.6" } }, "node_modules/@devvit/protos": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.13.3.tgz", - "integrity": "sha512-cwAsPLq3rhjgLoq1zeyqYNLuxnk5dgqezEVNin0mPWXH2kMWXusAJ464JBYkbrzZecu+GSh2uKiTWUl+cAbCsw==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.13.6.tgz", + "integrity": "sha512-Km5bRWhT6GJ6OR7Nq45rOZJ5KqWtZBDxM7cnWnJk2WqsGkJ4dXHAr1UByHXMEF3vaHtzprx4QuNJHAjOoitYXQ==", "license": "BSD-3-Clause", "dependencies": { "protobufjs": "7.5.8", @@ -881,15 +894,15 @@ } }, "node_modules/@devvit/public-api": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.13.3.tgz", - "integrity": "sha512-j73c7aGP3V+hBoWc6Y3QF4QqDd3PsR1wFUdl88klgtWOdIFD2oszIBJoYW0xvAHsYwAeRQtQU9TiAmLYhsg2EA==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.13.6.tgz", + "integrity": "sha512-UMBIx9OdNfNw9mTsdQ8UMcGIdLN3CcMHGMUb1zBNdBSNhpa9na5QaLaCVYBfrbZRJqAJw88rNgEVsq7IzA1Log==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/metrics": "0.13.3", - "@devvit/protos": "0.13.3", - "@devvit/shared": "0.13.3", - "@devvit/shared-types": "0.13.3", + "@devvit/metrics": "0.13.6", + "@devvit/protos": "0.13.6", + "@devvit/shared": "0.13.6", + "@devvit/shared-types": "0.13.6", "base64-js": "1.5.1", "clone-deep": "4.0.1", "jwt-decode": "4.0.0", @@ -897,14 +910,14 @@ } }, "node_modules/@devvit/realtime": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/realtime/-/realtime-0.13.3.tgz", - "integrity": "sha512-Ts3leo21C98TPZeNzPjR30IM/mh2c8SU0oSvFSQA7zrTSkYE7IdtJyBQR04bwRDYK6Wd4Yci1Pmw80CvT7uUVg==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/realtime/-/realtime-0.13.6.tgz", + "integrity": "sha512-hnQmnNonyChFdrhe7CgDfy6lNv1ctjCPt0Obep1AI86kLUqpNK0ntzW9bRwlsr5+SWEE/TASGwvH8xwMpyYQWw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.3", - "@devvit/shared": "0.13.3", - "@devvit/shared-types": "0.13.3", + "@devvit/protos": "0.13.6", + "@devvit/shared": "0.13.6", + "@devvit/shared-types": "0.13.6", "rxjs": "7.8.1" }, "peerDependencies": { @@ -913,100 +926,100 @@ } }, "node_modules/@devvit/reddit": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/reddit/-/reddit-0.13.3.tgz", - "integrity": "sha512-uVMIBkjSmgJkMLEer47iOnE0wTiuP9Q74YfIXpWJPmqhHnhzTBYC46VoVR3BeuJazsbuAoUkGLx6eNI7iuMd1g==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/reddit/-/reddit-0.13.6.tgz", + "integrity": "sha512-CIpTfdvw3Yek9Xo/lJFo/J3m+SVSqMYEEippe9vqHqsV1aGeiR+ajd3PCAgNCSAZ7ORv5rKvXA/HKrvDJRWaoQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.3", - "@devvit/shared": "0.13.3", - "@devvit/shared-types": "0.13.3" + "@devvit/protos": "0.13.6", + "@devvit/shared": "0.13.6", + "@devvit/shared-types": "0.13.6" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/redis": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/redis/-/redis-0.13.3.tgz", - "integrity": "sha512-U4HnzM+6p31UdwIvmr9jTw+tFSF0JWuGu32Ly9TWE4GaUCAdTC3sLK1z0Fgs9If05EC40qc1odaDSPbVrKYWww==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/redis/-/redis-0.13.6.tgz", + "integrity": "sha512-8rpVoqPo4MujtwdIwcXkmuBjWVxmnlb3v1AyXfxGnwr7mMvSkZLktqiZjFVSGtmWfybWQGoAir8wsfFGh3a4rw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.3", - "@devvit/shared-types": "0.13.3" + "@devvit/protos": "0.13.6", + "@devvit/shared-types": "0.13.6" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/scheduler": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/scheduler/-/scheduler-0.13.3.tgz", - "integrity": "sha512-dQzi/DG5IYUvYQ6apJtP2/2mdilWM7FcZd3bch24POo207x7nkiO4vVCH8iIoGxk0jF0nrF31kii482B6fmkkg==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/scheduler/-/scheduler-0.13.6.tgz", + "integrity": "sha512-F5RmiD74k4HY5YPgRwzoP8k+/WzFT6PQj9QIQ8PJjWfVQ8NUruMhHlueUv77HMt7SSjv8MDgd+4qwTYoSPlvFQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.3", - "@devvit/shared": "0.13.3", - "@devvit/shared-types": "0.13.3" + "@devvit/protos": "0.13.6", + "@devvit/shared": "0.13.6", + "@devvit/shared-types": "0.13.6" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/server": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/server/-/server-0.13.3.tgz", - "integrity": "sha512-NGkYt278rO7fYESgutzUU14sLpl9WgxGaYP4hc5jBqQJtRZUWzN9A2p9hYW10jqxNy4HR2wSqGKqFHeNVe2itA==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/server/-/server-0.13.6.tgz", + "integrity": "sha512-ejPbuDnzcLI1tnp4i1lzS5iRHsaxgyk5QaEv4eLXZm7iKhB0UAVPWiERd2cMCC6OOAOyKp3CEOuF1gojJA+ZUg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.3", - "@devvit/public-api": "0.13.3", - "@devvit/shared": "0.13.3", - "@devvit/shared-types": "0.13.3" + "@devvit/protos": "0.13.6", + "@devvit/public-api": "0.13.6", + "@devvit/shared": "0.13.6", + "@devvit/shared-types": "0.13.6" } }, "node_modules/@devvit/settings": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/settings/-/settings-0.13.3.tgz", - "integrity": "sha512-Plj872PIKZahOFxj0866qtSNaaZ1kpaNif40/Zn5Bh1EoxuwCf1VUi7nOeQ/kCOrS7eJnaiTfxiqRjpnXHKJxw==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/settings/-/settings-0.13.6.tgz", + "integrity": "sha512-ZVX0U0UqK4gl8HKPEhiWJwJftxrwjHSf/mBLIjupO39IajYhBVZHiQ4d4QK+eQGz+KEuIEqjJ+PEkRNemAGbcw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.3", - "@devvit/shared": "0.13.3", - "@devvit/shared-types": "0.13.3" + "@devvit/protos": "0.13.6", + "@devvit/shared": "0.13.6", + "@devvit/shared-types": "0.13.6" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/shared": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.13.3.tgz", - "integrity": "sha512-49/FYp9m8FmPFBz4FR1Z9RNT4alji3lkSFXJsJO0jwC0FGDInbie5uiUNSF9qGq+qWHYE6UYxIGpcuv+P8C5UQ==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.13.6.tgz", + "integrity": "sha512-4oAdTpotEGKSjZsLLg61ZaHyCk7QzJ70oHMNKangcWej6xLX9p/pVdI+WFM2Q4c7xFR9GnWHzT9hYYZf3emC9g==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.3", - "@devvit/shared-types": "0.13.3" + "@devvit/protos": "0.13.6", + "@devvit/shared-types": "0.13.6" } }, "node_modules/@devvit/shared-types": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.13.3.tgz", - "integrity": "sha512-KLlPxvq6QGm6PPtXj2jMFpQwKmF1vmFXqZn/pgCYdL2hDiYdRKCt5bGBfHUax/ZCrNmL7zPcQw01OVIfu/3gaA==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.13.6.tgz", + "integrity": "sha512-08EYlA1BKzLZrTBX5tXRmnOtIskF86ZbhpcP1479hdVnp3Rd2T5DJuMtXgW9sC7YX2dGjW+CqQIrcdU70fey4Q==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.3", + "@devvit/protos": "0.13.6", "jsonschema": "1.4.1", "uuid": "14.0.0" } }, "node_modules/@devvit/start": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/start/-/start-0.13.3.tgz", - "integrity": "sha512-5Ez0wrhqBOS2cvHm5e04oMJKkzn0gvHgXYP+AAz3CbY9CmeiGLBh+Qq0ej2ckyy8K6o79WA4bQ/Pmei7TnF3GQ==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/start/-/start-0.13.6.tgz", + "integrity": "sha512-OrEbkeQM64NPLg5k8TnLsI3XzZ6jbnfZMKwK3StDKvS595wPYjzwpktx5UZ9pPQIy3RQbKAhlQX4ZzHSdlSSSA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/shared-types": "0.13.3", + "@devvit/shared-types": "0.13.6", "chalk": "4.1.2" }, "peerDependencies": { @@ -1014,53 +1027,54 @@ } }, "node_modules/@devvit/web": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/web/-/web-0.13.3.tgz", - "integrity": "sha512-5PC3e323cS0LE0VtLvykDuyMPyTgZwsnZVbIcj71wx/hpQjGNMjYQ1fMq3eZJ3b0xCg97IZR6xS0n8yt/JfToA==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/web/-/web-0.13.6.tgz", + "integrity": "sha512-34LRvqp+qpIrc86fwdph9XWeO/xeM68WaAaMNTEShNvjClV96SS1aOKpOn4KbnxOtfi05jUBglhB1farUWKLsg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/cache": "0.13.3", - "@devvit/client": "0.13.3", - "@devvit/media": "0.13.3", - "@devvit/notifications": "0.13.3", - "@devvit/payments": "0.13.3", - "@devvit/realtime": "0.13.3", - "@devvit/reddit": "0.13.3", - "@devvit/redis": "0.13.3", - "@devvit/scheduler": "0.13.3", - "@devvit/server": "0.13.3", - "@devvit/settings": "0.13.3", - "@devvit/shared": "0.13.3" + "@devvit/cache": "0.13.6", + "@devvit/client": "0.13.6", + "@devvit/external-endpoints": "0.13.6", + "@devvit/media": "0.13.6", + "@devvit/notifications": "0.13.6", + "@devvit/payments": "0.13.6", + "@devvit/realtime": "0.13.6", + "@devvit/reddit": "0.13.6", + "@devvit/redis": "0.13.6", + "@devvit/scheduler": "0.13.6", + "@devvit/server": "0.13.6", + "@devvit/settings": "0.13.6", + "@devvit/shared": "0.13.6" } }, "node_modules/@devvit/web-view-scripts": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@devvit/web-view-scripts/-/web-view-scripts-0.13.3.tgz", - "integrity": "sha512-MtC+v+2ht/Vy7aaU3VvgM1xskULMGBmmMR2xLwTW4OCm8c83eNxa/o3+LmyVhinkdmuZwp26pcBRqtB7V5lq8w==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@devvit/web-view-scripts/-/web-view-scripts-0.13.6.tgz", + "integrity": "sha512-IYFMFNoSJON2f5PZ6T5vVOX+8PwIV7Y2wCEw3YXvFtJxpEKjBM4gpm5Jh/F0YIhkga3JBz5SViwYFHd5TslpxA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.3", - "@devvit/shared": "0.13.3", - "@devvit/shared-types": "0.13.3", + "@devvit/protos": "0.13.6", + "@devvit/shared": "0.13.6", + "@devvit/shared-types": "0.13.6", "html-to-image": "1.11.13", "jwt-decode": "4.0.0" } }, "node_modules/@emnapi/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", - "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", + "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", "license": "MIT", "optional": true, "dependencies": { - "@emnapi/wasi-threads": "1.2.1", + "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", - "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", "license": "MIT", "optional": true, "dependencies": { @@ -1068,9 +1082,9 @@ } }, "node_modules/@emnapi/wasi-threads": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", - "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", + "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", "license": "MIT", "optional": true, "dependencies": { @@ -1214,9 +1228,9 @@ } }, "node_modules/@hono/node-server": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.0.4.tgz", - "integrity": "sha512-Ut3y0dMMPWy6bZ2kVfx25EOVbZlm15dhF4mOsezMlhpNHy+4MkU1qN9Y6lnruYi4wPmFzimGX2X7LF/FwHli4A==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.0.8.tgz", + "integrity": "sha512-GuCWzLxwg218fy1JaHculFsdcuY12hxit83V+algozTPnwhNjLrRL/Alg9OYjLZLoUZ1rw/S4CdTMsnkSKCmFA==", "license": "MIT", "engines": { "node": ">=20" @@ -1343,13 +1357,13 @@ } }, "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.5.tgz", - "integrity": "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz", + "integrity": "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==", "license": "MIT", "optional": true, "dependencies": { - "@tybys/wasm-util": "^0.10.2" + "@tybys/wasm-util": "^0.10.3" }, "funding": { "type": "github", @@ -1484,9 +1498,9 @@ } }, "node_modules/@oclif/core/node_modules/js-yaml": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", - "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.0.tgz", + "integrity": "sha512-ttBQIIQPDeLjpPOohtUdXuXUVoA2uIB6fEH9HyJ7234s5mBJ5wTx20njxplLZQgLaOfpmPQA7X2t5AX6tIPbog==", "dev": true, "license": "MIT", "dependencies": { @@ -1577,9 +1591,9 @@ } }, "node_modules/@oxc-project/types": { - "version": "0.133.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.133.0.tgz", - "integrity": "sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==", + "version": "0.138.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.138.0.tgz", + "integrity": "sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/Boshen" @@ -1681,9 +1695,9 @@ "license": "BSD-3-Clause" }, "node_modules/@rolldown/binding-android-arm64": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.3.tgz", - "integrity": "sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.4.tgz", + "integrity": "sha512-EZLpf/8y7GXkkra90ML47kzik/GMP3EMcE9bPyHmRfxLC6z9+aW5A8poCsoxjrT5GfEcNAAvWwUHjvP1pUQkfw==", "cpu": [ "arm64" ], @@ -1697,9 +1711,9 @@ } }, "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.3.tgz", - "integrity": "sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.4.tgz", + "integrity": "sha512-aUi+HBvmYb7j8krl1+qJgkG8C17fO79gk3c+jPw4S8glRFc1DTija9S3EyaTSQUm5GJXYKDAsugBEhFHH2vYiQ==", "cpu": [ "arm64" ], @@ -1713,9 +1727,9 @@ } }, "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.3.tgz", - "integrity": "sha512-9YpfeUvSE2RS7wysJ81uOZkXJz7f7Q55H2Gvp3VEw/EsahqDtrphrZ0EwDLK5vvKOzaCrBsjF8JmnMLcUt78Gg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.4.tgz", + "integrity": "sha512-F7hHC3gwY11+vByKPRWqwGbeXWVgKmL+pTGCinaEhdihzBV2aQ0fvZOch9cXYUOKuKKq429HeYXOqQLc7wFCEg==", "cpu": [ "x64" ], @@ -1729,9 +1743,9 @@ } }, "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.3.tgz", - "integrity": "sha512-yB1IlAsSNHncV6SCTL27/MVGR5htvQsoGxIv5KMGXALp+Ll1wYsn+x98M9MW7qa+NdSbvrrY7ANI4wLJ0n1e6g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.4.tgz", + "integrity": "sha512-sI5yw+7s92SK6odiEhD5lKCBlWcpjHS5qyqpVQbZAJ0fIzEUXrmbl3DH2ybR3PZogulNJF+COLtmA8hUfvkCCQ==", "cpu": [ "x64" ], @@ -1745,9 +1759,9 @@ } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.3.tgz", - "integrity": "sha512-Yi30IVAAfLUCy2MseFjbB1jAMDl1VMCAas5StnYp8da9+CKvMd2H2cbEjWcw5NPaPqzvYkVIaF1nNUG+b7u/sw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.4.tgz", + "integrity": "sha512-mCi0OKgEieFircrtVYmQAFGszRtMnZ6fpZAXrxanXAu7lqZcsK1E1RAaZNG0uKAnxox3B1f4EyQNnoyMfN1vAA==", "cpu": [ "arm" ], @@ -1761,9 +1775,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.3.tgz", - "integrity": "sha512-jsO7R8To+AdlYgUmN5sHSCZbfhtMBkO0WUx8iORQnPcMMdgr7qM2DQmMwgabs3GhNztdmoKkMKQFHD6DTMCIQw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.4.tgz", + "integrity": "sha512-B9Ial3Kv5sh0SHnB1g/QWcUQCEvCF6QKGAl4zXypYj65mVI+B4AhFBwPtSN7pDrJeIx8Z7zdy4ntx+wQABom7w==", "cpu": [ "arm64" ], @@ -1777,9 +1791,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.3.tgz", - "integrity": "sha512-VWkUHwWriDciit80wleYwKILoR/KMvxh/IdwS/paX+ZgpuRpCrKLUdadJbc0NpBEiyhpYawsJ73j9aCvOH+f7Q==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.4.tgz", + "integrity": "sha512-lZVym0PuHE1KZ22gmFTC15lAkrg9iTszR617oYRB/iPY1A56ywoJzVKOJBKaot5RiikCObmur6pogpse3gRcng==", "cpu": [ "arm64" ], @@ -1793,9 +1807,9 @@ } }, "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.3.tgz", - "integrity": "sha512-5f1laC0SlIR0yDbFCd8acUhvJIag6N3zC5P7oUPN6wX0aOma+uKJ0wBDH5aq7I1PVI2ttTlhJwzwRIBnLiSGEg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.4.tgz", + "integrity": "sha512-t2DNiLJWNTbnEHyUzTumldML6ET4/g16467LZoDDJ3tSxGvguL5/NyC2lCsNKuyRycg9XeDQF5SSv+TNOhQEXg==", "cpu": [ "ppc64" ], @@ -1809,9 +1823,9 @@ } }, "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.3.tgz", - "integrity": "sha512-Iq4ko0r4XsgbrF/LunNgHtAGLRRVE2kXonAXQ/MV0mC6jQpMOhW1SvtZja2EhC/kd05++bP78dsqBeIQyYJ6Yg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.4.tgz", + "integrity": "sha512-0WIRnL1Uw4BvTZRLQt+PVgo6ZKTJadlC2btP+/EOXv2f/DWbY0rEgl+y834mIVwP1FkTlWVTrGGJXf12lru7EQ==", "cpu": [ "s390x" ], @@ -1825,9 +1839,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.3.tgz", - "integrity": "sha512-B8m6tD5+/N5FeNQFbKlLA/2yVq9ycQP1SeedyEYYKWBNR3ZQbkvIUcNnDNM03lO1l5F2roiiFJGgvoLLyZXtSg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.4.tgz", + "integrity": "sha512-JWtGshGfX+oENAKonoNkqEJX+7hC8yfhi9GUyPX1VX4mdh1y5r+ZiJLR5XzAB0aoP6s/PcILsGjKq8O0mm24bw==", "cpu": [ "x64" ], @@ -1841,9 +1855,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.3.tgz", - "integrity": "sha512-pSdpdUJHkuCxun9LE7jvgUB9qsRgaiyNNCX7m/AvHTcq67AiT/Yhoxvw5zPfhrM8k/BfP8ce/hMOpthKDpEUow==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.4.tgz", + "integrity": "sha512-rT6yQcxUuXs4CnbofqwHRRV0iem349rLMYpTjkgQGLjrY4ado/eDzwPZPTCgTOlF6Nkp8NEv70yLMTn6qkWxsQ==", "cpu": [ "x64" ], @@ -1857,9 +1871,9 @@ } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.3.tgz", - "integrity": "sha512-OXXS3RKJgX2uLwM+gYyuH5omcH8fL1LJs96pZGgtetVCahON57+d4SJHzTgZiOjxgGkSnpXpOsWuPDGAKAigEg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.4.tgz", + "integrity": "sha512-KXMGoboq5cyaCQjDA4GLuRiOwBQ0EyFnJoVViLeZ45/3rFItRODEr+NdsBcVpll40hhNArlm/speWGRvj08LzA==", "cpu": [ "arm64" ], @@ -1873,27 +1887,27 @@ } }, "node_modules/@rolldown/binding-wasm32-wasi": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.3.tgz", - "integrity": "sha512-JTtb8BWFynicNSoPrehsCzBtOKjZ6jhMiPFEmOiuXg1Fl8dn2KHQob+GuPSGR0dryQa1PQJbzjF3dqO/whhjLg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.4.tgz", + "integrity": "sha512-5K83rb36oJiY7BCyE9zLZtGcPV4g5wvq+xwdO0XPIwDVZI8cyB/AUjkNXGb92/rnmezEkjMOpgY61rtwjQtFwg==", "cpu": [ "wasm32" ], "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "1.10.0", - "@emnapi/runtime": "1.10.0", - "@napi-rs/wasm-runtime": "^1.1.4" + "@emnapi/core": "1.11.1", + "@emnapi/runtime": "1.11.1", + "@napi-rs/wasm-runtime": "^1.1.6" }, "engines": { "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.3.tgz", - "integrity": "sha512-gEdFFEN70A/jxb2svrWsN3aDL7OUtmvlOy+6fa2jxG8K0wQ1ZbdeLGnidov6Yu5/733dI5ySfzFlQ/cb0bSz1g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.4.tgz", + "integrity": "sha512-PnWBtw3TV5KOg69HQQDR0mnQuyCmSGR2pAB4DC1rPF808fgKeTUMj2EOEyKATpgiuxuR5APQmiDO7PDgEjTFSA==", "cpu": [ "arm64" ], @@ -1907,9 +1921,9 @@ } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.3.tgz", - "integrity": "sha512-eXB7CHuaQdqmJcc3koCNtNPmT/bj2gc999kUFgBxG8Ac0NdgXc4rkCHhqrgrhN3zddvvvrgzj1e90SuSfmyIXA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.4.tgz", + "integrity": "sha512-M1lpniBePobTfsa7Ks9a199e1akxsXn+GYBUKsEzv3YFzOm1HJAMNwKI3qr0Zq+mxwx9gOZoTdP1yXRYsZUocQ==", "cpu": [ "x64" ], @@ -2030,9 +2044,9 @@ "license": "MIT" }, "node_modules/@tybys/wasm-util": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", - "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", + "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", "license": "MIT", "optional": true, "dependencies": { @@ -2089,9 +2103,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.19.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.21.tgz", - "integrity": "sha512-VMeFBSCKQKmm2swI2kW51SFusDqekC6q9trBCvJ/JliDchFSuoYYKN7yVNjPthP1HKZcx3U1gI/wTcEBjEFKTA==", + "version": "22.20.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.0.tgz", + "integrity": "sha512-QWlFW2wf3nTjC13/DqRnBpR4ZO36VJH/JVBkA/vcnmbTBNQIlnObqyqZE1tUR7+Ni23Lda8R1BxMfbXRpCUx5g==", "license": "MIT", "dependencies": { "undici-types": "~6.21.0" @@ -2115,17 +2129,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.61.0.tgz", - "integrity": "sha512-bFNvl9ZczlVb+wR2Akszf3gHfKVj/8WanXaGJ3UstTA7brNKg0cNdk6X1Psu5V7MZ2oQtzZKOEzIUehaoxbDGw==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.62.1.tgz", + "integrity": "sha512-4EQM77WgVNxj7OkL/5b/D/xZsw00G577+UriYTC7JF5opcF3T2AuoeY7ueLaZgSVjSgCS6yOAJB5bRGLPSJUzA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.61.0", - "@typescript-eslint/type-utils": "8.61.0", - "@typescript-eslint/utils": "8.61.0", - "@typescript-eslint/visitor-keys": "8.61.0", + "@typescript-eslint/scope-manager": "8.62.1", + "@typescript-eslint/type-utils": "8.62.1", + "@typescript-eslint/utils": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -2138,22 +2152,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.61.0", + "@typescript-eslint/parser": "^8.62.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.61.0.tgz", - "integrity": "sha512-5B7PfA2e1NQGCnDHd/0lW7W3gvp3d59Ryw54FYO8Uswxo9f6ikw3AZV+Xj/TvpImmpsiYyUqAfhC6kJID1jF6w==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.62.1.tgz", + "integrity": "sha512-sPhE4iHuJDSvoAiec+Ro8JyXw8f0ql13HFR82P99nCm9GwTEKG0KYLvDe6REk8BCXuit6vJAv/Yxg5ABaNS2rA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.61.0", - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/typescript-estree": "8.61.0", - "@typescript-eslint/visitor-keys": "8.61.0", + "@typescript-eslint/scope-manager": "8.62.1", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1", "debug": "^4.4.3" }, "engines": { @@ -2169,14 +2183,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.61.0.tgz", - "integrity": "sha512-DV42F7MLJO6Rax7SK1yg43tcnEfGUrurSpSxKuVX+a3RCTzBlH3fuxprrOJXKCJGAaw82xXocikJ0uQaqwXgGA==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.62.1.tgz", + "integrity": "sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.61.0", - "@typescript-eslint/types": "^8.61.0", + "@typescript-eslint/tsconfig-utils": "^8.62.1", + "@typescript-eslint/types": "^8.62.1", "debug": "^4.4.3" }, "engines": { @@ -2191,14 +2205,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.61.0.tgz", - "integrity": "sha512-IWdXFHFSb6mlC3HPc7QsLDm5zYEbUla6trDEHf32D3/dnuUyXd87plScSNXSbm0/RxMvObpI17sv/EDTGrGZkA==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.62.1.tgz", + "integrity": "sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/visitor-keys": "8.61.0" + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2209,9 +2223,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.61.0.tgz", - "integrity": "sha512-O5Amvdv9ztMpxpf+vmFULGG78IE6Qwdr3bCGvqwG4nwc9H2qXkOYJJnRbRHyMkQTjv1d03olqwwwzHLMqpFePQ==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.62.1.tgz", + "integrity": "sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g==", "dev": true, "license": "MIT", "engines": { @@ -2226,15 +2240,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.61.0.tgz", - "integrity": "sha512-TuBiQYIkd97yBfInHCTKVYMbX4kvEmpOEuixIuzCU9p8BGT1SfyyO0d0IfDMbPIHcjn/hWnusUX5e8v5Xg+X8A==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.62.1.tgz", + "integrity": "sha512-aXM5xlqXiTxPibXB93cLAURfT3rlizf7uMXISCXy66Isr/9hISJx3yDsKl0L7lKa51b8JpFuNKby0/O0pEm9jg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/typescript-estree": "8.61.0", - "@typescript-eslint/utils": "8.61.0", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1", + "@typescript-eslint/utils": "8.62.1", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -2251,9 +2265,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.61.0.tgz", - "integrity": "sha512-9QTQpZ5Iin4CdIodfbDQFSeiSJKidgYJYug1P9CC2xWgUTvlmixViqDZNciMjwLBZyJnG4tGmPl97rVAFb1AJg==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.62.1.tgz", + "integrity": "sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q==", "dev": true, "license": "MIT", "engines": { @@ -2265,16 +2279,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.61.0.tgz", - "integrity": "sha512-42zatd5qSvvcV1JdDBCLxYRznvP4eIHpPoZXdkPFnAmanA4FuZ5dibSnCBggY8hQnqajPpoGjXFdZ7fIJKQnlA==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.62.1.tgz", + "integrity": "sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.61.0", - "@typescript-eslint/tsconfig-utils": "8.61.0", - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/visitor-keys": "8.61.0", + "@typescript-eslint/project-service": "8.62.1", + "@typescript-eslint/tsconfig-utils": "8.62.1", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -2293,16 +2307,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.61.0.tgz", - "integrity": "sha512-3bzFt7ImFMW/jVYwJamDoe/dMOdFLSC6pom6rRjdh4SZJEYupyMzem8e7vKZLclLfpHjlwSAXOUxtKxGXUiLqA==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.62.1.tgz", + "integrity": "sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.61.0", - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/typescript-estree": "8.61.0" + "@typescript-eslint/scope-manager": "8.62.1", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2317,13 +2331,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.61.0.tgz", - "integrity": "sha512-QVLZu3ZPQEE+HICQyAMZ2yLQhxf0meY/wx6Hx14YcTNj13JB3qHlX3lJ02L3fLGHgERRH71kvYDwiXIguT3AjQ==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.62.1.tgz", + "integrity": "sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/types": "8.62.1", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -2348,9 +2362,9 @@ } }, "node_modules/@vitest/eslint-plugin": { - "version": "1.6.20", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.6.20.tgz", - "integrity": "sha512-xRwWHFG0Utp6hXtbGiWk4VdKXCGdExD8kbWrrmFEiG5dk8anOJ+vbWbeOa8EbkocKQRTsx7JAWETccZiBgFp/Q==", + "version": "1.6.21", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.6.21.tgz", + "integrity": "sha512-5nu7QuW5Dg9v4I9t9ZiU1Hh91BoG0x3lOzOWYTsr1bqpIqcHYzFSQ052LvZwGtEm7Trh+Mr2heYEmZ4LkDjfaA==", "dev": true, "license": "MIT", "dependencies": { @@ -2776,9 +2790,9 @@ } }, "node_modules/brace-expansion": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", - "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.7.tgz", + "integrity": "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==", "dev": true, "license": "MIT", "dependencies": { @@ -3392,13 +3406,13 @@ } }, "node_modules/devvit": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/devvit/-/devvit-0.13.3.tgz", - "integrity": "sha512-vnUfnWGHMhjGNMx0QpdBHE3MzeKpQDaEAWb9nLGZNBW9gxjBiOZfpk44avIFqhtMLnh0vjfH9ogniE4IF+EDSg==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/devvit/-/devvit-0.13.6.tgz", + "integrity": "sha512-jn28/2lc4qZFwIicFDjusR5+GG5uSu6wLkZ1CjSQBB6cRIcAcfk+0xacmX6kvvftnItOmrOZOunSiDqouiO0tA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/cli": "0.13.3" + "@devvit/cli": "0.13.6" }, "bin": { "devvit": "bin/devvit.js" @@ -3550,9 +3564,9 @@ } }, "node_modules/es-module-lexer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", - "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.0.tgz", + "integrity": "sha512-KLdwQm2NvGLDkQDCGvmiQrhkd0JbMzXthwQAUgWjQuQdBLFa3eiBP5arXZyA+f8x+x7OXgud6bq2rxjGtHV2tw==", "dev": true, "license": "MIT" }, @@ -3599,9 +3613,9 @@ } }, "node_modules/eslint": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.5.0.tgz", - "integrity": "sha512-1y+7C+vi12bUK1IpZeaV3gsH9fHLBmPvYmPx42pvT/E9yG0IC8g3PUZZgp0+JLJl7ZDK0flc2gc+Aw9dpCvIsQ==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.6.0.tgz", + "integrity": "sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==", "dev": true, "license": "MIT", "workspaces": [ @@ -3859,9 +3873,9 @@ } }, "node_modules/expect-type": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", - "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.4.0.tgz", + "integrity": "sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4473,9 +4487,9 @@ } }, "node_modules/hono": { - "version": "4.12.25", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.25.tgz", - "integrity": "sha512-2NFaIyNVgJmBs/ecmtGzlmluTFs5cHEWGTdu0t1HBwYzoGXOL5nUQBRMXsXWla5i4KkG//QMzVP88m1+I3fdAQ==", + "version": "4.12.27", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.27.tgz", + "integrity": "sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q==", "license": "MIT", "engines": { "node": ">=16.9.0" @@ -5932,9 +5946,9 @@ "license": "ISC" }, "node_modules/nanoid": { - "version": "3.3.12", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", - "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "version": "3.3.15", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz", + "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==", "funding": [ { "type": "github", @@ -6392,9 +6406,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", "license": "MIT", "engines": { "node": ">=12" @@ -6433,9 +6447,9 @@ } }, "node_modules/postcss": { - "version": "8.5.15", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", - "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "version": "8.5.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.16.tgz", + "integrity": "sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==", "funding": [ { "type": "opencollective", @@ -6678,12 +6692,12 @@ } }, "node_modules/rolldown": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.3.tgz", - "integrity": "sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.4.tgz", + "integrity": "sha512-IjZYiLxZwpnhwhdBH2ugdTGVSdhCQUmLxLoqyjiL0JxYjyRst+5a0P3xfrTxJ5F638j4Mvvw5FAX5XE6eHpXbA==", "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.133.0", + "@oxc-project/types": "=0.138.0", "@rolldown/pluginutils": "^1.0.0" }, "bin": { @@ -6693,21 +6707,21 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.0.3", - "@rolldown/binding-darwin-arm64": "1.0.3", - "@rolldown/binding-darwin-x64": "1.0.3", - "@rolldown/binding-freebsd-x64": "1.0.3", - "@rolldown/binding-linux-arm-gnueabihf": "1.0.3", - "@rolldown/binding-linux-arm64-gnu": "1.0.3", - "@rolldown/binding-linux-arm64-musl": "1.0.3", - "@rolldown/binding-linux-ppc64-gnu": "1.0.3", - "@rolldown/binding-linux-s390x-gnu": "1.0.3", - "@rolldown/binding-linux-x64-gnu": "1.0.3", - "@rolldown/binding-linux-x64-musl": "1.0.3", - "@rolldown/binding-openharmony-arm64": "1.0.3", - "@rolldown/binding-wasm32-wasi": "1.0.3", - "@rolldown/binding-win32-arm64-msvc": "1.0.3", - "@rolldown/binding-win32-x64-msvc": "1.0.3" + "@rolldown/binding-android-arm64": "1.1.4", + "@rolldown/binding-darwin-arm64": "1.1.4", + "@rolldown/binding-darwin-x64": "1.1.4", + "@rolldown/binding-freebsd-x64": "1.1.4", + "@rolldown/binding-linux-arm-gnueabihf": "1.1.4", + "@rolldown/binding-linux-arm64-gnu": "1.1.4", + "@rolldown/binding-linux-arm64-musl": "1.1.4", + "@rolldown/binding-linux-ppc64-gnu": "1.1.4", + "@rolldown/binding-linux-s390x-gnu": "1.1.4", + "@rolldown/binding-linux-x64-gnu": "1.1.4", + "@rolldown/binding-linux-x64-musl": "1.1.4", + "@rolldown/binding-openharmony-arm64": "1.1.4", + "@rolldown/binding-wasm32-wasi": "1.1.4", + "@rolldown/binding-win32-arm64-msvc": "1.1.4", + "@rolldown/binding-win32-x64-msvc": "1.1.4" } }, "node_modules/rrweb-cssom": { @@ -6815,9 +6829,9 @@ } }, "node_modules/semver": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", - "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", "dev": true, "license": "ISC", "bin": { @@ -7546,16 +7560,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.61.0.tgz", - "integrity": "sha512-8y31Rd0eGTrDKqhy6vT0HtzhN+YLjQizwX3aA3hPXP/ynSfnrBXcQY5IzsP9/DM7+klX4IUncZZjkchP0z+rUw==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.62.1.tgz", + "integrity": "sha512-vymnnM5g0AKQDSAyfP12nMIBvgwgA42syg74kkuZ4x1VuTzwQKwc5h9rGxeShCjny5o+zWAb6OEoz7XLgrIkIw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.61.0", - "@typescript-eslint/parser": "8.61.0", - "@typescript-eslint/typescript-estree": "8.61.0", - "@typescript-eslint/utils": "8.61.0" + "@typescript-eslint/eslint-plugin": "8.62.1", + "@typescript-eslint/parser": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1", + "@typescript-eslint/utils": "8.62.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -7660,15 +7674,15 @@ "license": "MIT" }, "node_modules/vite": { - "version": "8.0.16", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.16.tgz", - "integrity": "sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw==", + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.3.tgz", + "integrity": "sha512-Ds+gBRbj0lwRO2Y5hwnUBdxSwlAve9LeRyU4sNnAr0ewW0gWF0n5bgXgUzbgZ49MV9BVUAQUFYVcDUcilUExMA==", "license": "MIT", "dependencies": { "lightningcss": "^1.32.0", "picomatch": "^4.0.4", - "postcss": "^8.5.15", - "rolldown": "1.0.3", + "postcss": "^8.5.16", + "rolldown": "~1.1.3", "tinyglobby": "^0.2.17" }, "bin": { @@ -7685,7 +7699,7 @@ }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", - "@vitejs/devtools": "^0.1.18", + "@vitejs/devtools": "^0.3.0", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", diff --git a/package.json b/package.json index dbaa49b..a386eee 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,8 @@ "node": ">=22.2.0" }, "dependencies": { - "@devvit/start": "0.13.3", - "@devvit/web": "0.13.3", + "@devvit/start": "0.13.6", + "@devvit/web": "0.13.6", "@hono/node-server": "^2.0.0", "hono": "^4.11.7", "pluralize": "^8.0.0" @@ -28,7 +28,7 @@ "@fsvreddit/eslint-config": "github:fsvreddit/eslint-config", "@types/node": "^22.19.7", "@types/pluralize": "^0.0.33", - "devvit": "0.13.3", + "devvit": "0.13.6", "eslint": "^10.0.0", "typescript": "5.8.3", "vite": "^8.0.0", From 8ded19270cfbd17906cb902b4d39ef9c2fbca805 Mon Sep 17 00:00:00 2001 From: fsvreddit <97185438+fsvreddit@users.noreply.github.com> Date: Mon, 27 Jul 2026 10:43:53 +0100 Subject: [PATCH 08/15] chore: update devvit and related packages to version 0.13.9 --- package-lock.json | 932 +++++++++++++++++++++++----------------------- package.json | 6 +- 2 files changed, 472 insertions(+), 466 deletions(-) diff --git a/package-lock.json b/package-lock.json index fadd877..1dafe86 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,8 @@ "version": "0.11.19", "license": "BSD-3-Clause", "dependencies": { - "@devvit/start": "0.13.6", - "@devvit/web": "0.13.6", + "@devvit/start": "0.13.9", + "@devvit/web": "0.13.9", "@hono/node-server": "^2.0.0", "hono": "^4.11.7", "pluralize": "^8.0.0" @@ -19,7 +19,7 @@ "@fsvreddit/eslint-config": "github:fsvreddit/eslint-config", "@types/node": "^22.19.7", "@types/pluralize": "^0.0.33", - "devvit": "0.13.6", + "devvit": "0.13.9", "eslint": "^10.0.0", "typescript": "5.8.3", "vite": "^8.0.0", @@ -183,15 +183,15 @@ } }, "node_modules/@devvit/build-pack": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/build-pack/-/build-pack-0.13.6.tgz", - "integrity": "sha512-TdkquUDCT4AzKjhwqIZVWLhK9CwrvA2zlIRzXnCwY6hcO4pbOU0vTkXQfLZ7mbr5lJMtj0/UDRD6Ed0tg3L6lw==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/build-pack/-/build-pack-0.13.9.tgz", + "integrity": "sha512-HbUBUG2ArZXjyO4PXNzw4GPrbQ6i97/xs/UksIUejbkCxTa+0p55ewfY8YiUO6LF4oDlPzTSrTarY6jT/Tjmpw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/payments": "0.13.6", - "@devvit/protos": "0.13.6", - "@devvit/shared-types": "0.13.6", + "@devvit/payments": "0.13.9", + "@devvit/protos": "0.13.9", + "@devvit/shared-types": "0.13.9", "@types/node": "20.14.12", "esbuild": "0.25.9", "rxjs": "7.8.1", @@ -705,42 +705,42 @@ "license": "MIT" }, "node_modules/@devvit/builders": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/builders/-/builders-0.13.6.tgz", - "integrity": "sha512-0czaS4rqxuvGyWc8nyL3ahauIktsWC5CKAlBtHTYtKRBJ2g8c1GeITKdfRFLOHi1hdlrRVSWpBgaoK/7WsLhrQ==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/builders/-/builders-0.13.9.tgz", + "integrity": "sha512-a+yoonCgsl3XYsAmeJqTgQAJTTe/z6jnl6XbtB1Wn+4G6AlV4/x2bByVVDzNuBQ3KsXO8DYGPHeAIUzqDmROaQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.13.6", - "@devvit/linkers": "0.13.6", - "@devvit/protos": "0.13.6", - "@devvit/shared-types": "0.13.6" + "@devvit/build-pack": "0.13.9", + "@devvit/linkers": "0.13.9", + "@devvit/protos": "0.13.9", + "@devvit/shared-types": "0.13.9" } }, "node_modules/@devvit/cache": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/cache/-/cache-0.13.6.tgz", - "integrity": "sha512-3s2g/Ya2l3DnwPNErUDYm/ctU5TZdqtHviwIzIdzKUorJsRsU2fAtqRm7C0hxpsktBSxIXpEFufliSj5tLKbfA==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/cache/-/cache-0.13.9.tgz", + "integrity": "sha512-mTAtUzn7E9wTlOdwVp44cJFdEYTR95ngJDgdU7OC1HpztUa7onaBYEL/89xGRbMXzf4mgZsb4g60CV0cubhByg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/redis": "0.13.6", - "@devvit/server": "0.13.6", - "@devvit/shared-types": "0.13.6" + "@devvit/redis": "0.13.9", + "@devvit/server": "0.13.9", + "@devvit/shared-types": "0.13.9" } }, "node_modules/@devvit/cli": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/cli/-/cli-0.13.6.tgz", - "integrity": "sha512-ehsT59+MX06Xo+BP2cijW7rKn6fAXG5b2ThVEgT87Bu9lOZUS6kxg+t39EhBcJY/k95IbLUup9UBnupNVSKH/w==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/cli/-/cli-0.13.9.tgz", + "integrity": "sha512-lIPp/ems6muWZAzPLZ7p1Mo1BJPZXaRu+rADMskpwEo4Fc5dPuIwrpv8/BNERGIhZylCmBaGVFA3XuSkvdbROg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.13.6", - "@devvit/builders": "0.13.6", - "@devvit/linkers": "0.13.6", - "@devvit/protos": "0.13.6", - "@devvit/public-api": "0.13.6", - "@devvit/shared-types": "0.13.6", + "@devvit/build-pack": "0.13.9", + "@devvit/builders": "0.13.9", + "@devvit/linkers": "0.13.9", + "@devvit/protos": "0.13.9", + "@devvit/public-api": "0.13.9", + "@devvit/shared-types": "0.13.9", "@improbable-eng/grpc-web": "0.15.0", "@improbable-eng/grpc-web-node-http-transport": "0.15.0", "@oclif/core": "2.9.4", @@ -759,7 +759,7 @@ "image-size": "2.0.2", "inquirer": "9.1.4", "isomorphic-git": "1.33.1", - "js-yaml": "4.1.1", + "js-yaml": "4.2.0", "jsdom": "24.1.0", "jszip": "3.10.1", "mime-types": "3.0.2", @@ -770,7 +770,7 @@ "string-length": "5.0.1", "tiny-glob": "0.2.9", "twirp-ts": "2.5.0", - "ws": "8.20.1" + "ws": "8.21.0" }, "bin": { "devvit-cli": "bin/devvit.js" @@ -793,95 +793,86 @@ } }, "node_modules/@devvit/client": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/client/-/client-0.13.6.tgz", - "integrity": "sha512-t/zDkcPmcSW/CFOhvNVH37dV0/ZDlN7ijqY/dsQGd/An6H7hbbT3iHtKLJjeItyaL4s6MTiNK1PWJnajdfhFSQ==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/client/-/client-0.13.9.tgz", + "integrity": "sha512-wJDkwFwwfn76VkG/U/aC8xW+9zj8eJuRYPr0AmDeRc8UuEEcI+N90sSrcOGkSdMlAyLubIhasREqxtcdLv5P7w==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.6", - "@devvit/shared": "0.13.6", - "@devvit/shared-types": "0.13.6", - "@devvit/web-view-scripts": "0.13.6" + "@devvit/protos": "0.13.9", + "@devvit/shared": "0.13.9", + "@devvit/shared-types": "0.13.9", + "@devvit/web-view-scripts": "0.13.9" } }, "node_modules/@devvit/external-endpoints": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/external-endpoints/-/external-endpoints-0.13.6.tgz", - "integrity": "sha512-4UUv1290r9g1xJQGOApSx91yZTn41yrf+KM+4epkaex5blkrZ3YaGHulSnUULtF7HBycu7Tv+b8w/1XdSzGahQ==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/external-endpoints/-/external-endpoints-0.13.9.tgz", + "integrity": "sha512-bIi+63atvsb6c/5QeQt75UOXlM61L/MSNXHEQQ+yNlYYKo10ZoP7t97Hfe1jOzekmlkZ2sT2xKQw9zZL/ENLDg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.6", - "@devvit/shared-types": "0.13.6" + "@devvit/protos": "0.13.9", + "@devvit/shared-types": "0.13.9" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/linkers": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/linkers/-/linkers-0.13.6.tgz", - "integrity": "sha512-SlxHAY55enZB4Kpf1zu4GIqQUAzB87SWywQIt068tHrLO81/11hfBt366N5sW17vOaQjas9prmam1vKm5+RA7w==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/linkers/-/linkers-0.13.9.tgz", + "integrity": "sha512-hYiXYWIjPA1eOokuHADwPL4l++T5JGAzClWWoPUHAyEnjy2LE20vVvytdJZ4MOZTd9agaTvo2vF3yn/aN0Kt+Q==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.13.6", - "@devvit/protos": "0.13.6", - "@devvit/shared-types": "0.13.6" + "@devvit/build-pack": "0.13.9", + "@devvit/protos": "0.13.9", + "@devvit/shared-types": "0.13.9" } }, "node_modules/@devvit/media": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/media/-/media-0.13.6.tgz", - "integrity": "sha512-rcCJW/6a29fMBGt/Ak/LbS0iayu2IwA1jsYpeAi0dAiBLZAviiPN5BzYRtXzqCnMHZ0iciT0iLo+0Z4F7aSGwQ==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/media/-/media-0.13.9.tgz", + "integrity": "sha512-dZs0k63/JQB5fbuYmR7k6sefeQFO2vCA2nwkrtralR0hH7MuFWuPsZUONy6aODND9HyW5SWfCh/Z96lsoO62rQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.6" + "@devvit/protos": "0.13.9" }, "peerDependencies": { "@devvit/server": "*" } }, - "node_modules/@devvit/metrics": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/metrics/-/metrics-0.13.6.tgz", - "integrity": "sha512-/n011sBJ+fnFXmE6XEztQOhuFIn/kDQwVus4ePO6eH5iDPp2mJBhnSXNMZ4BHMq1x8BhOEnUH9tSgirjsABb3w==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.13.6" - } - }, "node_modules/@devvit/notifications": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/notifications/-/notifications-0.13.6.tgz", - "integrity": "sha512-mDgm+JSasIXQX5RN9yo8oJFMp1CYt9IXMgCDSbyXzVoAZQDE4HhvVpGSlk81uw1DKOsGrkRcMQsH4eGfj1bRmw==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/notifications/-/notifications-0.13.9.tgz", + "integrity": "sha512-p2l0yEEA7beNkatYq1Xok7EaUOajnMGfnaFHuEil6Fys8zxHaV6dRNdyaEx4cRfwF5WGhzg2r3GgURwcxTEr/w==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.6", - "@devvit/shared-types": "0.13.6" + "@devvit/protos": "0.13.9", + "@devvit/shared-types": "0.13.9" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/payments": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/payments/-/payments-0.13.6.tgz", - "integrity": "sha512-PY/nyAW7c2cQCcXVvziwJeoeB3M4TNMJ475YuB3S+5XMiCpvxQF743uTjzNRRHFqTQaD8GZufYCHNPLQmoPPQA==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/payments/-/payments-0.13.9.tgz", + "integrity": "sha512-8pQCoPoUTSpPb43S2wz0yYgA1mc0epoggBUz+PFZ7mc3Fi7Q6j2KbqzQmOB1tbo/t3waMlVRi9AKl4zDWCcdjQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.6", - "@devvit/public-api": "0.13.6", - "@devvit/server": "0.13.6", - "@devvit/shared-types": "0.13.6" + "@devvit/protos": "0.13.9", + "@devvit/public-api": "0.13.9", + "@devvit/server": "0.13.9", + "@devvit/shared-types": "0.13.9" } }, "node_modules/@devvit/protos": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.13.6.tgz", - "integrity": "sha512-Km5bRWhT6GJ6OR7Nq45rOZJ5KqWtZBDxM7cnWnJk2WqsGkJ4dXHAr1UByHXMEF3vaHtzprx4QuNJHAjOoitYXQ==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.13.9.tgz", + "integrity": "sha512-zi8FNacvHapfeY7oc9Tz/uIQJJXahtbWe95OAK9cMd/Ofe28JjdqOz/iVwARuJaURCdwbNrZKLQsR+q2+JgsGA==", "license": "BSD-3-Clause", "dependencies": { - "protobufjs": "7.5.8", + "protobufjs": "7.6.3", "rxjs": "7.8.1" }, "peerDependencies": { @@ -894,30 +885,35 @@ } }, "node_modules/@devvit/public-api": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.13.6.tgz", - "integrity": "sha512-UMBIx9OdNfNw9mTsdQ8UMcGIdLN3CcMHGMUb1zBNdBSNhpa9na5QaLaCVYBfrbZRJqAJw88rNgEVsq7IzA1Log==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.13.9.tgz", + "integrity": "sha512-nLrWLwoaCPtVwpJs+nlurcbQlgywiUjdCRJt9eIWknKyvHhx3BqCiNT8bVDMsHm6EQdu2bIqj1TGwTpISJmZ1w==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/metrics": "0.13.6", - "@devvit/protos": "0.13.6", - "@devvit/shared": "0.13.6", - "@devvit/shared-types": "0.13.6", + "@devvit/cache": "0.13.9", + "@devvit/media": "0.13.9", + "@devvit/protos": "0.13.9", + "@devvit/reddit": "0.13.9", + "@devvit/redis": "0.13.9", + "@devvit/scheduler": "0.13.9", + "@devvit/server": "0.13.9", + "@devvit/settings": "0.13.9", + "@devvit/shared": "0.13.9", + "@devvit/shared-types": "0.13.9", "base64-js": "1.5.1", "clone-deep": "4.0.1", - "jwt-decode": "4.0.0", "moderndash": "4.0.0" } }, "node_modules/@devvit/realtime": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/realtime/-/realtime-0.13.6.tgz", - "integrity": "sha512-hnQmnNonyChFdrhe7CgDfy6lNv1ctjCPt0Obep1AI86kLUqpNK0ntzW9bRwlsr5+SWEE/TASGwvH8xwMpyYQWw==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/realtime/-/realtime-0.13.9.tgz", + "integrity": "sha512-ikr9dOAieNnNQUl+Tv4JxGNCOF3GrFjPAccNJdBY02/3eZFL+d67MLXSawwCeNsDa7Bt4aEJIwRIzLvh5I5AEQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.6", - "@devvit/shared": "0.13.6", - "@devvit/shared-types": "0.13.6", + "@devvit/protos": "0.13.9", + "@devvit/shared": "0.13.9", + "@devvit/shared-types": "0.13.9", "rxjs": "7.8.1" }, "peerDependencies": { @@ -926,136 +922,136 @@ } }, "node_modules/@devvit/reddit": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/reddit/-/reddit-0.13.6.tgz", - "integrity": "sha512-CIpTfdvw3Yek9Xo/lJFo/J3m+SVSqMYEEippe9vqHqsV1aGeiR+ajd3PCAgNCSAZ7ORv5rKvXA/HKrvDJRWaoQ==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/reddit/-/reddit-0.13.9.tgz", + "integrity": "sha512-cFJuDbZApd3kHwxMzIJmI3HZAdT8HPykKc1UQ84ZgNy+pkmsl8ltZkSc2xqe8l3c8faHJrcZmar19Zew8CnNGg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.6", - "@devvit/shared": "0.13.6", - "@devvit/shared-types": "0.13.6" + "@devvit/protos": "0.13.9", + "@devvit/shared": "0.13.9", + "@devvit/shared-types": "0.13.9" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/redis": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/redis/-/redis-0.13.6.tgz", - "integrity": "sha512-8rpVoqPo4MujtwdIwcXkmuBjWVxmnlb3v1AyXfxGnwr7mMvSkZLktqiZjFVSGtmWfybWQGoAir8wsfFGh3a4rw==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/redis/-/redis-0.13.9.tgz", + "integrity": "sha512-nUqtguIOXQcpU38InJn3xid8U3543APkmUwi2zwglW+GvRnI9MJ8M29dr40L6fE7fu3PFQJeMG9JlbyXTd3FgA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.6", - "@devvit/shared-types": "0.13.6" + "@devvit/protos": "0.13.9", + "@devvit/shared-types": "0.13.9" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/scheduler": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/scheduler/-/scheduler-0.13.6.tgz", - "integrity": "sha512-F5RmiD74k4HY5YPgRwzoP8k+/WzFT6PQj9QIQ8PJjWfVQ8NUruMhHlueUv77HMt7SSjv8MDgd+4qwTYoSPlvFQ==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/scheduler/-/scheduler-0.13.9.tgz", + "integrity": "sha512-V8F+rTsr+ie0+qoMGlpdzpmacJnwT6K1SMLaCC9+nw5lZvQz+6ZAS0xmolJEVVDM8gotSLjbGE+zhQa7+vg+VA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.6", - "@devvit/shared": "0.13.6", - "@devvit/shared-types": "0.13.6" + "@devvit/protos": "0.13.9", + "@devvit/shared": "0.13.9", + "@devvit/shared-types": "0.13.9" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/server": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/server/-/server-0.13.6.tgz", - "integrity": "sha512-ejPbuDnzcLI1tnp4i1lzS5iRHsaxgyk5QaEv4eLXZm7iKhB0UAVPWiERd2cMCC6OOAOyKp3CEOuF1gojJA+ZUg==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/server/-/server-0.13.9.tgz", + "integrity": "sha512-b1S23KG3db4M8naNGeVVYZPjATq+tRE+rZFzd3jtMq02VnKMo9U83cQlz5pEElnYvxFFU9b4pEK0KRXBOBHSjg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.6", - "@devvit/public-api": "0.13.6", - "@devvit/shared": "0.13.6", - "@devvit/shared-types": "0.13.6" + "@devvit/protos": "0.13.9", + "@devvit/shared": "0.13.9", + "@devvit/shared-types": "0.13.9" } }, "node_modules/@devvit/settings": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/settings/-/settings-0.13.6.tgz", - "integrity": "sha512-ZVX0U0UqK4gl8HKPEhiWJwJftxrwjHSf/mBLIjupO39IajYhBVZHiQ4d4QK+eQGz+KEuIEqjJ+PEkRNemAGbcw==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/settings/-/settings-0.13.9.tgz", + "integrity": "sha512-yGenIsNDaPqTTvYuh2tbxo5XJJlgJYr1qCB+tY2b8B/D879BR77OvGgOzDduXr4mrvUm0O6o0rRdJmKsbcYM/g==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.6", - "@devvit/shared": "0.13.6", - "@devvit/shared-types": "0.13.6" + "@devvit/protos": "0.13.9", + "@devvit/shared": "0.13.9", + "@devvit/shared-types": "0.13.9" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/shared": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.13.6.tgz", - "integrity": "sha512-4oAdTpotEGKSjZsLLg61ZaHyCk7QzJ70oHMNKangcWej6xLX9p/pVdI+WFM2Q4c7xFR9GnWHzT9hYYZf3emC9g==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.13.9.tgz", + "integrity": "sha512-2dsSbMiMHzvuSjrcQSpnOR9WPm5sK+f718hLK1h3r/cZfyfdnsOMzajipuf0yc4bgyMwHil1acoQFb9tz+Xr2Q==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.6", - "@devvit/shared-types": "0.13.6" + "@devvit/protos": "0.13.9", + "@devvit/shared-types": "0.13.9" } }, "node_modules/@devvit/shared-types": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.13.6.tgz", - "integrity": "sha512-08EYlA1BKzLZrTBX5tXRmnOtIskF86ZbhpcP1479hdVnp3Rd2T5DJuMtXgW9sC7YX2dGjW+CqQIrcdU70fey4Q==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.13.9.tgz", + "integrity": "sha512-tlXUPOTlupkKZCzs3hNFtrW1EnibSCMp1xKXsOk9ryD0KpwqWbpYQsg5VbZAwyDARCbsaurEP5xWfksxCI2npg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.6", + "@devvit/protos": "0.13.9", "jsonschema": "1.4.1", + "jwt-decode": "4.0.0", "uuid": "14.0.0" } }, "node_modules/@devvit/start": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/start/-/start-0.13.6.tgz", - "integrity": "sha512-OrEbkeQM64NPLg5k8TnLsI3XzZ6jbnfZMKwK3StDKvS595wPYjzwpktx5UZ9pPQIy3RQbKAhlQX4ZzHSdlSSSA==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/start/-/start-0.13.9.tgz", + "integrity": "sha512-95PjG1FWzqV+IoWDWIX9pW86aWvSHsPHKUXm1fbufAfU3/33g/RA5neTSLj7MsTiEmhf7HWzS0oFjAGy7jH9GA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/shared-types": "0.13.6", + "@devvit/shared-types": "0.13.9", "chalk": "4.1.2" }, "peerDependencies": { - "vite": ">=6.0.0" + "vite": ">=7.3.5" } }, "node_modules/@devvit/web": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/web/-/web-0.13.6.tgz", - "integrity": "sha512-34LRvqp+qpIrc86fwdph9XWeO/xeM68WaAaMNTEShNvjClV96SS1aOKpOn4KbnxOtfi05jUBglhB1farUWKLsg==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/web/-/web-0.13.9.tgz", + "integrity": "sha512-GbmYWx8ImlZGFk9/unSOEcMhvyz2VZy2CaOoCJWfdTa8y2rRyyHwk1rodLKyDhmULfXmMLfATMtDKOel2UL+mQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/cache": "0.13.6", - "@devvit/client": "0.13.6", - "@devvit/external-endpoints": "0.13.6", - "@devvit/media": "0.13.6", - "@devvit/notifications": "0.13.6", - "@devvit/payments": "0.13.6", - "@devvit/realtime": "0.13.6", - "@devvit/reddit": "0.13.6", - "@devvit/redis": "0.13.6", - "@devvit/scheduler": "0.13.6", - "@devvit/server": "0.13.6", - "@devvit/settings": "0.13.6", - "@devvit/shared": "0.13.6" + "@devvit/cache": "0.13.9", + "@devvit/client": "0.13.9", + "@devvit/external-endpoints": "0.13.9", + "@devvit/media": "0.13.9", + "@devvit/notifications": "0.13.9", + "@devvit/payments": "0.13.9", + "@devvit/realtime": "0.13.9", + "@devvit/reddit": "0.13.9", + "@devvit/redis": "0.13.9", + "@devvit/scheduler": "0.13.9", + "@devvit/server": "0.13.9", + "@devvit/settings": "0.13.9", + "@devvit/shared": "0.13.9" } }, "node_modules/@devvit/web-view-scripts": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@devvit/web-view-scripts/-/web-view-scripts-0.13.6.tgz", - "integrity": "sha512-IYFMFNoSJON2f5PZ6T5vVOX+8PwIV7Y2wCEw3YXvFtJxpEKjBM4gpm5Jh/F0YIhkga3JBz5SViwYFHd5TslpxA==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@devvit/web-view-scripts/-/web-view-scripts-0.13.9.tgz", + "integrity": "sha512-hGZbO985Bd3nKJg4l25rJY7hYtcB3wkDiZGD9GWD87xHu1dt3gcRDEJuwck8tP+JTszNTuNWSOezhZuLRusAtQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.6", - "@devvit/shared": "0.13.6", - "@devvit/shared-types": "0.13.6", + "@devvit/protos": "0.13.9", + "@devvit/shared": "0.13.9", + "@devvit/shared-types": "0.13.9", "html-to-image": "1.11.13", "jwt-decode": "4.0.0" } @@ -1092,9 +1088,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.10.1.tgz", + "integrity": "sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg==", "dev": true, "license": "MIT", "dependencies": { @@ -1149,9 +1145,9 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz", - "integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.7.0.tgz", + "integrity": "sha512-DObd/KKUsU+FaFv4PLxSRenpXfQWmPXXP3pPZ6/K1PCrMu2vQpMDMuQe/BqYeoLcz8ro0bVDF1RxOJgfVEdhUw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1175,9 +1171,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.39.4", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", - "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", + "version": "9.39.5", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.5.tgz", + "integrity": "sha512-QywQuszQh77pIXCsq998c8hbhSTI/azTty1Z6N53dmAudKHhy573j3yvRLsX2BSp8YpLtoCEG8E9DJe+8zUh4A==", "dev": true, "license": "MIT", "engines": { @@ -1228,9 +1224,9 @@ } }, "node_modules/@hono/node-server": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.0.8.tgz", - "integrity": "sha512-GuCWzLxwg218fy1JaHculFsdcuY12hxit83V+algozTPnwhNjLrRL/Alg9OYjLZLoUZ1rw/S4CdTMsnkSKCmFA==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.0.12.tgz", + "integrity": "sha512-eWpQYr67tqJLeaSUl0Q+TquuYfUdTibpOJlUMV2FfUP7+KqCC5TufnwnlXL6mobZBJbGAYRd7ZvEBDCbLInjhg==", "license": "MIT", "engines": { "node": ">=20" @@ -1591,9 +1587,9 @@ } }, "node_modules/@oxc-project/types": { - "version": "0.138.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.138.0.tgz", - "integrity": "sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA==", + "version": "0.139.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.139.0.tgz", + "integrity": "sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/Boshen" @@ -1689,15 +1685,15 @@ "license": "BSD-3-Clause" }, "node_modules/@protobufjs/utf8": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.1.tgz", - "integrity": "sha512-oOAWABowe8EAbMyWKM0tYDKi8Yaox52D+HWZhAIJqQXbqe0xI/GV7FhLWqlEKreMkfDjshR5FKgi3mnle0h6Eg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.2.tgz", + "integrity": "sha512-b1UQwcEZ4yCnMCD8DAL1VlbvBJE9/IX4FTIp7BG1xYpf29SLazLSrqUkj4w7Y5y7cCVP6E5tcqqcI0xemPkHug==", "license": "BSD-3-Clause" }, "node_modules/@rolldown/binding-android-arm64": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.4.tgz", - "integrity": "sha512-EZLpf/8y7GXkkra90ML47kzik/GMP3EMcE9bPyHmRfxLC6z9+aW5A8poCsoxjrT5GfEcNAAvWwUHjvP1pUQkfw==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.5.tgz", + "integrity": "sha512-lZg8fqIv2v7FF237bwMgzGZEJvGL79/s5knJ/i6FmsGF4XXlzccZ4jb+TrFIxtSSxFtIpdsgrPZeMk1I9AFcyQ==", "cpu": [ "arm64" ], @@ -1711,9 +1707,9 @@ } }, "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.4.tgz", - "integrity": "sha512-aUi+HBvmYb7j8krl1+qJgkG8C17fO79gk3c+jPw4S8glRFc1DTija9S3EyaTSQUm5GJXYKDAsugBEhFHH2vYiQ==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.5.tgz", + "integrity": "sha512-51Bnx9pNiMRKSUNtBfySkNJ9vMU9Hh3I1ozDd6gyPPYzaXCfnptUcEZxXGYFn+ul2dtcMUiqGR1Yai2K10uoTw==", "cpu": [ "arm64" ], @@ -1727,9 +1723,9 @@ } }, "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.4.tgz", - "integrity": "sha512-F7hHC3gwY11+vByKPRWqwGbeXWVgKmL+pTGCinaEhdihzBV2aQ0fvZOch9cXYUOKuKKq429HeYXOqQLc7wFCEg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.5.tgz", + "integrity": "sha512-Tm+gbfC0aHu1tBA/JvKQh32S0K6YgCHkiAF4/W6xX0K0RmNuc94VeK419dJoE65R5aRxmo+noZQSWrAMF6yb6g==", "cpu": [ "x64" ], @@ -1743,9 +1739,9 @@ } }, "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.4.tgz", - "integrity": "sha512-sI5yw+7s92SK6odiEhD5lKCBlWcpjHS5qyqpVQbZAJ0fIzEUXrmbl3DH2ybR3PZogulNJF+COLtmA8hUfvkCCQ==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.5.tgz", + "integrity": "sha512-JMzDKCCXq93YccG5gz3hvOs1oXRKAf0XYpfOS88e+wZrC8Iugj6j68867vrYZkvpDDpKn/KoKORThmchMpF6TA==", "cpu": [ "x64" ], @@ -1759,9 +1755,9 @@ } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.4.tgz", - "integrity": "sha512-mCi0OKgEieFircrtVYmQAFGszRtMnZ6fpZAXrxanXAu7lqZcsK1E1RAaZNG0uKAnxox3B1f4EyQNnoyMfN1vAA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.5.tgz", + "integrity": "sha512-uML21j2K5TfPGutKxub+M+nLjZIrWjXQ5Grx4lCe/nimTj9B4L63zHpjXLl4y0L3mcm2htEQIb06oCG/szerNw==", "cpu": [ "arm" ], @@ -1775,9 +1771,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.4.tgz", - "integrity": "sha512-B9Ial3Kv5sh0SHnB1g/QWcUQCEvCF6QKGAl4zXypYj65mVI+B4AhFBwPtSN7pDrJeIx8Z7zdy4ntx+wQABom7w==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.5.tgz", + "integrity": "sha512-navSiuTMogvnQoZoM/v+l3ZWo50/NTwSHSzheABx/RCnmUPaKwq9qSo4Br2OYRs21+Fz8uFqITZM3H4opOB0/Q==", "cpu": [ "arm64" ], @@ -1791,9 +1787,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.4.tgz", - "integrity": "sha512-lZVym0PuHE1KZ22gmFTC15lAkrg9iTszR617oYRB/iPY1A56ywoJzVKOJBKaot5RiikCObmur6pogpse3gRcng==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.5.tgz", + "integrity": "sha512-lAryqH7IteztmCXQXk0etKj4wBQ7Gx5S6LjKhsgp9zb8I5bsuvU/2llH1hDQcjsFeqIsovMVN339/8pUDDBXxA==", "cpu": [ "arm64" ], @@ -1807,9 +1803,9 @@ } }, "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.4.tgz", - "integrity": "sha512-t2DNiLJWNTbnEHyUzTumldML6ET4/g16467LZoDDJ3tSxGvguL5/NyC2lCsNKuyRycg9XeDQF5SSv+TNOhQEXg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.5.tgz", + "integrity": "sha512-fsK/sNBnxzBlL4O1JNrZakVQxPspqpED5dLtNsZS9oOKmtSpdNIzxH2kkol5HYTWJN47sE20ztMJPxfZ89qGOg==", "cpu": [ "ppc64" ], @@ -1823,9 +1819,9 @@ } }, "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.4.tgz", - "integrity": "sha512-0WIRnL1Uw4BvTZRLQt+PVgo6ZKTJadlC2btP+/EOXv2f/DWbY0rEgl+y834mIVwP1FkTlWVTrGGJXf12lru7EQ==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.5.tgz", + "integrity": "sha512-gLYb4BIadlfTOYT5gO503n8zQjXflgzpD0FcyKh0Mzx3rqCZKnHoJWV9xe1KXUJ5lx2JfcSHr/mhzS0PC/McAA==", "cpu": [ "s390x" ], @@ -1839,9 +1835,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.4.tgz", - "integrity": "sha512-JWtGshGfX+oENAKonoNkqEJX+7hC8yfhi9GUyPX1VX4mdh1y5r+ZiJLR5XzAB0aoP6s/PcILsGjKq8O0mm24bw==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.5.tgz", + "integrity": "sha512-FjcpEKUyJygHgs1o50VYNvkt5+7Le/VEdYt0AkRpkL33MnyQfwr8l5mXwMmfmTbyMPr5vJLC+8/Gd9gXnwU1QQ==", "cpu": [ "x64" ], @@ -1855,9 +1851,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.4.tgz", - "integrity": "sha512-rT6yQcxUuXs4CnbofqwHRRV0iem349rLMYpTjkgQGLjrY4ado/eDzwPZPTCgTOlF6Nkp8NEv70yLMTn6qkWxsQ==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.5.tgz", + "integrity": "sha512-Me+PfPI2TMeOQk0gYWfLQZtTktrmzbr8cDboqX83XKc7UrgAi55gF+2dUkWdxd19n55Essp2yeca+O9N5rBxHg==", "cpu": [ "x64" ], @@ -1871,9 +1867,9 @@ } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.4.tgz", - "integrity": "sha512-KXMGoboq5cyaCQjDA4GLuRiOwBQ0EyFnJoVViLeZ45/3rFItRODEr+NdsBcVpll40hhNArlm/speWGRvj08LzA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.5.tgz", + "integrity": "sha512-yc5WrLzXks6zCQfn9Oxr8pORKyl/pF+QjHmW/Qx3qu0oyrrNC+y2JLTU1E2rcWYAmzlnqngWXHQjy51VzW70Vw==", "cpu": [ "arm64" ], @@ -1887,9 +1883,9 @@ } }, "node_modules/@rolldown/binding-wasm32-wasi": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.4.tgz", - "integrity": "sha512-5K83rb36oJiY7BCyE9zLZtGcPV4g5wvq+xwdO0XPIwDVZI8cyB/AUjkNXGb92/rnmezEkjMOpgY61rtwjQtFwg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.5.tgz", + "integrity": "sha512-VbQGPX2b4r48TAMIM2cjgluIM1HYutm4pcTEJsle7iEP7sB1dFqtPLBVbdLAZCxy1txCcPxf4QFf4v8uvltPqA==", "cpu": [ "wasm32" ], @@ -1905,9 +1901,9 @@ } }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.4.tgz", - "integrity": "sha512-PnWBtw3TV5KOg69HQQDR0mnQuyCmSGR2pAB4DC1rPF808fgKeTUMj2EOEyKATpgiuxuR5APQmiDO7PDgEjTFSA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.5.tgz", + "integrity": "sha512-gHv82k63z4qpV5+Q1y/12KrK0ltWBukVDI8nZcbT7Tt/ZlOIVwppazneq0F93oDxTo3IgAMEDIoQh3E2n6mVsw==", "cpu": [ "arm64" ], @@ -1921,9 +1917,9 @@ } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.4.tgz", - "integrity": "sha512-M1lpniBePobTfsa7Ks9a199e1akxsXn+GYBUKsEzv3YFzOm1HJAMNwKI3qr0Zq+mxwx9gOZoTdP1yXRYsZUocQ==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.5.tgz", + "integrity": "sha512-tTZuDBPw85tEN5PQi1pnEBzDy0Z49HtScLAbD5t6hyeU92A95pRWaSMw1GZZi/RwgSgUIl0xrSlXIT/9QzvYSA==", "cpu": [ "x64" ], @@ -2103,9 +2099,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.20.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.0.tgz", - "integrity": "sha512-QWlFW2wf3nTjC13/DqRnBpR4ZO36VJH/JVBkA/vcnmbTBNQIlnObqyqZE1tUR7+Ni23Lda8R1BxMfbXRpCUx5g==", + "version": "22.20.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.1.tgz", + "integrity": "sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==", "license": "MIT", "dependencies": { "undici-types": "~6.21.0" @@ -2129,17 +2125,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.62.1.tgz", - "integrity": "sha512-4EQM77WgVNxj7OkL/5b/D/xZsw00G577+UriYTC7JF5opcF3T2AuoeY7ueLaZgSVjSgCS6yOAJB5bRGLPSJUzA==", + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.65.0.tgz", + "integrity": "sha512-IEgob78X12rHpUmtcwFsXhZdVGJtwTVP8FiCLZkR6GlYVrl2PcuB+KhCE5BlVC/eQpQnu8WXRtkHZuPar+gCRA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.62.1", - "@typescript-eslint/type-utils": "8.62.1", - "@typescript-eslint/utils": "8.62.1", - "@typescript-eslint/visitor-keys": "8.62.1", + "@typescript-eslint/scope-manager": "8.65.0", + "@typescript-eslint/type-utils": "8.65.0", + "@typescript-eslint/utils": "8.65.0", + "@typescript-eslint/visitor-keys": "8.65.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -2152,22 +2148,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.62.1", + "@typescript-eslint/parser": "^8.65.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.62.1.tgz", - "integrity": "sha512-sPhE4iHuJDSvoAiec+Ro8JyXw8f0ql13HFR82P99nCm9GwTEKG0KYLvDe6REk8BCXuit6vJAv/Yxg5ABaNS2rA==", + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.65.0.tgz", + "integrity": "sha512-CZ4nMxWwgu1HEEFNkeaCptra9QCtkmKdgf3sWh1rl1trIhmxLilgTV4cwcbQ4wemnT4sWQN8CaKOmdYx+g2gMA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.62.1", - "@typescript-eslint/types": "8.62.1", - "@typescript-eslint/typescript-estree": "8.62.1", - "@typescript-eslint/visitor-keys": "8.62.1", + "@typescript-eslint/scope-manager": "8.65.0", + "@typescript-eslint/types": "8.65.0", + "@typescript-eslint/typescript-estree": "8.65.0", + "@typescript-eslint/visitor-keys": "8.65.0", "debug": "^4.4.3" }, "engines": { @@ -2183,14 +2179,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.62.1.tgz", - "integrity": "sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg==", + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.65.0.tgz", + "integrity": "sha512-SxnPhbTsGahizDgbu7oqFH/xVtzIqMd/s+WtnSxNxJZJpLbdT5IPdzg8EZxO3+PoKahXmwJLeNQOpKJb3/bi7Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.62.1", - "@typescript-eslint/types": "^8.62.1", + "@typescript-eslint/tsconfig-utils": "^8.65.0", + "@typescript-eslint/types": "^8.65.0", "debug": "^4.4.3" }, "engines": { @@ -2205,14 +2201,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.62.1.tgz", - "integrity": "sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg==", + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.65.0.tgz", + "integrity": "sha512-Esbl8OSYiVxBokYgWPf7VVWg/BE798wXhimnn9ML9Pt5qoDf8bfQlgjlKXR/k98+AcNzlLKYrpCcrcuZ9DZLgg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.62.1", - "@typescript-eslint/visitor-keys": "8.62.1" + "@typescript-eslint/types": "8.65.0", + "@typescript-eslint/visitor-keys": "8.65.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2223,9 +2219,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.62.1.tgz", - "integrity": "sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g==", + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.65.0.tgz", + "integrity": "sha512-j6GzGqCiRdA7Qhur2VVmKZAkBLfnHFQfx4TaJGL9RMveZqCo48jSHHO0DTgizEnGhtWnqmbtCUSrqSkdiY/0Hg==", "dev": true, "license": "MIT", "engines": { @@ -2240,15 +2236,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.62.1.tgz", - "integrity": "sha512-aXM5xlqXiTxPibXB93cLAURfT3rlizf7uMXISCXy66Isr/9hISJx3yDsKl0L7lKa51b8JpFuNKby0/O0pEm9jg==", + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.65.0.tgz", + "integrity": "sha512-YjaZ7PRI5qY7ax2L3PbvX0rRyGtipAReCWs0mhhDBHjH/vl0g0BonaGXrKdKpMbIIsMIwDgbk/xzkBTyAltS5g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.62.1", - "@typescript-eslint/typescript-estree": "8.62.1", - "@typescript-eslint/utils": "8.62.1", + "@typescript-eslint/types": "8.65.0", + "@typescript-eslint/typescript-estree": "8.65.0", + "@typescript-eslint/utils": "8.65.0", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -2265,9 +2261,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.62.1.tgz", - "integrity": "sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q==", + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.65.0.tgz", + "integrity": "sha512-JSSwWNy+H0E/01jJEM+hrX6N0OFDzFzeIhHFSAS01tlVaevpG8cFyYRPhS5yjGOvBUx3sqQHVMjCL1CAZZMxBg==", "dev": true, "license": "MIT", "engines": { @@ -2279,16 +2275,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.62.1.tgz", - "integrity": "sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA==", + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.65.0.tgz", + "integrity": "sha512-JboAE2swaYt4tb1fHhHTABE2K+OLy09XfcTbhnk4Pw96f9dd2e9iYsJ28gBggHlo5z5x1rkyWvcPoTuNTd4oGg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.62.1", - "@typescript-eslint/tsconfig-utils": "8.62.1", - "@typescript-eslint/types": "8.62.1", - "@typescript-eslint/visitor-keys": "8.62.1", + "@typescript-eslint/project-service": "8.65.0", + "@typescript-eslint/tsconfig-utils": "8.65.0", + "@typescript-eslint/types": "8.65.0", + "@typescript-eslint/visitor-keys": "8.65.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -2307,16 +2303,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.62.1.tgz", - "integrity": "sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g==", + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.65.0.tgz", + "integrity": "sha512-gXiwIHsYreboxeJucHKPvgwl7dXt50mF8s1/c00cP/WoVTyWKFdtfhRWwZiXYFU5H2O8vVoSLNrexFZjYS/SGA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.62.1", - "@typescript-eslint/types": "8.62.1", - "@typescript-eslint/typescript-estree": "8.62.1" + "@typescript-eslint/scope-manager": "8.65.0", + "@typescript-eslint/types": "8.65.0", + "@typescript-eslint/typescript-estree": "8.65.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2331,13 +2327,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.62.1.tgz", - "integrity": "sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g==", + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.65.0.tgz", + "integrity": "sha512-8C71BQkGjiMmXtop7pHVJu1l2NNShFdkCyD6a2ezzs5vU/L3LRtb69EtcteFwz0mYMPzIgOw0n6OV4VBUWZd7A==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/types": "8.65.0", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -2362,9 +2358,9 @@ } }, "node_modules/@vitest/eslint-plugin": { - "version": "1.6.21", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.6.21.tgz", - "integrity": "sha512-5nu7QuW5Dg9v4I9t9ZiU1Hh91BoG0x3lOzOWYTsr1bqpIqcHYzFSQ052LvZwGtEm7Trh+Mr2heYEmZ4LkDjfaA==", + "version": "1.6.24", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.6.24.tgz", + "integrity": "sha512-U5isuChJ58H1M6oRGaIotYbH2gM1rhzKUjtiarqpLNG/3+fzXIXs5RyTLrYQJmQPnXbvIMPFvI9z8ufpFZc8lg==", "dev": true, "license": "MIT", "dependencies": { @@ -2393,16 +2389,16 @@ } }, "node_modules/@vitest/expect": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.9.tgz", - "integrity": "sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.10.tgz", + "integrity": "sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==", "dev": true, "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.1.0", "@types/chai": "^5.2.2", - "@vitest/spy": "4.1.9", - "@vitest/utils": "4.1.9", + "@vitest/spy": "4.1.10", + "@vitest/utils": "4.1.10", "chai": "^6.2.2", "tinyrainbow": "^3.1.0" }, @@ -2411,13 +2407,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.9.tgz", - "integrity": "sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.10.tgz", + "integrity": "sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "4.1.9", + "@vitest/spy": "4.1.10", "estree-walker": "^3.0.3", "magic-string": "^0.30.21" }, @@ -2438,9 +2434,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.9.tgz", - "integrity": "sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.10.tgz", + "integrity": "sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==", "dev": true, "license": "MIT", "dependencies": { @@ -2451,13 +2447,13 @@ } }, "node_modules/@vitest/runner": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.9.tgz", - "integrity": "sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.10.tgz", + "integrity": "sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.1.9", + "@vitest/utils": "4.1.10", "pathe": "^2.0.3" }, "funding": { @@ -2465,14 +2461,14 @@ } }, "node_modules/@vitest/snapshot": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.9.tgz", - "integrity": "sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.10.tgz", + "integrity": "sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.9", - "@vitest/utils": "4.1.9", + "@vitest/pretty-format": "4.1.10", + "@vitest/utils": "4.1.10", "magic-string": "^0.30.21", "pathe": "^2.0.3" }, @@ -2481,9 +2477,9 @@ } }, "node_modules/@vitest/spy": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.9.tgz", - "integrity": "sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.10.tgz", + "integrity": "sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==", "dev": true, "license": "MIT", "funding": { @@ -2491,13 +2487,13 @@ } }, "node_modules/@vitest/utils": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.9.tgz", - "integrity": "sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.10.tgz", + "integrity": "sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.9", + "@vitest/pretty-format": "4.1.10", "convert-source-map": "^2.0.0", "tinyrainbow": "^3.1.0" }, @@ -2790,16 +2786,16 @@ } }, "node_modules/brace-expansion": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.7.tgz", - "integrity": "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.8.tgz", + "integrity": "sha512-JZyDyq3D4AUifKTPOB7DELf6XsB3WdPuNxCtob1vFXPsSXhdAiHBWJ/tJ8HAc9aH84BK+5JFZLNkJKx3G9kzQg==", "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^4.0.2" }, "engines": { - "node": "18 || 20 || >=22" + "node": "20 || >=22" } }, "node_modules/braces": { @@ -3406,13 +3402,13 @@ } }, "node_modules/devvit": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/devvit/-/devvit-0.13.6.tgz", - "integrity": "sha512-jn28/2lc4qZFwIicFDjusR5+GG5uSu6wLkZ1CjSQBB6cRIcAcfk+0xacmX6kvvftnItOmrOZOunSiDqouiO0tA==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/devvit/-/devvit-0.13.9.tgz", + "integrity": "sha512-d5bKpH2dZvr0i0gZ0orM+ZdXZBXPKDSDNjOWOgnsvamh1wLp1OMUyMzfusC5Aei4rYvvzkmCpvUNgci71qEP9w==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/cli": "0.13.6" + "@devvit/cli": "0.13.9" }, "bin": { "devvit": "bin/devvit.js" @@ -3564,9 +3560,9 @@ } }, "node_modules/es-module-lexer": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.0.tgz", - "integrity": "sha512-KLdwQm2NvGLDkQDCGvmiQrhkd0JbMzXthwQAUgWjQuQdBLFa3eiBP5arXZyA+f8x+x7OXgud6bq2rxjGtHV2tw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.1.tgz", + "integrity": "sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==", "dev": true, "license": "MIT" }, @@ -3613,9 +3609,9 @@ } }, "node_modules/eslint": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.6.0.tgz", - "integrity": "sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.8.0.tgz", + "integrity": "sha512-nuKKvN+oIBO0koN7Tm7dlkmnkc21mtt0QJLwAKzjLq14y6lRTdVG36MZHJ8eQHwdJMwZbQNMlPOYedMq/oVJvQ==", "dev": true, "license": "MIT", "workspaces": [ @@ -3625,7 +3621,7 @@ "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", "@eslint/config-array": "^0.23.5", - "@eslint/config-helpers": "^0.6.0", + "@eslint/config-helpers": "^0.7.0", "@eslint/core": "^1.2.1", "@eslint/plugin-kit": "^0.7.2", "@humanfs/node": "^0.16.6", @@ -3649,7 +3645,7 @@ "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", + "minimatch": "^10.2.5", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, @@ -4041,9 +4037,9 @@ "license": "MIT" }, "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", - "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.2.tgz", + "integrity": "sha512-w5JZcKgdhDOgOwm8H+KgbosopHMuGcl6qbulwjtz3SM7I7P3yW1eAjzMPLrIE+NQ9vjgANKHWeMHnrT0OXW1oA==", "dev": true, "license": "MIT", "dependencies": { @@ -4108,9 +4104,9 @@ } }, "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.3.tgz", + "integrity": "sha512-/zipXxyO6rGvuNGDiULY9MvEGSkb2gaG4GGH4ygMi0ZZzyMHdUZBmntJmx5x1G2VuPytCwGN4xsJP6cw+sK+vQ==", "dev": true, "license": "ISC" }, @@ -4326,9 +4322,9 @@ "license": "MIT" }, "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", - "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.16.tgz", + "integrity": "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==", "devOptional": true, "license": "MIT", "dependencies": { @@ -4487,9 +4483,9 @@ } }, "node_modules/hono": { - "version": "4.12.27", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.27.tgz", - "integrity": "sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q==", + "version": "4.12.32", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.32.tgz", + "integrity": "sha512-XcuyW9qE2kJn07PkecMOBd5Vq/hMy7mmGw+idz1yblbg9N17ijJODrvPkn7/dwL3Kulj8LcRJ69DLOWf91dRUg==", "license": "MIT", "engines": { "node": ">=16.9.0" @@ -5199,10 +5195,20 @@ } }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", + "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -5408,9 +5414,9 @@ } }, "node_modules/lightningcss": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", - "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.33.0.tgz", + "integrity": "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==", "license": "MPL-2.0", "dependencies": { "detect-libc": "^2.0.3" @@ -5423,23 +5429,23 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "lightningcss-android-arm64": "1.32.0", - "lightningcss-darwin-arm64": "1.32.0", - "lightningcss-darwin-x64": "1.32.0", - "lightningcss-freebsd-x64": "1.32.0", - "lightningcss-linux-arm-gnueabihf": "1.32.0", - "lightningcss-linux-arm64-gnu": "1.32.0", - "lightningcss-linux-arm64-musl": "1.32.0", - "lightningcss-linux-x64-gnu": "1.32.0", - "lightningcss-linux-x64-musl": "1.32.0", - "lightningcss-win32-arm64-msvc": "1.32.0", - "lightningcss-win32-x64-msvc": "1.32.0" + "lightningcss-android-arm64": "1.33.0", + "lightningcss-darwin-arm64": "1.33.0", + "lightningcss-darwin-x64": "1.33.0", + "lightningcss-freebsd-x64": "1.33.0", + "lightningcss-linux-arm-gnueabihf": "1.33.0", + "lightningcss-linux-arm64-gnu": "1.33.0", + "lightningcss-linux-arm64-musl": "1.33.0", + "lightningcss-linux-x64-gnu": "1.33.0", + "lightningcss-linux-x64-musl": "1.33.0", + "lightningcss-win32-arm64-msvc": "1.33.0", + "lightningcss-win32-x64-msvc": "1.33.0" } }, "node_modules/lightningcss-android-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", - "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.33.0.tgz", + "integrity": "sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==", "cpu": [ "arm64" ], @@ -5457,9 +5463,9 @@ } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", - "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.33.0.tgz", + "integrity": "sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==", "cpu": [ "arm64" ], @@ -5477,9 +5483,9 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", - "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.33.0.tgz", + "integrity": "sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==", "cpu": [ "x64" ], @@ -5497,9 +5503,9 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", - "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.33.0.tgz", + "integrity": "sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==", "cpu": [ "x64" ], @@ -5517,9 +5523,9 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", - "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.33.0.tgz", + "integrity": "sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==", "cpu": [ "arm" ], @@ -5537,9 +5543,9 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", - "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.33.0.tgz", + "integrity": "sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==", "cpu": [ "arm64" ], @@ -5557,9 +5563,9 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", - "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.33.0.tgz", + "integrity": "sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==", "cpu": [ "arm64" ], @@ -5577,9 +5583,9 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", - "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz", + "integrity": "sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==", "cpu": [ "x64" ], @@ -5597,9 +5603,9 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", - "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.33.0.tgz", + "integrity": "sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==", "cpu": [ "x64" ], @@ -5617,9 +5623,9 @@ } }, "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", - "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.33.0.tgz", + "integrity": "sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==", "cpu": [ "arm64" ], @@ -5637,9 +5643,9 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", - "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz", + "integrity": "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==", "cpu": [ "x64" ], @@ -5946,9 +5952,9 @@ "license": "ISC" }, "node_modules/nanoid": { - "version": "3.3.15", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz", - "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==", + "version": "3.3.16", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", + "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", "funding": [ { "type": "github", @@ -6049,9 +6055,9 @@ } }, "node_modules/obug": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.3.tgz", - "integrity": "sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.4.tgz", + "integrity": "sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==", "dev": true, "funding": [ "https://github.com/sponsors/sxzz", @@ -6447,9 +6453,9 @@ } }, "node_modules/postcss": { - "version": "8.5.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.16.tgz", - "integrity": "sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==", + "version": "8.5.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.23.tgz", + "integrity": "sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==", "funding": [ { "type": "opencollective", @@ -6466,7 +6472,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.12", + "nanoid": "^3.3.16", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -6524,24 +6530,24 @@ "license": "MIT" }, "node_modules/protobufjs": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.8.tgz", - "integrity": "sha512-dvpCIeLPbXZS/Ete7yLaO7RenOdken2NHKykBXbsaGxZT0UTltcarBciw+A78SRQs9iMAAVpsYA+l8b1hTePIA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.6.3.tgz", + "integrity": "sha512-+k0vdJKNdW+Vu+dYe8tZA/VvQb6XKNWexC6URwBFXxNnjLJz9nQJCemGyNgRAWD+B7+nGNc9qMPGwcD7s4nzUw==", "hasInstallScript": true, "license": "BSD-3-Clause", "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", "@protobufjs/codegen": "^2.0.5", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", + "@protobufjs/eventemitter": "^1.1.1", + "@protobufjs/fetch": "^1.1.1", "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.1", + "@protobufjs/inquire": "^1.1.2", "@protobufjs/path": "^1.1.2", "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.1", "@types/node": ">=13.7.0", - "long": "^5.0.0" + "long": "^5.3.2" }, "engines": { "node": ">=12.0.0" @@ -6692,12 +6698,12 @@ } }, "node_modules/rolldown": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.4.tgz", - "integrity": "sha512-IjZYiLxZwpnhwhdBH2ugdTGVSdhCQUmLxLoqyjiL0JxYjyRst+5a0P3xfrTxJ5F638j4Mvvw5FAX5XE6eHpXbA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.5.tgz", + "integrity": "sha512-t9z29cJjXf/vxQ8dyhCSpt6H6aSwHTk8cT5I3iy6SMXuFpk5mB6PL6XfC8PCwrPTx93udwKUm9HRteAlTGBLiA==", "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.138.0", + "@oxc-project/types": "=0.139.0", "@rolldown/pluginutils": "^1.0.0" }, "bin": { @@ -6707,21 +6713,21 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.1.4", - "@rolldown/binding-darwin-arm64": "1.1.4", - "@rolldown/binding-darwin-x64": "1.1.4", - "@rolldown/binding-freebsd-x64": "1.1.4", - "@rolldown/binding-linux-arm-gnueabihf": "1.1.4", - "@rolldown/binding-linux-arm64-gnu": "1.1.4", - "@rolldown/binding-linux-arm64-musl": "1.1.4", - "@rolldown/binding-linux-ppc64-gnu": "1.1.4", - "@rolldown/binding-linux-s390x-gnu": "1.1.4", - "@rolldown/binding-linux-x64-gnu": "1.1.4", - "@rolldown/binding-linux-x64-musl": "1.1.4", - "@rolldown/binding-openharmony-arm64": "1.1.4", - "@rolldown/binding-wasm32-wasi": "1.1.4", - "@rolldown/binding-win32-arm64-msvc": "1.1.4", - "@rolldown/binding-win32-x64-msvc": "1.1.4" + "@rolldown/binding-android-arm64": "1.1.5", + "@rolldown/binding-darwin-arm64": "1.1.5", + "@rolldown/binding-darwin-x64": "1.1.5", + "@rolldown/binding-freebsd-x64": "1.1.5", + "@rolldown/binding-linux-arm-gnueabihf": "1.1.5", + "@rolldown/binding-linux-arm64-gnu": "1.1.5", + "@rolldown/binding-linux-arm64-musl": "1.1.5", + "@rolldown/binding-linux-ppc64-gnu": "1.1.5", + "@rolldown/binding-linux-s390x-gnu": "1.1.5", + "@rolldown/binding-linux-x64-gnu": "1.1.5", + "@rolldown/binding-linux-x64-musl": "1.1.5", + "@rolldown/binding-openharmony-arm64": "1.1.5", + "@rolldown/binding-wasm32-wasi": "1.1.5", + "@rolldown/binding-win32-arm64-msvc": "1.1.5", + "@rolldown/binding-win32-x64-msvc": "1.1.5" } }, "node_modules/rrweb-cssom": { @@ -7041,9 +7047,9 @@ "license": "MIT" }, "node_modules/std-env": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz", - "integrity": "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.2.0.tgz", + "integrity": "sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==", "dev": true, "license": "MIT" }, @@ -7560,16 +7566,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.62.1.tgz", - "integrity": "sha512-vymnnM5g0AKQDSAyfP12nMIBvgwgA42syg74kkuZ4x1VuTzwQKwc5h9rGxeShCjny5o+zWAb6OEoz7XLgrIkIw==", + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.65.0.tgz", + "integrity": "sha512-/ggrHAwyjENDusvyxbuqxAC2dTnZg/Z8F+fgQtYIz+L6n/9HfSlEZcFGV/NsMNa6CkGk0xUjUAFwC0vHOflvIA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.62.1", - "@typescript-eslint/parser": "8.62.1", - "@typescript-eslint/typescript-estree": "8.62.1", - "@typescript-eslint/utils": "8.62.1" + "@typescript-eslint/eslint-plugin": "8.65.0", + "@typescript-eslint/parser": "8.65.0", + "@typescript-eslint/typescript-estree": "8.65.0", + "@typescript-eslint/utils": "8.65.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -7674,15 +7680,15 @@ "license": "MIT" }, "node_modules/vite": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.3.tgz", - "integrity": "sha512-Ds+gBRbj0lwRO2Y5hwnUBdxSwlAve9LeRyU4sNnAr0ewW0gWF0n5bgXgUzbgZ49MV9BVUAQUFYVcDUcilUExMA==", + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.5.tgz", + "integrity": "sha512-7ULLwsCdYx/nRyrpiEwvqb5TFHrMVZyBt+rg/OAXT7rgj/z+DtTDyKFeLAdDkubDVDKD8jOsndmy7m55XcfUsw==", "license": "MIT", "dependencies": { "lightningcss": "^1.32.0", - "picomatch": "^4.0.4", - "postcss": "^8.5.16", - "rolldown": "~1.1.3", + "picomatch": "^4.0.5", + "postcss": "^8.5.17", + "rolldown": "~1.1.5", "tinyglobby": "^0.2.17" }, "bin": { @@ -7751,19 +7757,19 @@ } }, "node_modules/vitest": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.9.tgz", - "integrity": "sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.10.tgz", + "integrity": "sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "4.1.9", - "@vitest/mocker": "4.1.9", - "@vitest/pretty-format": "4.1.9", - "@vitest/runner": "4.1.9", - "@vitest/snapshot": "4.1.9", - "@vitest/spy": "4.1.9", - "@vitest/utils": "4.1.9", + "@vitest/expect": "4.1.10", + "@vitest/mocker": "4.1.10", + "@vitest/pretty-format": "4.1.10", + "@vitest/runner": "4.1.10", + "@vitest/snapshot": "4.1.10", + "@vitest/spy": "4.1.10", + "@vitest/utils": "4.1.10", "es-module-lexer": "^2.0.0", "expect-type": "^1.3.0", "magic-string": "^0.30.21", @@ -7791,12 +7797,12 @@ "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.1.9", - "@vitest/browser-preview": "4.1.9", - "@vitest/browser-webdriverio": "4.1.9", - "@vitest/coverage-istanbul": "4.1.9", - "@vitest/coverage-v8": "4.1.9", - "@vitest/ui": "4.1.9", + "@vitest/browser-playwright": "4.1.10", + "@vitest/browser-preview": "4.1.10", + "@vitest/browser-webdriverio": "4.1.10", + "@vitest/coverage-istanbul": "4.1.10", + "@vitest/coverage-v8": "4.1.10", + "@vitest/ui": "4.1.10", "happy-dom": "*", "jsdom": "*", "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" @@ -8035,9 +8041,9 @@ "license": "ISC" }, "node_modules/ws": { - "version": "8.20.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz", - "integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", + "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", "dev": true, "license": "MIT", "engines": { @@ -8097,9 +8103,9 @@ } }, "node_modules/yoctocolors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", - "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.2.0.tgz", + "integrity": "sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index a386eee..58f01c5 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,8 @@ "node": ">=22.2.0" }, "dependencies": { - "@devvit/start": "0.13.6", - "@devvit/web": "0.13.6", + "@devvit/start": "0.13.9", + "@devvit/web": "0.13.9", "@hono/node-server": "^2.0.0", "hono": "^4.11.7", "pluralize": "^8.0.0" @@ -28,7 +28,7 @@ "@fsvreddit/eslint-config": "github:fsvreddit/eslint-config", "@types/node": "^22.19.7", "@types/pluralize": "^0.0.33", - "devvit": "0.13.6", + "devvit": "0.13.9", "eslint": "^10.0.0", "typescript": "5.8.3", "vite": "^8.0.0", From ddc6ef531c06ed70e6c65559d19be7dcebb4f16e Mon Sep 17 00:00:00 2001 From: fsvreddit <97185438+fsvreddit@users.noreply.github.com> Date: Fri, 7 Aug 2026 18:46:43 +0100 Subject: [PATCH 09/15] chore: update devvit and related packages to version 0.13.11 --- package-lock.json | 748 +++++++++++++++++++++------------------------- package.json | 6 +- 2 files changed, 338 insertions(+), 416 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1dafe86..520f47b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,8 @@ "version": "0.11.19", "license": "BSD-3-Clause", "dependencies": { - "@devvit/start": "0.13.9", - "@devvit/web": "0.13.9", + "@devvit/start": "0.13.11", + "@devvit/web": "0.13.11", "@hono/node-server": "^2.0.0", "hono": "^4.11.7", "pluralize": "^8.0.0" @@ -19,7 +19,7 @@ "@fsvreddit/eslint-config": "github:fsvreddit/eslint-config", "@types/node": "^22.19.7", "@types/pluralize": "^0.0.33", - "devvit": "0.13.9", + "devvit": "0.13.11", "eslint": "^10.0.0", "typescript": "5.8.3", "vite": "^8.0.0", @@ -183,15 +183,15 @@ } }, "node_modules/@devvit/build-pack": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/build-pack/-/build-pack-0.13.9.tgz", - "integrity": "sha512-HbUBUG2ArZXjyO4PXNzw4GPrbQ6i97/xs/UksIUejbkCxTa+0p55ewfY8YiUO6LF4oDlPzTSrTarY6jT/Tjmpw==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/build-pack/-/build-pack-0.13.11.tgz", + "integrity": "sha512-zPwOS28YG5Rv83po8pp06fw3r5g+GY68lIst02AdcmRqnn0mj3zbem6PIYdrwOSA1/OO8HzI2SKEwmyTh0nTdQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/payments": "0.13.9", - "@devvit/protos": "0.13.9", - "@devvit/shared-types": "0.13.9", + "@devvit/payments": "0.13.11", + "@devvit/protos": "0.13.11", + "@devvit/shared-types": "0.13.11", "@types/node": "20.14.12", "esbuild": "0.25.9", "rxjs": "7.8.1", @@ -705,42 +705,42 @@ "license": "MIT" }, "node_modules/@devvit/builders": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/builders/-/builders-0.13.9.tgz", - "integrity": "sha512-a+yoonCgsl3XYsAmeJqTgQAJTTe/z6jnl6XbtB1Wn+4G6AlV4/x2bByVVDzNuBQ3KsXO8DYGPHeAIUzqDmROaQ==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/builders/-/builders-0.13.11.tgz", + "integrity": "sha512-dq4hD78qm8lJ+bAhnDEGqaGGSwtyWBBKxtBnVPMf8V9/vE35mbwJjINYXAW+/9+PUk9wzhyndxvxld2pCac+8g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.13.9", - "@devvit/linkers": "0.13.9", - "@devvit/protos": "0.13.9", - "@devvit/shared-types": "0.13.9" + "@devvit/build-pack": "0.13.11", + "@devvit/linkers": "0.13.11", + "@devvit/protos": "0.13.11", + "@devvit/shared-types": "0.13.11" } }, "node_modules/@devvit/cache": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/cache/-/cache-0.13.9.tgz", - "integrity": "sha512-mTAtUzn7E9wTlOdwVp44cJFdEYTR95ngJDgdU7OC1HpztUa7onaBYEL/89xGRbMXzf4mgZsb4g60CV0cubhByg==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/cache/-/cache-0.13.11.tgz", + "integrity": "sha512-MTq2BcR4hbgbjSd6OWW55B2W2p9cXEKNlUFAa58soxPQzWbyqraQxF+SZJi/WQlaWEPaqJ5lXXpFDYD+akg4uw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/redis": "0.13.9", - "@devvit/server": "0.13.9", - "@devvit/shared-types": "0.13.9" + "@devvit/redis": "0.13.11", + "@devvit/server": "0.13.11", + "@devvit/shared-types": "0.13.11" } }, "node_modules/@devvit/cli": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/cli/-/cli-0.13.9.tgz", - "integrity": "sha512-lIPp/ems6muWZAzPLZ7p1Mo1BJPZXaRu+rADMskpwEo4Fc5dPuIwrpv8/BNERGIhZylCmBaGVFA3XuSkvdbROg==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/cli/-/cli-0.13.11.tgz", + "integrity": "sha512-zUrTo/LIQB6k9s5N07qt2OuE44SE6WPQYifiTzgSTdATOf0WoaIIb6v2nZbsF5QQngbFfK2dLCSbHvj/U1keWw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.13.9", - "@devvit/builders": "0.13.9", - "@devvit/linkers": "0.13.9", - "@devvit/protos": "0.13.9", - "@devvit/public-api": "0.13.9", - "@devvit/shared-types": "0.13.9", + "@devvit/build-pack": "0.13.11", + "@devvit/builders": "0.13.11", + "@devvit/linkers": "0.13.11", + "@devvit/protos": "0.13.11", + "@devvit/public-api": "0.13.11", + "@devvit/shared-types": "0.13.11", "@improbable-eng/grpc-web": "0.15.0", "@improbable-eng/grpc-web-node-http-transport": "0.15.0", "@oclif/core": "2.9.4", @@ -759,7 +759,7 @@ "image-size": "2.0.2", "inquirer": "9.1.4", "isomorphic-git": "1.33.1", - "js-yaml": "4.2.0", + "js-yaml": "4.3.0", "jsdom": "24.1.0", "jszip": "3.10.1", "mime-types": "3.0.2", @@ -793,83 +793,83 @@ } }, "node_modules/@devvit/client": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/client/-/client-0.13.9.tgz", - "integrity": "sha512-wJDkwFwwfn76VkG/U/aC8xW+9zj8eJuRYPr0AmDeRc8UuEEcI+N90sSrcOGkSdMlAyLubIhasREqxtcdLv5P7w==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/client/-/client-0.13.11.tgz", + "integrity": "sha512-n3x3t0hBbOm/jUYZNVPe0pXoSXWKh0vxzYs/cy+S31f7zeRtVzwYBuaWWgHDNcszGIDhuOJ0Vd6zRIt55sQQmw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.9", - "@devvit/shared": "0.13.9", - "@devvit/shared-types": "0.13.9", - "@devvit/web-view-scripts": "0.13.9" + "@devvit/protos": "0.13.11", + "@devvit/shared": "0.13.11", + "@devvit/shared-types": "0.13.11", + "@devvit/web-view-scripts": "0.13.11" } }, "node_modules/@devvit/external-endpoints": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/external-endpoints/-/external-endpoints-0.13.9.tgz", - "integrity": "sha512-bIi+63atvsb6c/5QeQt75UOXlM61L/MSNXHEQQ+yNlYYKo10ZoP7t97Hfe1jOzekmlkZ2sT2xKQw9zZL/ENLDg==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/external-endpoints/-/external-endpoints-0.13.11.tgz", + "integrity": "sha512-2xnVuV39UiKYzNFBsmcKl9yxJ0E/DYvLDcKUTCT6QFehpZO2IglNUQtUjGrZ/G9x4T387lz9onE0687+uvIFOg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.9", - "@devvit/shared-types": "0.13.9" + "@devvit/protos": "0.13.11", + "@devvit/shared-types": "0.13.11" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/linkers": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/linkers/-/linkers-0.13.9.tgz", - "integrity": "sha512-hYiXYWIjPA1eOokuHADwPL4l++T5JGAzClWWoPUHAyEnjy2LE20vVvytdJZ4MOZTd9agaTvo2vF3yn/aN0Kt+Q==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/linkers/-/linkers-0.13.11.tgz", + "integrity": "sha512-jzpBj6iymd+bgBwSAIiqn5l4aY3uYp9hPIqi2nw/uY4sSgdEtsz4VXF60d3cZH0QFB8TyeIbwuOrHBUbkkyQHg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.13.9", - "@devvit/protos": "0.13.9", - "@devvit/shared-types": "0.13.9" + "@devvit/build-pack": "0.13.11", + "@devvit/protos": "0.13.11", + "@devvit/shared-types": "0.13.11" } }, "node_modules/@devvit/media": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/media/-/media-0.13.9.tgz", - "integrity": "sha512-dZs0k63/JQB5fbuYmR7k6sefeQFO2vCA2nwkrtralR0hH7MuFWuPsZUONy6aODND9HyW5SWfCh/Z96lsoO62rQ==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/media/-/media-0.13.11.tgz", + "integrity": "sha512-H10Zonw94TVb/LlC+bQgQetkgG97ligWRXl8pSej8P38SxXAgx1A/o09wZCanafDBE2qURuI0D3qsvPVysPIkA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.9" + "@devvit/protos": "0.13.11" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/notifications": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/notifications/-/notifications-0.13.9.tgz", - "integrity": "sha512-p2l0yEEA7beNkatYq1Xok7EaUOajnMGfnaFHuEil6Fys8zxHaV6dRNdyaEx4cRfwF5WGhzg2r3GgURwcxTEr/w==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/notifications/-/notifications-0.13.11.tgz", + "integrity": "sha512-sD3K0HxZnLsdygC5In81tVcxfQ8W1a9Xb9qe5qoILc++a99kvEo7oa0NT2/LJu/UCAQ6ZtOSXYI/JekAJRF1XA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.9", - "@devvit/shared-types": "0.13.9" + "@devvit/protos": "0.13.11", + "@devvit/shared-types": "0.13.11" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/payments": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/payments/-/payments-0.13.9.tgz", - "integrity": "sha512-8pQCoPoUTSpPb43S2wz0yYgA1mc0epoggBUz+PFZ7mc3Fi7Q6j2KbqzQmOB1tbo/t3waMlVRi9AKl4zDWCcdjQ==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/payments/-/payments-0.13.11.tgz", + "integrity": "sha512-118Olnadmw+AnILR8t7quJmWNgET8A059OHs93KLeJyFFUK01gu7yWDzYAXPFaNpxXa5ncIdB3T63aMjWpz9Nw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.9", - "@devvit/public-api": "0.13.9", - "@devvit/server": "0.13.9", - "@devvit/shared-types": "0.13.9" + "@devvit/protos": "0.13.11", + "@devvit/public-api": "0.13.11", + "@devvit/server": "0.13.11", + "@devvit/shared-types": "0.13.11" } }, "node_modules/@devvit/protos": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.13.9.tgz", - "integrity": "sha512-zi8FNacvHapfeY7oc9Tz/uIQJJXahtbWe95OAK9cMd/Ofe28JjdqOz/iVwARuJaURCdwbNrZKLQsR+q2+JgsGA==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.13.11.tgz", + "integrity": "sha512-RZKBiewacdwkJW06ra+2x2F1kVVLM6yvJM0LFqESwHOI21ty4Cku4N561XL79LVyFofMHwm8kC2yKaR4jSwenw==", "license": "BSD-3-Clause", "dependencies": { "protobufjs": "7.6.3", @@ -885,35 +885,34 @@ } }, "node_modules/@devvit/public-api": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.13.9.tgz", - "integrity": "sha512-nLrWLwoaCPtVwpJs+nlurcbQlgywiUjdCRJt9eIWknKyvHhx3BqCiNT8bVDMsHm6EQdu2bIqj1TGwTpISJmZ1w==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.13.11.tgz", + "integrity": "sha512-TA/aAydYGBFT0O6+OyJ3b7SQjjyoMYyVrwz0nRsFe2E5bPFh+oVtaZV2yv+SprUXlFt2b4I7G/kcenhXF7ZClg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/cache": "0.13.9", - "@devvit/media": "0.13.9", - "@devvit/protos": "0.13.9", - "@devvit/reddit": "0.13.9", - "@devvit/redis": "0.13.9", - "@devvit/scheduler": "0.13.9", - "@devvit/server": "0.13.9", - "@devvit/settings": "0.13.9", - "@devvit/shared": "0.13.9", - "@devvit/shared-types": "0.13.9", - "base64-js": "1.5.1", + "@devvit/cache": "0.13.11", + "@devvit/media": "0.13.11", + "@devvit/protos": "0.13.11", + "@devvit/reddit": "0.13.11", + "@devvit/redis": "0.13.11", + "@devvit/scheduler": "0.13.11", + "@devvit/server": "0.13.11", + "@devvit/settings": "0.13.11", + "@devvit/shared": "0.13.11", + "@devvit/shared-types": "0.13.11", "clone-deep": "4.0.1", "moderndash": "4.0.0" } }, "node_modules/@devvit/realtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/realtime/-/realtime-0.13.9.tgz", - "integrity": "sha512-ikr9dOAieNnNQUl+Tv4JxGNCOF3GrFjPAccNJdBY02/3eZFL+d67MLXSawwCeNsDa7Bt4aEJIwRIzLvh5I5AEQ==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/realtime/-/realtime-0.13.11.tgz", + "integrity": "sha512-EYTJTeN0aLFCIJI/XIe5Ximr3knD98S2EwlLaQMKfzrSVzyspPYDuYAJYTPJ3lR+eL4VY2KdQ1zgqJ6/xouS7A==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.9", - "@devvit/shared": "0.13.9", - "@devvit/shared-types": "0.13.9", + "@devvit/protos": "0.13.11", + "@devvit/shared": "0.13.11", + "@devvit/shared-types": "0.13.11", "rxjs": "7.8.1" }, "peerDependencies": { @@ -922,100 +921,100 @@ } }, "node_modules/@devvit/reddit": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/reddit/-/reddit-0.13.9.tgz", - "integrity": "sha512-cFJuDbZApd3kHwxMzIJmI3HZAdT8HPykKc1UQ84ZgNy+pkmsl8ltZkSc2xqe8l3c8faHJrcZmar19Zew8CnNGg==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/reddit/-/reddit-0.13.11.tgz", + "integrity": "sha512-ZQ4F5lFItiUjkZBfRNv/N6Z1cbc51MwpvIAuIUJs1xQERz1+GI209R/u/L3SqhO380KTVagJUjTMvYq5hKtJ2Q==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.9", - "@devvit/shared": "0.13.9", - "@devvit/shared-types": "0.13.9" + "@devvit/protos": "0.13.11", + "@devvit/shared": "0.13.11", + "@devvit/shared-types": "0.13.11" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/redis": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/redis/-/redis-0.13.9.tgz", - "integrity": "sha512-nUqtguIOXQcpU38InJn3xid8U3543APkmUwi2zwglW+GvRnI9MJ8M29dr40L6fE7fu3PFQJeMG9JlbyXTd3FgA==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/redis/-/redis-0.13.11.tgz", + "integrity": "sha512-zVCl+ekkzpkvD5nwSBhrhZNxrpZUxYmPkuSz6sb0Dx6WhMjlHTNxc02Cw0kUnGcXCnP0GHKSIXymfiga7MtmXA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.9", - "@devvit/shared-types": "0.13.9" + "@devvit/protos": "0.13.11", + "@devvit/shared-types": "0.13.11" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/scheduler": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/scheduler/-/scheduler-0.13.9.tgz", - "integrity": "sha512-V8F+rTsr+ie0+qoMGlpdzpmacJnwT6K1SMLaCC9+nw5lZvQz+6ZAS0xmolJEVVDM8gotSLjbGE+zhQa7+vg+VA==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/scheduler/-/scheduler-0.13.11.tgz", + "integrity": "sha512-I3M8YCYpMtLmOlJF8zwFWut+2zAHUvKp/YAmvnTuETByXwXjvxwkRDu4gFGU4SVWBl+PuI8YEAcCS7f1g/BE3g==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.9", - "@devvit/shared": "0.13.9", - "@devvit/shared-types": "0.13.9" + "@devvit/protos": "0.13.11", + "@devvit/shared": "0.13.11", + "@devvit/shared-types": "0.13.11" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/server": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/server/-/server-0.13.9.tgz", - "integrity": "sha512-b1S23KG3db4M8naNGeVVYZPjATq+tRE+rZFzd3jtMq02VnKMo9U83cQlz5pEElnYvxFFU9b4pEK0KRXBOBHSjg==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/server/-/server-0.13.11.tgz", + "integrity": "sha512-OzDPcQQnmKnNe3IlWEmxqqLiXDzcFvUYIufCJgDIvdvRAsfxRl/q8I/K5nkNMCse57/Tfvmu/pE8He8EeJwC9w==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.9", - "@devvit/shared": "0.13.9", - "@devvit/shared-types": "0.13.9" + "@devvit/protos": "0.13.11", + "@devvit/shared": "0.13.11", + "@devvit/shared-types": "0.13.11" } }, "node_modules/@devvit/settings": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/settings/-/settings-0.13.9.tgz", - "integrity": "sha512-yGenIsNDaPqTTvYuh2tbxo5XJJlgJYr1qCB+tY2b8B/D879BR77OvGgOzDduXr4mrvUm0O6o0rRdJmKsbcYM/g==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/settings/-/settings-0.13.11.tgz", + "integrity": "sha512-ykxR1OBjHFPwT0HrudEA6tDJUV3aG12JWaOKyzvs5XwxBO60sVSw52xSArkZ1Jt+DPNjS2eARCXzY4Db83gpjA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.9", - "@devvit/shared": "0.13.9", - "@devvit/shared-types": "0.13.9" + "@devvit/protos": "0.13.11", + "@devvit/shared": "0.13.11", + "@devvit/shared-types": "0.13.11" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/shared": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.13.9.tgz", - "integrity": "sha512-2dsSbMiMHzvuSjrcQSpnOR9WPm5sK+f718hLK1h3r/cZfyfdnsOMzajipuf0yc4bgyMwHil1acoQFb9tz+Xr2Q==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.13.11.tgz", + "integrity": "sha512-VjzUTGX2Us9IkL80RQunoJMfVmHf095vOtz+FmxvEq1hMOGNveDV1yoqwQQCawsKD5HNIswQkCpaL5u9exUSFg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.9", - "@devvit/shared-types": "0.13.9" + "@devvit/protos": "0.13.11", + "@devvit/shared-types": "0.13.11" } }, "node_modules/@devvit/shared-types": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.13.9.tgz", - "integrity": "sha512-tlXUPOTlupkKZCzs3hNFtrW1EnibSCMp1xKXsOk9ryD0KpwqWbpYQsg5VbZAwyDARCbsaurEP5xWfksxCI2npg==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.13.11.tgz", + "integrity": "sha512-bT2ZNOJLrjHagME9DaQRvgwhWGIe2GvCyO+WljQ7LRSq9azLHJ2kR0YXlvNXCN9V3AUtYRRVbcK5PzPDkZ6OJw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.9", + "@devvit/protos": "0.13.11", "jsonschema": "1.4.1", "jwt-decode": "4.0.0", "uuid": "14.0.0" } }, "node_modules/@devvit/start": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/start/-/start-0.13.9.tgz", - "integrity": "sha512-95PjG1FWzqV+IoWDWIX9pW86aWvSHsPHKUXm1fbufAfU3/33g/RA5neTSLj7MsTiEmhf7HWzS0oFjAGy7jH9GA==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/start/-/start-0.13.11.tgz", + "integrity": "sha512-Pa2+GAcrm57zWBM/GS1jF2mw3xXRgkSIPd6jy9KI22fjGKLIvvcTEKRX0M8d4VzAT2xWzZ28bfbowI2tv7Amkw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/shared-types": "0.13.9", + "@devvit/shared-types": "0.13.11", "chalk": "4.1.2" }, "peerDependencies": { @@ -1023,70 +1022,39 @@ } }, "node_modules/@devvit/web": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/web/-/web-0.13.9.tgz", - "integrity": "sha512-GbmYWx8ImlZGFk9/unSOEcMhvyz2VZy2CaOoCJWfdTa8y2rRyyHwk1rodLKyDhmULfXmMLfATMtDKOel2UL+mQ==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/web/-/web-0.13.11.tgz", + "integrity": "sha512-KUlH/BnCcskIMHkj+qrTL0wECnJqnKJliMac3V9ybqQakoltMdStaC4PAgcmY2yQvPgcmSVK7TqmCM1X2O7y1w==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/cache": "0.13.9", - "@devvit/client": "0.13.9", - "@devvit/external-endpoints": "0.13.9", - "@devvit/media": "0.13.9", - "@devvit/notifications": "0.13.9", - "@devvit/payments": "0.13.9", - "@devvit/realtime": "0.13.9", - "@devvit/reddit": "0.13.9", - "@devvit/redis": "0.13.9", - "@devvit/scheduler": "0.13.9", - "@devvit/server": "0.13.9", - "@devvit/settings": "0.13.9", - "@devvit/shared": "0.13.9" + "@devvit/cache": "0.13.11", + "@devvit/client": "0.13.11", + "@devvit/external-endpoints": "0.13.11", + "@devvit/media": "0.13.11", + "@devvit/notifications": "0.13.11", + "@devvit/payments": "0.13.11", + "@devvit/realtime": "0.13.11", + "@devvit/reddit": "0.13.11", + "@devvit/redis": "0.13.11", + "@devvit/scheduler": "0.13.11", + "@devvit/server": "0.13.11", + "@devvit/settings": "0.13.11", + "@devvit/shared": "0.13.11" } }, "node_modules/@devvit/web-view-scripts": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@devvit/web-view-scripts/-/web-view-scripts-0.13.9.tgz", - "integrity": "sha512-hGZbO985Bd3nKJg4l25rJY7hYtcB3wkDiZGD9GWD87xHu1dt3gcRDEJuwck8tP+JTszNTuNWSOezhZuLRusAtQ==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/@devvit/web-view-scripts/-/web-view-scripts-0.13.11.tgz", + "integrity": "sha512-Hb2bBsjV+APiG72sNy73m66l95GhItNzHPeUyh8UXFquAM0ZGFLES1sqwVxnTPSo2N87LEXmAAXrNdnZRQy1WA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.9", - "@devvit/shared": "0.13.9", - "@devvit/shared-types": "0.13.9", + "@devvit/protos": "0.13.11", + "@devvit/shared": "0.13.11", + "@devvit/shared-types": "0.13.11", "html-to-image": "1.11.13", "jwt-decode": "4.0.0" } }, - "node_modules/@emnapi/core": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", - "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.2.2", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", - "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", - "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, "node_modules/@eslint-community/eslint-utils": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.10.1.tgz", @@ -1224,9 +1192,9 @@ } }, "node_modules/@hono/node-server": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.0.12.tgz", - "integrity": "sha512-eWpQYr67tqJLeaSUl0Q+TquuYfUdTibpOJlUMV2FfUP7+KqCC5TufnwnlXL6mobZBJbGAYRd7ZvEBDCbLInjhg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.1.0.tgz", + "integrity": "sha512-XovyyCCnBzW+zKu+z/zq8hwNs4KOR5rEMAOxo2f40Q5xoOI37IMm6MIg2COOUtUApo0i6850MTBKH2u4QLGIqg==", "license": "MIT", "engines": { "node": ">=20" @@ -1352,24 +1320,6 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz", - "integrity": "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==", - "license": "MIT", - "optional": true, - "dependencies": { - "@tybys/wasm-util": "^0.10.3" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - }, - "peerDependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1494,9 +1444,9 @@ } }, "node_modules/@oclif/core/node_modules/js-yaml": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.0.tgz", - "integrity": "sha512-ttBQIIQPDeLjpPOohtUdXuXUVoA2uIB6fEH9HyJ7234s5mBJ5wTx20njxplLZQgLaOfpmPQA7X2t5AX6tIPbog==", + "version": "3.15.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.1.tgz", + "integrity": "sha512-S99WuO3HlhO3XN41EtYUNl9zzXjoJx7QvmipxsJVxtCBT0YHEFy+iOJhjSvrmV12nYhWpZaM8lPHkJm0yUMbag==", "dev": true, "license": "MIT", "dependencies": { @@ -1587,9 +1537,9 @@ } }, "node_modules/@oxc-project/types": { - "version": "0.139.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.139.0.tgz", - "integrity": "sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw==", + "version": "0.143.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.143.0.tgz", + "integrity": "sha512-u6JZdLBTLotrNC9Vd6vPssINdzcCzleKAH6EJKImQb7GtYvX5keN2dxkoK44stCc4tffE6QQRtZTXVSzsLUlWA==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/Boshen" @@ -1691,9 +1641,9 @@ "license": "BSD-3-Clause" }, "node_modules/@rolldown/binding-android-arm64": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.5.tgz", - "integrity": "sha512-lZg8fqIv2v7FF237bwMgzGZEJvGL79/s5knJ/i6FmsGF4XXlzccZ4jb+TrFIxtSSxFtIpdsgrPZeMk1I9AFcyQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.3.tgz", + "integrity": "sha512-zrJtHDcaZJ1Fp7xf4hNl+7seH9Cn/N5TwLYkhgXREtBwAd/jaqW3uqeHxpDugJLVICWg4eW44kOQEGJ1r6jCGw==", "cpu": [ "arm64" ], @@ -1707,9 +1657,9 @@ } }, "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.5.tgz", - "integrity": "sha512-51Bnx9pNiMRKSUNtBfySkNJ9vMU9Hh3I1ozDd6gyPPYzaXCfnptUcEZxXGYFn+ul2dtcMUiqGR1Yai2K10uoTw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.3.tgz", + "integrity": "sha512-ieIiibVCp0tX7TLu2cafoNPv8wJyYi01ekXpbf8q2j7F4rGAhhXb/eQh7ge9DRBY78GwmRQtvjZDux7EDbA8kA==", "cpu": [ "arm64" ], @@ -1723,9 +1673,9 @@ } }, "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.5.tgz", - "integrity": "sha512-Tm+gbfC0aHu1tBA/JvKQh32S0K6YgCHkiAF4/W6xX0K0RmNuc94VeK419dJoE65R5aRxmo+noZQSWrAMF6yb6g==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.3.tgz", + "integrity": "sha512-Zh9tCon19eDXJoihx0rqKhMUlMYqzwj3aPsSuHmI4RWZh62dWUL+DJN4C5YQya5TcQBJU/Fe8+rY0jhXTQITqA==", "cpu": [ "x64" ], @@ -1739,9 +1689,9 @@ } }, "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.5.tgz", - "integrity": "sha512-JMzDKCCXq93YccG5gz3hvOs1oXRKAf0XYpfOS88e+wZrC8Iugj6j68867vrYZkvpDDpKn/KoKORThmchMpF6TA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.3.tgz", + "integrity": "sha512-nGbJWewA1wrXXZiQhjAT5rhibGfns5ZNkDVqxsO6zJ3f3YvpoDNNmGMSbbhLuXKjNScaBJVOAboztAWVespQMg==", "cpu": [ "x64" ], @@ -1755,9 +1705,9 @@ } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.5.tgz", - "integrity": "sha512-uML21j2K5TfPGutKxub+M+nLjZIrWjXQ5Grx4lCe/nimTj9B4L63zHpjXLl4y0L3mcm2htEQIb06oCG/szerNw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.3.tgz", + "integrity": "sha512-QNniJr5Kml0kDEB98jiDOJjXNroxIIi0IXIbdYzY26Xt1pVbeP62+KnoIZLwirOymX/0jDk/2gI/bNUv7A7OIw==", "cpu": [ "arm" ], @@ -1771,9 +1721,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.5.tgz", - "integrity": "sha512-navSiuTMogvnQoZoM/v+l3ZWo50/NTwSHSzheABx/RCnmUPaKwq9qSo4Br2OYRs21+Fz8uFqITZM3H4opOB0/Q==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.3.tgz", + "integrity": "sha512-TkqEAcmmvH3I/q4114NB4RVt6241Dao48pF45uLcFGrwAaIn0iITgTAKP/dLjbN0R4buJjGb91+UHSoFmpgIWw==", "cpu": [ "arm64" ], @@ -1787,9 +1737,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.5.tgz", - "integrity": "sha512-lAryqH7IteztmCXQXk0etKj4wBQ7Gx5S6LjKhsgp9zb8I5bsuvU/2llH1hDQcjsFeqIsovMVN339/8pUDDBXxA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.3.tgz", + "integrity": "sha512-NHqjnxpsndf4MPymxteFAWHHfkTL8HjWh1KB7z23ofZ6QO2euONuxDXjat69dKZRALnGypg8k8SsK8vZJoXv1Q==", "cpu": [ "arm64" ], @@ -1803,9 +1753,9 @@ } }, "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.5.tgz", - "integrity": "sha512-fsK/sNBnxzBlL4O1JNrZakVQxPspqpED5dLtNsZS9oOKmtSpdNIzxH2kkol5HYTWJN47sE20ztMJPxfZ89qGOg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.3.tgz", + "integrity": "sha512-6tbrbwfz5GB9DQ4Jwo6hy9v+vR31xZlvzZ6n5Xut6Hhx5PvrA9q/HsK8KMaYQp063iqZGXwNvZtYNLD7EM/x0w==", "cpu": [ "ppc64" ], @@ -1819,9 +1769,9 @@ } }, "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.5.tgz", - "integrity": "sha512-gLYb4BIadlfTOYT5gO503n8zQjXflgzpD0FcyKh0Mzx3rqCZKnHoJWV9xe1KXUJ5lx2JfcSHr/mhzS0PC/McAA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.3.tgz", + "integrity": "sha512-oyuXxXmoZHjXC917IAPFAAv4wWAa0cM9afk8nx1+9/jNNOX1uPf8yDA6p7G0RypOfw/X0PQt5IfoquY1um+zSg==", "cpu": [ "s390x" ], @@ -1835,9 +1785,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.5.tgz", - "integrity": "sha512-FjcpEKUyJygHgs1o50VYNvkt5+7Le/VEdYt0AkRpkL33MnyQfwr8l5mXwMmfmTbyMPr5vJLC+8/Gd9gXnwU1QQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.3.tgz", + "integrity": "sha512-TytMwF2KVGqP2tgd0I1OY0PAv78dZRAYcF5ssDzjM34SUXCED3uXvSd5+lHoC0bTD6eEdFz7LdQNCO1y0oVk9w==", "cpu": [ "x64" ], @@ -1851,9 +1801,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.5.tgz", - "integrity": "sha512-Me+PfPI2TMeOQk0gYWfLQZtTktrmzbr8cDboqX83XKc7UrgAi55gF+2dUkWdxd19n55Essp2yeca+O9N5rBxHg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.3.tgz", + "integrity": "sha512-/E9m3qstrJFVPoULV25mVQblSNExY2+kBsYe4sy0Tn0yOOgJ8wZbZt3KnRbF/XeU2Gl1STKUQnDNTqhIE5MD4A==", "cpu": [ "x64" ], @@ -1867,9 +1817,9 @@ } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.5.tgz", - "integrity": "sha512-yc5WrLzXks6zCQfn9Oxr8pORKyl/pF+QjHmW/Qx3qu0oyrrNC+y2JLTU1E2rcWYAmzlnqngWXHQjy51VzW70Vw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.3.tgz", + "integrity": "sha512-Kr0OcsoQI816i6HOl3vFHpd1K0eZyh76zgfj4c1nTyaTsd5r2Mj1lwM4R90y/qaCfmTn9eHy0SKwi98eitRxug==", "cpu": [ "arm64" ], @@ -1882,28 +1832,10 @@ "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@rolldown/binding-wasm32-wasi": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.5.tgz", - "integrity": "sha512-VbQGPX2b4r48TAMIM2cjgluIM1HYutm4pcTEJsle7iEP7sB1dFqtPLBVbdLAZCxy1txCcPxf4QFf4v8uvltPqA==", - "cpu": [ - "wasm32" - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "1.11.1", - "@emnapi/runtime": "1.11.1", - "@napi-rs/wasm-runtime": "^1.1.6" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.5.tgz", - "integrity": "sha512-gHv82k63z4qpV5+Q1y/12KrK0ltWBukVDI8nZcbT7Tt/ZlOIVwppazneq0F93oDxTo3IgAMEDIoQh3E2n6mVsw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.3.tgz", + "integrity": "sha512-hOtMwTqnME+/gJcH/PCZ0wn0zPUjiWOgkHpxbSJpfGKMezHltx1S7/k1SitzVa7Ww2cqrDDaFbZEhcJZO8o+Jw==", "cpu": [ "arm64" ], @@ -1917,9 +1849,9 @@ } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.5.tgz", - "integrity": "sha512-tTZuDBPw85tEN5PQi1pnEBzDy0Z49HtScLAbD5t6hyeU92A95pRWaSMw1GZZi/RwgSgUIl0xrSlXIT/9QzvYSA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.3.tgz", + "integrity": "sha512-ekcqMMkI2PlhYnfzQnB/cEdYUVVJViWvoUyLrbzgDoi3Snfc1mVBwdnc306ufA5ejy8JSPjT2RlW1nQSjW7efg==", "cpu": [ "x64" ], @@ -2039,16 +1971,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", - "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, "node_modules/@types/chai": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", @@ -2125,17 +2047,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.65.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.65.0.tgz", - "integrity": "sha512-IEgob78X12rHpUmtcwFsXhZdVGJtwTVP8FiCLZkR6GlYVrl2PcuB+KhCE5BlVC/eQpQnu8WXRtkHZuPar+gCRA==", + "version": "8.66.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.66.0.tgz", + "integrity": "sha512-p088eaGrzYz1s+7cov0aMOCkNGTJlVxF4jgubf28c8L0Cv9Rloj8YBHnv4hXLq6IIEE1AsjNWavO+k+8kP2Y0A==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.65.0", - "@typescript-eslint/type-utils": "8.65.0", - "@typescript-eslint/utils": "8.65.0", - "@typescript-eslint/visitor-keys": "8.65.0", + "@typescript-eslint/scope-manager": "8.66.0", + "@typescript-eslint/type-utils": "8.66.0", + "@typescript-eslint/utils": "8.66.0", + "@typescript-eslint/visitor-keys": "8.66.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -2148,22 +2070,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.65.0", + "@typescript-eslint/parser": "^8.66.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.65.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.65.0.tgz", - "integrity": "sha512-CZ4nMxWwgu1HEEFNkeaCptra9QCtkmKdgf3sWh1rl1trIhmxLilgTV4cwcbQ4wemnT4sWQN8CaKOmdYx+g2gMA==", + "version": "8.66.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.66.0.tgz", + "integrity": "sha512-X6ypGChaWYk6PBtUg2BwuTZEFFcHJAtGTVJ9/lCTOufhZ4i9fNolQNnktq+kkMCwMj7V8Svsq7+TxSDslmhE0g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.65.0", - "@typescript-eslint/types": "8.65.0", - "@typescript-eslint/typescript-estree": "8.65.0", - "@typescript-eslint/visitor-keys": "8.65.0", + "@typescript-eslint/scope-manager": "8.66.0", + "@typescript-eslint/types": "8.66.0", + "@typescript-eslint/typescript-estree": "8.66.0", + "@typescript-eslint/visitor-keys": "8.66.0", "debug": "^4.4.3" }, "engines": { @@ -2179,14 +2101,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.65.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.65.0.tgz", - "integrity": "sha512-SxnPhbTsGahizDgbu7oqFH/xVtzIqMd/s+WtnSxNxJZJpLbdT5IPdzg8EZxO3+PoKahXmwJLeNQOpKJb3/bi7Q==", + "version": "8.66.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.66.0.tgz", + "integrity": "sha512-7MthGPTt4BP69lSryqpqq8HQqxuzynssckL/jyDyk3+TNMQ3y2jFWkptCrktWvBrP+EH787Nl5N5Qpw7WZg+5g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.65.0", - "@typescript-eslint/types": "^8.65.0", + "@typescript-eslint/tsconfig-utils": "^8.66.0", + "@typescript-eslint/types": "^8.66.0", "debug": "^4.4.3" }, "engines": { @@ -2201,14 +2123,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.65.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.65.0.tgz", - "integrity": "sha512-Esbl8OSYiVxBokYgWPf7VVWg/BE798wXhimnn9ML9Pt5qoDf8bfQlgjlKXR/k98+AcNzlLKYrpCcrcuZ9DZLgg==", + "version": "8.66.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.66.0.tgz", + "integrity": "sha512-8TGcH25j9zqJ/IULB/ppyhRvxA8QYfFEZ7nfbg6/BN9spDgb8fPWQXlE5l8TWBL50EtUx007uZ1o9VOwrq2/9g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.65.0", - "@typescript-eslint/visitor-keys": "8.65.0" + "@typescript-eslint/types": "8.66.0", + "@typescript-eslint/visitor-keys": "8.66.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2219,9 +2141,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.65.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.65.0.tgz", - "integrity": "sha512-j6GzGqCiRdA7Qhur2VVmKZAkBLfnHFQfx4TaJGL9RMveZqCo48jSHHO0DTgizEnGhtWnqmbtCUSrqSkdiY/0Hg==", + "version": "8.66.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.66.0.tgz", + "integrity": "sha512-9D5gLYZG4rOjcoag8MQ/fWI8WqA9wcPDyOGyWtWFhvM1lHRbliqUSPIY5J3zqCU1tvSwzXxnnjhQhz5Ne7mJ4g==", "dev": true, "license": "MIT", "engines": { @@ -2236,15 +2158,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.65.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.65.0.tgz", - "integrity": "sha512-YjaZ7PRI5qY7ax2L3PbvX0rRyGtipAReCWs0mhhDBHjH/vl0g0BonaGXrKdKpMbIIsMIwDgbk/xzkBTyAltS5g==", + "version": "8.66.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.66.0.tgz", + "integrity": "sha512-LG2dWfjZQQp0ADtAu/EWJVayefGL2UEZ3CDeI44D9v3rXB/WYUqE/jpO28KrEKul5AySrmI+Zh1v6v+xW2U9+g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.65.0", - "@typescript-eslint/typescript-estree": "8.65.0", - "@typescript-eslint/utils": "8.65.0", + "@typescript-eslint/types": "8.66.0", + "@typescript-eslint/typescript-estree": "8.66.0", + "@typescript-eslint/utils": "8.66.0", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -2261,9 +2183,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.65.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.65.0.tgz", - "integrity": "sha512-JSSwWNy+H0E/01jJEM+hrX6N0OFDzFzeIhHFSAS01tlVaevpG8cFyYRPhS5yjGOvBUx3sqQHVMjCL1CAZZMxBg==", + "version": "8.66.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.66.0.tgz", + "integrity": "sha512-H6gcYaSDOyvL3AD/jHUtUFo2jqGgn/F6nuyuZSu0QTesxL+cP4dQoIMrODRofuJC09g64+WgZ6tE19Y1N2YIFQ==", "dev": true, "license": "MIT", "engines": { @@ -2275,16 +2197,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.65.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.65.0.tgz", - "integrity": "sha512-JboAE2swaYt4tb1fHhHTABE2K+OLy09XfcTbhnk4Pw96f9dd2e9iYsJ28gBggHlo5z5x1rkyWvcPoTuNTd4oGg==", + "version": "8.66.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.66.0.tgz", + "integrity": "sha512-8/x4INiiQb10jGgXYD7116/zQ+OL84ZIFn0za68wwFHCanT/VLbBEroWht8RV8fn0/ZCAoazHLQgwUC0UQcDfg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.65.0", - "@typescript-eslint/tsconfig-utils": "8.65.0", - "@typescript-eslint/types": "8.65.0", - "@typescript-eslint/visitor-keys": "8.65.0", + "@typescript-eslint/project-service": "8.66.0", + "@typescript-eslint/tsconfig-utils": "8.66.0", + "@typescript-eslint/types": "8.66.0", + "@typescript-eslint/visitor-keys": "8.66.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -2303,16 +2225,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.65.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.65.0.tgz", - "integrity": "sha512-gXiwIHsYreboxeJucHKPvgwl7dXt50mF8s1/c00cP/WoVTyWKFdtfhRWwZiXYFU5H2O8vVoSLNrexFZjYS/SGA==", + "version": "8.66.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.66.0.tgz", + "integrity": "sha512-jasearZPolBw5NJNYGMwxzHMF83niVWmMU1VdHzG1CyfI2VS7f7nZltnKtHcg20hW+7Uo5GfK4MeDPoU3qI8EA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.65.0", - "@typescript-eslint/types": "8.65.0", - "@typescript-eslint/typescript-estree": "8.65.0" + "@typescript-eslint/scope-manager": "8.66.0", + "@typescript-eslint/types": "8.66.0", + "@typescript-eslint/typescript-estree": "8.66.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2327,13 +2249,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.65.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.65.0.tgz", - "integrity": "sha512-8C71BQkGjiMmXtop7pHVJu1l2NNShFdkCyD6a2ezzs5vU/L3LRtb69EtcteFwz0mYMPzIgOw0n6OV4VBUWZd7A==", + "version": "8.66.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.66.0.tgz", + "integrity": "sha512-dkKR8q+lKciskj1Y3vthHktl+3cMLWGyVUP23bRiPZ5O9BRT++4EqDDV+TVeIKBL1VXVEqrJlz8MYbcnvJcAlg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.65.0", + "@typescript-eslint/types": "8.66.0", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -2358,9 +2280,9 @@ } }, "node_modules/@vitest/eslint-plugin": { - "version": "1.6.24", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.6.24.tgz", - "integrity": "sha512-U5isuChJ58H1M6oRGaIotYbH2gM1rhzKUjtiarqpLNG/3+fzXIXs5RyTLrYQJmQPnXbvIMPFvI9z8ufpFZc8lg==", + "version": "1.6.26", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.6.26.tgz", + "integrity": "sha512-2eawZk4MZvkEtMZFdScmCE0R1Rti85uRZpmbe9eAv5Q3blDZ5OxlrC9IHlSnxhDCqOO2xKNaD3oufl9BUlI0yA==", "dev": true, "license": "MIT", "dependencies": { @@ -2502,9 +2424,9 @@ } }, "node_modules/acorn": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", - "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz", + "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==", "dev": true, "license": "MIT", "bin": { @@ -2744,6 +2666,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, "funding": [ { "type": "github", @@ -2786,9 +2709,9 @@ } }, "node_modules/brace-expansion": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.8.tgz", - "integrity": "sha512-JZyDyq3D4AUifKTPOB7DELf6XsB3WdPuNxCtob1vFXPsSXhdAiHBWJ/tJ8HAc9aH84BK+5JFZLNkJKx3G9kzQg==", + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", + "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==", "dev": true, "license": "MIT", "dependencies": { @@ -3402,13 +3325,13 @@ } }, "node_modules/devvit": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/devvit/-/devvit-0.13.9.tgz", - "integrity": "sha512-d5bKpH2dZvr0i0gZ0orM+ZdXZBXPKDSDNjOWOgnsvamh1wLp1OMUyMzfusC5Aei4rYvvzkmCpvUNgci71qEP9w==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/devvit/-/devvit-0.13.11.tgz", + "integrity": "sha512-knLIK9QMbMiOcLkyoKlVhaZrNjY9Du5l2//tMFTKL9YJA/oKxvQrySs6FQXNhMYoF5tZIJHE4CPMrRcgpEjKQQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/cli": "0.13.9" + "@devvit/cli": "0.13.11" }, "bin": { "devvit": "bin/devvit.js" @@ -4037,9 +3960,9 @@ "license": "MIT" }, "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.2.tgz", - "integrity": "sha512-w5JZcKgdhDOgOwm8H+KgbosopHMuGcl6qbulwjtz3SM7I7P3yW1eAjzMPLrIE+NQ9vjgANKHWeMHnrT0OXW1oA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", + "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==", "dev": true, "license": "MIT", "dependencies": { @@ -4104,9 +4027,9 @@ } }, "node_modules/flatted": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.3.tgz", - "integrity": "sha512-/zipXxyO6rGvuNGDiULY9MvEGSkb2gaG4GGH4ygMi0ZZzyMHdUZBmntJmx5x1G2VuPytCwGN4xsJP6cw+sK+vQ==", + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.4.tgz", + "integrity": "sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==", "dev": true, "license": "ISC" }, @@ -4322,9 +4245,9 @@ "license": "MIT" }, "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.16", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.16.tgz", - "integrity": "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==", + "version": "1.1.18", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz", + "integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==", "devOptional": true, "license": "MIT", "dependencies": { @@ -4483,9 +4406,9 @@ } }, "node_modules/hono": { - "version": "4.12.32", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.32.tgz", - "integrity": "sha512-XcuyW9qE2kJn07PkecMOBd5Vq/hMy7mmGw+idz1yblbg9N17ijJODrvPkn7/dwL3Kulj8LcRJ69DLOWf91dRUg==", + "version": "4.13.1", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.13.1.tgz", + "integrity": "sha512-kdJoFVv2xmayw6cY09H7AbMJMt8Jn5jdlEdXsP7AGBdF2DIptVlKlOLKXP41yPip4/a3yQPv9gVcJYI8YY04dw==", "license": "MIT", "engines": { "node": ">=16.9.0" @@ -5195,9 +5118,9 @@ } }, "node_modules/js-yaml": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", - "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", "dev": true, "funding": [ { @@ -5866,13 +5789,13 @@ } }, "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", + "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^5.0.5" + "brace-expansion": "^5.0.8" }, "engines": { "node": "18 || 20 || >=22" @@ -5952,9 +5875,9 @@ "license": "ISC" }, "node_modules/nanoid": { - "version": "3.3.16", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", - "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", + "version": "3.3.18", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz", + "integrity": "sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==", "funding": [ { "type": "github", @@ -6453,9 +6376,9 @@ } }, "node_modules/postcss": { - "version": "8.5.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.23.tgz", - "integrity": "sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==", + "version": "8.5.26", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz", + "integrity": "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==", "funding": [ { "type": "opencollective", @@ -6472,7 +6395,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.16", + "nanoid": "^3.3.17", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -6698,12 +6621,12 @@ } }, "node_modules/rolldown": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.5.tgz", - "integrity": "sha512-t9z29cJjXf/vxQ8dyhCSpt6H6aSwHTk8cT5I3iy6SMXuFpk5mB6PL6XfC8PCwrPTx93udwKUm9HRteAlTGBLiA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.3.tgz", + "integrity": "sha512-rn9wpmxplLf7NLNyCk9FyWh3FM43DbY8jOzCdEPzH7uflhTftRbCEpqi6Ly2osgoU8OwObtmavMbWLaWy4LX7A==", "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.139.0", + "@oxc-project/types": "=0.143.0", "@rolldown/pluginutils": "^1.0.0" }, "bin": { @@ -6713,21 +6636,20 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.1.5", - "@rolldown/binding-darwin-arm64": "1.1.5", - "@rolldown/binding-darwin-x64": "1.1.5", - "@rolldown/binding-freebsd-x64": "1.1.5", - "@rolldown/binding-linux-arm-gnueabihf": "1.1.5", - "@rolldown/binding-linux-arm64-gnu": "1.1.5", - "@rolldown/binding-linux-arm64-musl": "1.1.5", - "@rolldown/binding-linux-ppc64-gnu": "1.1.5", - "@rolldown/binding-linux-s390x-gnu": "1.1.5", - "@rolldown/binding-linux-x64-gnu": "1.1.5", - "@rolldown/binding-linux-x64-musl": "1.1.5", - "@rolldown/binding-openharmony-arm64": "1.1.5", - "@rolldown/binding-wasm32-wasi": "1.1.5", - "@rolldown/binding-win32-arm64-msvc": "1.1.5", - "@rolldown/binding-win32-x64-msvc": "1.1.5" + "@rolldown/binding-android-arm64": "1.2.3", + "@rolldown/binding-darwin-arm64": "1.2.3", + "@rolldown/binding-darwin-x64": "1.2.3", + "@rolldown/binding-freebsd-x64": "1.2.3", + "@rolldown/binding-linux-arm-gnueabihf": "1.2.3", + "@rolldown/binding-linux-arm64-gnu": "1.2.3", + "@rolldown/binding-linux-arm64-musl": "1.2.3", + "@rolldown/binding-linux-ppc64-gnu": "1.2.3", + "@rolldown/binding-linux-s390x-gnu": "1.2.3", + "@rolldown/binding-linux-x64-gnu": "1.2.3", + "@rolldown/binding-linux-x64-musl": "1.2.3", + "@rolldown/binding-openharmony-arm64": "1.2.3", + "@rolldown/binding-win32-arm64-msvc": "1.2.3", + "@rolldown/binding-win32-x64-msvc": "1.2.3" } }, "node_modules/rrweb-cssom": { @@ -7242,9 +7164,9 @@ "license": "MIT" }, "node_modules/tinyexec": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", - "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.0.tgz", + "integrity": "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==", "dev": true, "license": "MIT", "engines": { @@ -7268,9 +7190,9 @@ } }, "node_modules/tinyrainbow": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", - "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.1.tgz", + "integrity": "sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==", "dev": true, "license": "MIT", "engines": { @@ -7566,16 +7488,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.65.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.65.0.tgz", - "integrity": "sha512-/ggrHAwyjENDusvyxbuqxAC2dTnZg/Z8F+fgQtYIz+L6n/9HfSlEZcFGV/NsMNa6CkGk0xUjUAFwC0vHOflvIA==", + "version": "8.66.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.66.0.tgz", + "integrity": "sha512-QlEbBPz/RuJ1XUHj29nm3t0F/O/cSlEnntozqPOYHnnTGAXFamnMBu5i9Vn6vhUPHGAjR+Vl+5J8vPN/BMUrJw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.65.0", - "@typescript-eslint/parser": "8.65.0", - "@typescript-eslint/typescript-estree": "8.65.0", - "@typescript-eslint/utils": "8.65.0" + "@typescript-eslint/eslint-plugin": "8.66.0", + "@typescript-eslint/parser": "8.66.0", + "@typescript-eslint/typescript-estree": "8.66.0", + "@typescript-eslint/utils": "8.66.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -7680,15 +7602,15 @@ "license": "MIT" }, "node_modules/vite": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.5.tgz", - "integrity": "sha512-7ULLwsCdYx/nRyrpiEwvqb5TFHrMVZyBt+rg/OAXT7rgj/z+DtTDyKFeLAdDkubDVDKD8jOsndmy7m55XcfUsw==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.2.1.tgz", + "integrity": "sha512-EU/eS7BH3XROHh2YnBefjM6DBKA6ZeMZEYQbj7NLWg5wHYlhB8B/Mayd5XsgWq+NFYccDOTemRpdETWR6Ka/lw==", "license": "MIT", "dependencies": { - "lightningcss": "^1.32.0", + "lightningcss": "^1.33.0", "picomatch": "^4.0.5", - "postcss": "^8.5.17", - "rolldown": "~1.1.5", + "postcss": "^8.5.25", + "rolldown": "~1.2.1", "tinyglobby": "^0.2.17" }, "bin": { @@ -7705,7 +7627,7 @@ }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", - "@vitejs/devtools": "^0.3.0", + "@vitejs/devtools": "^0.4.0", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", diff --git a/package.json b/package.json index 58f01c5..b7f5808 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,8 @@ "node": ">=22.2.0" }, "dependencies": { - "@devvit/start": "0.13.9", - "@devvit/web": "0.13.9", + "@devvit/start": "0.13.11", + "@devvit/web": "0.13.11", "@hono/node-server": "^2.0.0", "hono": "^4.11.7", "pluralize": "^8.0.0" @@ -28,7 +28,7 @@ "@fsvreddit/eslint-config": "github:fsvreddit/eslint-config", "@types/node": "^22.19.7", "@types/pluralize": "^0.0.33", - "devvit": "0.13.9", + "devvit": "0.13.11", "eslint": "^10.0.0", "typescript": "5.8.3", "vite": "^8.0.0", From b69d8ffdd49b77bfc5db645910f6c76dc24d3df9 Mon Sep 17 00:00:00 2001 From: fsvreddit <97185438+fsvreddit@users.noreply.github.com> Date: Wed, 12 Aug 2026 10:48:07 +0100 Subject: [PATCH 10/15] chore: update dependencies and node engine version - Bump node engine requirement to >=24.18.0 - Upgrade @devvit/start and @devvit/web to version 0.14.0 - Upgrade devvit to version 0.14.0 - Update @types/node to the latest compatible version --- package-lock.json | 462 +++++++++++++++++++++++----------------------- package.json | 10 +- 2 files changed, 236 insertions(+), 236 deletions(-) diff --git a/package-lock.json b/package-lock.json index 520f47b..5d5711d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,8 @@ "version": "0.11.19", "license": "BSD-3-Clause", "dependencies": { - "@devvit/start": "0.13.11", - "@devvit/web": "0.13.11", + "@devvit/start": "0.14.0", + "@devvit/web": "0.14.0", "@hono/node-server": "^2.0.0", "hono": "^4.11.7", "pluralize": "^8.0.0" @@ -19,14 +19,14 @@ "@fsvreddit/eslint-config": "github:fsvreddit/eslint-config", "@types/node": "^22.19.7", "@types/pluralize": "^0.0.33", - "devvit": "0.13.11", + "devvit": "0.14.0", "eslint": "^10.0.0", "typescript": "5.8.3", "vite": "^8.0.0", "vitest": "^4.0.7" }, "engines": { - "node": ">=22.2.0" + "node": ">=24.18.0" } }, "node_modules/@asamuzakjp/css-color": { @@ -183,16 +183,16 @@ } }, "node_modules/@devvit/build-pack": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/build-pack/-/build-pack-0.13.11.tgz", - "integrity": "sha512-zPwOS28YG5Rv83po8pp06fw3r5g+GY68lIst02AdcmRqnn0mj3zbem6PIYdrwOSA1/OO8HzI2SKEwmyTh0nTdQ==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/build-pack/-/build-pack-0.14.0.tgz", + "integrity": "sha512-WuzSVQ+/xskLYAhNIM/o9JvBdzZCaMAvPXpE6JqZfW2m/JDDyOqWRnrXHa8lj5oI/8ac6cr+OYXhuKtEh4oN6Q==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/payments": "0.13.11", - "@devvit/protos": "0.13.11", - "@devvit/shared-types": "0.13.11", - "@types/node": "20.14.12", + "@devvit/payments": "0.14.0", + "@devvit/protos": "0.14.0", + "@devvit/shared-types": "0.14.0", + "@types/node": "24.13.3", "esbuild": "0.25.9", "rxjs": "7.8.1", "tsv": "0.2.0", @@ -646,13 +646,13 @@ } }, "node_modules/@devvit/build-pack/node_modules/@types/node": { - "version": "20.14.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.12.tgz", - "integrity": "sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==", + "version": "24.13.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz", + "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~7.18.0" } }, "node_modules/@devvit/build-pack/node_modules/esbuild": { @@ -698,49 +698,49 @@ } }, "node_modules/@devvit/build-pack/node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", "dev": true, "license": "MIT" }, "node_modules/@devvit/builders": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/builders/-/builders-0.13.11.tgz", - "integrity": "sha512-dq4hD78qm8lJ+bAhnDEGqaGGSwtyWBBKxtBnVPMf8V9/vE35mbwJjINYXAW+/9+PUk9wzhyndxvxld2pCac+8g==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/builders/-/builders-0.14.0.tgz", + "integrity": "sha512-NTPo/G219BkYOgvsRfixEFm5ttUx65OazO4WWNyHNllSfarXmbO26LkE1UI29X/M7x9xborw9oiEChycwdZMMQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.13.11", - "@devvit/linkers": "0.13.11", - "@devvit/protos": "0.13.11", - "@devvit/shared-types": "0.13.11" + "@devvit/build-pack": "0.14.0", + "@devvit/linkers": "0.14.0", + "@devvit/protos": "0.14.0", + "@devvit/shared-types": "0.14.0" } }, "node_modules/@devvit/cache": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/cache/-/cache-0.13.11.tgz", - "integrity": "sha512-MTq2BcR4hbgbjSd6OWW55B2W2p9cXEKNlUFAa58soxPQzWbyqraQxF+SZJi/WQlaWEPaqJ5lXXpFDYD+akg4uw==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/cache/-/cache-0.14.0.tgz", + "integrity": "sha512-FrQl+kVusuDpPv5KW4P6UFu2g2gWJC5SHk+nd5dyUjaXSTivCuIpJVr1ux/4W4pEQXE6lcPgrM/iseq5dHPYEQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/redis": "0.13.11", - "@devvit/server": "0.13.11", - "@devvit/shared-types": "0.13.11" + "@devvit/redis": "0.14.0", + "@devvit/server": "0.14.0", + "@devvit/shared-types": "0.14.0" } }, "node_modules/@devvit/cli": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/cli/-/cli-0.13.11.tgz", - "integrity": "sha512-zUrTo/LIQB6k9s5N07qt2OuE44SE6WPQYifiTzgSTdATOf0WoaIIb6v2nZbsF5QQngbFfK2dLCSbHvj/U1keWw==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/cli/-/cli-0.14.0.tgz", + "integrity": "sha512-LWyd+xdu+qQfhS97U/ete7aNUGhFEWmU7BEbWpRsSDM7eAcz6q9VSNrz1pho0G6AB9yKnZRWW5F6aNAjAtvd4Q==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.13.11", - "@devvit/builders": "0.13.11", - "@devvit/linkers": "0.13.11", - "@devvit/protos": "0.13.11", - "@devvit/public-api": "0.13.11", - "@devvit/shared-types": "0.13.11", + "@devvit/build-pack": "0.14.0", + "@devvit/builders": "0.14.0", + "@devvit/linkers": "0.14.0", + "@devvit/protos": "0.14.0", + "@devvit/public-api": "0.14.0", + "@devvit/shared-types": "0.14.0", "@improbable-eng/grpc-web": "0.15.0", "@improbable-eng/grpc-web-node-http-transport": "0.15.0", "@oclif/core": "2.9.4", @@ -793,83 +793,83 @@ } }, "node_modules/@devvit/client": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/client/-/client-0.13.11.tgz", - "integrity": "sha512-n3x3t0hBbOm/jUYZNVPe0pXoSXWKh0vxzYs/cy+S31f7zeRtVzwYBuaWWgHDNcszGIDhuOJ0Vd6zRIt55sQQmw==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/client/-/client-0.14.0.tgz", + "integrity": "sha512-1lQZWXpY8xaQA9/jjl8QaZ/zJUkNx3zJDtkPmuLmwlE01JL2nyG4v15ulsoQJ28P0ntv1kRfYSa59PoSKsJCrg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.11", - "@devvit/shared": "0.13.11", - "@devvit/shared-types": "0.13.11", - "@devvit/web-view-scripts": "0.13.11" + "@devvit/protos": "0.14.0", + "@devvit/shared": "0.14.0", + "@devvit/shared-types": "0.14.0", + "@devvit/web-view-scripts": "0.14.0" } }, "node_modules/@devvit/external-endpoints": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/external-endpoints/-/external-endpoints-0.13.11.tgz", - "integrity": "sha512-2xnVuV39UiKYzNFBsmcKl9yxJ0E/DYvLDcKUTCT6QFehpZO2IglNUQtUjGrZ/G9x4T387lz9onE0687+uvIFOg==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/external-endpoints/-/external-endpoints-0.14.0.tgz", + "integrity": "sha512-hmktwBpxkgrjAy5vbD1HNJXnknm6yvQXvy84wzxMNMpCtDl+PWRF1f99sx99uYIAy/hpjYZPWbjzURRRc7ViXw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.11", - "@devvit/shared-types": "0.13.11" + "@devvit/protos": "0.14.0", + "@devvit/shared-types": "0.14.0" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/linkers": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/linkers/-/linkers-0.13.11.tgz", - "integrity": "sha512-jzpBj6iymd+bgBwSAIiqn5l4aY3uYp9hPIqi2nw/uY4sSgdEtsz4VXF60d3cZH0QFB8TyeIbwuOrHBUbkkyQHg==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/linkers/-/linkers-0.14.0.tgz", + "integrity": "sha512-PUlMO+Llzb0ihS9eIDjc9Co/QHMxJdgQ/u1ut0UMl1YWYBiiJv/1qnDc97H7+kqOq0Yz3TgKv5rbxKF9f29icw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.13.11", - "@devvit/protos": "0.13.11", - "@devvit/shared-types": "0.13.11" + "@devvit/build-pack": "0.14.0", + "@devvit/protos": "0.14.0", + "@devvit/shared-types": "0.14.0" } }, "node_modules/@devvit/media": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/media/-/media-0.13.11.tgz", - "integrity": "sha512-H10Zonw94TVb/LlC+bQgQetkgG97ligWRXl8pSej8P38SxXAgx1A/o09wZCanafDBE2qURuI0D3qsvPVysPIkA==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/media/-/media-0.14.0.tgz", + "integrity": "sha512-DXeyXNZ3fJj95gSmXLyBzaFQ8XTcWQYXoNM1oaMTZm4L1dVlB2fvN4OmcnxZkBkF9XidcU7U7gsPo61M7pjkwg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.11" + "@devvit/protos": "0.14.0" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/notifications": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/notifications/-/notifications-0.13.11.tgz", - "integrity": "sha512-sD3K0HxZnLsdygC5In81tVcxfQ8W1a9Xb9qe5qoILc++a99kvEo7oa0NT2/LJu/UCAQ6ZtOSXYI/JekAJRF1XA==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/notifications/-/notifications-0.14.0.tgz", + "integrity": "sha512-6b2TOlau+oqKJ2GzIewSknSvUsL7WenajhdXejflb16Rs577kCuTgCSz7UY0eRxgagUAL3MgRZoe9nPO7rj/ag==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.11", - "@devvit/shared-types": "0.13.11" + "@devvit/protos": "0.14.0", + "@devvit/shared-types": "0.14.0" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/payments": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/payments/-/payments-0.13.11.tgz", - "integrity": "sha512-118Olnadmw+AnILR8t7quJmWNgET8A059OHs93KLeJyFFUK01gu7yWDzYAXPFaNpxXa5ncIdB3T63aMjWpz9Nw==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/payments/-/payments-0.14.0.tgz", + "integrity": "sha512-uBVAqMo5rAg0wQq+1vleYaJ6ejxHIx7jp9W+AavXlaf1gGc7TRM8y4ILgvNqFATlRoFeqpt+W5hAbXCoSYmtiQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.11", - "@devvit/public-api": "0.13.11", - "@devvit/server": "0.13.11", - "@devvit/shared-types": "0.13.11" + "@devvit/protos": "0.14.0", + "@devvit/public-api": "0.14.0", + "@devvit/server": "0.14.0", + "@devvit/shared-types": "0.14.0" } }, "node_modules/@devvit/protos": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.13.11.tgz", - "integrity": "sha512-RZKBiewacdwkJW06ra+2x2F1kVVLM6yvJM0LFqESwHOI21ty4Cku4N561XL79LVyFofMHwm8kC2yKaR4jSwenw==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.14.0.tgz", + "integrity": "sha512-yRWDfdYgzoDAvhwa2UU3CG4kofZtd84Qm+TO/X7Z3e24m8Y/hSz8PRo+U5CSVyqaEf5TBmx2b7Rplh4bV05p/Q==", "license": "BSD-3-Clause", "dependencies": { "protobufjs": "7.6.3", @@ -885,34 +885,34 @@ } }, "node_modules/@devvit/public-api": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.13.11.tgz", - "integrity": "sha512-TA/aAydYGBFT0O6+OyJ3b7SQjjyoMYyVrwz0nRsFe2E5bPFh+oVtaZV2yv+SprUXlFt2b4I7G/kcenhXF7ZClg==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.14.0.tgz", + "integrity": "sha512-5EpL8SDPvnUpzO+57bLTK/Fuq50W+cFcP+hziEpQPo1Si8x8QDqW7H6M4IFlY3FQW0/P5WHVmlCnAjSoeSqFgQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/cache": "0.13.11", - "@devvit/media": "0.13.11", - "@devvit/protos": "0.13.11", - "@devvit/reddit": "0.13.11", - "@devvit/redis": "0.13.11", - "@devvit/scheduler": "0.13.11", - "@devvit/server": "0.13.11", - "@devvit/settings": "0.13.11", - "@devvit/shared": "0.13.11", - "@devvit/shared-types": "0.13.11", + "@devvit/cache": "0.14.0", + "@devvit/media": "0.14.0", + "@devvit/protos": "0.14.0", + "@devvit/reddit": "0.14.0", + "@devvit/redis": "0.14.0", + "@devvit/scheduler": "0.14.0", + "@devvit/server": "0.14.0", + "@devvit/settings": "0.14.0", + "@devvit/shared": "0.14.0", + "@devvit/shared-types": "0.14.0", "clone-deep": "4.0.1", "moderndash": "4.0.0" } }, "node_modules/@devvit/realtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/realtime/-/realtime-0.13.11.tgz", - "integrity": "sha512-EYTJTeN0aLFCIJI/XIe5Ximr3knD98S2EwlLaQMKfzrSVzyspPYDuYAJYTPJ3lR+eL4VY2KdQ1zgqJ6/xouS7A==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/realtime/-/realtime-0.14.0.tgz", + "integrity": "sha512-HzdKJlFNVz82BYXGRjftlnWnFxw7oKe+ZJUq83KE/ZRoaFTA+k6Orn+mhHAJ1BNG3yfTq4A9EGgjXsYzw34FTQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.11", - "@devvit/shared": "0.13.11", - "@devvit/shared-types": "0.13.11", + "@devvit/protos": "0.14.0", + "@devvit/shared": "0.14.0", + "@devvit/shared-types": "0.14.0", "rxjs": "7.8.1" }, "peerDependencies": { @@ -921,100 +921,100 @@ } }, "node_modules/@devvit/reddit": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/reddit/-/reddit-0.13.11.tgz", - "integrity": "sha512-ZQ4F5lFItiUjkZBfRNv/N6Z1cbc51MwpvIAuIUJs1xQERz1+GI209R/u/L3SqhO380KTVagJUjTMvYq5hKtJ2Q==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/reddit/-/reddit-0.14.0.tgz", + "integrity": "sha512-08I39k/GTSDZZVXpB2k9jX+3GZW5bV+rkgZJjNrwhshbtNIgZ+vSN/mPdbggEsI0l9UUWP4/QGGk8AX6MVbmtQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.11", - "@devvit/shared": "0.13.11", - "@devvit/shared-types": "0.13.11" + "@devvit/protos": "0.14.0", + "@devvit/shared": "0.14.0", + "@devvit/shared-types": "0.14.0" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/redis": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/redis/-/redis-0.13.11.tgz", - "integrity": "sha512-zVCl+ekkzpkvD5nwSBhrhZNxrpZUxYmPkuSz6sb0Dx6WhMjlHTNxc02Cw0kUnGcXCnP0GHKSIXymfiga7MtmXA==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/redis/-/redis-0.14.0.tgz", + "integrity": "sha512-9ogtjSSoOwjw8lFxKnprciTKwYKBeI8lCOVYv86YcPW8KJzYP6x0WJoeWaafIDlYBmCJ46v6KmCmmFpAcDWA2g==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.11", - "@devvit/shared-types": "0.13.11" + "@devvit/protos": "0.14.0", + "@devvit/shared-types": "0.14.0" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/scheduler": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/scheduler/-/scheduler-0.13.11.tgz", - "integrity": "sha512-I3M8YCYpMtLmOlJF8zwFWut+2zAHUvKp/YAmvnTuETByXwXjvxwkRDu4gFGU4SVWBl+PuI8YEAcCS7f1g/BE3g==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/scheduler/-/scheduler-0.14.0.tgz", + "integrity": "sha512-tNp0tDGl7/KSHIollynmJEZLKkyLO/9JGSomLm1O9nFajxdlepfXScRoIs0PY9Y6pJ+r+ht4cjmf7Rk4S/J04w==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.11", - "@devvit/shared": "0.13.11", - "@devvit/shared-types": "0.13.11" + "@devvit/protos": "0.14.0", + "@devvit/shared": "0.14.0", + "@devvit/shared-types": "0.14.0" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/server": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/server/-/server-0.13.11.tgz", - "integrity": "sha512-OzDPcQQnmKnNe3IlWEmxqqLiXDzcFvUYIufCJgDIvdvRAsfxRl/q8I/K5nkNMCse57/Tfvmu/pE8He8EeJwC9w==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/server/-/server-0.14.0.tgz", + "integrity": "sha512-5geWM7Yhnm36b8lZmxRHjhs4nm5cpZJOEVVhmM0EnVsTPMNQagbXxpubLvK97DkETVh/XvyRFEKqYxFi6rOFOg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.11", - "@devvit/shared": "0.13.11", - "@devvit/shared-types": "0.13.11" + "@devvit/protos": "0.14.0", + "@devvit/shared": "0.14.0", + "@devvit/shared-types": "0.14.0" } }, "node_modules/@devvit/settings": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/settings/-/settings-0.13.11.tgz", - "integrity": "sha512-ykxR1OBjHFPwT0HrudEA6tDJUV3aG12JWaOKyzvs5XwxBO60sVSw52xSArkZ1Jt+DPNjS2eARCXzY4Db83gpjA==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/settings/-/settings-0.14.0.tgz", + "integrity": "sha512-xH3/8vbq6yut4VKW9X/uKiOyY8usYh6L7xaY9vq8gHPXtpgVQ7St0Kl6FFfLYGbIMizY0z7LUxwDKLL4+ib6iw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.11", - "@devvit/shared": "0.13.11", - "@devvit/shared-types": "0.13.11" + "@devvit/protos": "0.14.0", + "@devvit/shared": "0.14.0", + "@devvit/shared-types": "0.14.0" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/shared": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.13.11.tgz", - "integrity": "sha512-VjzUTGX2Us9IkL80RQunoJMfVmHf095vOtz+FmxvEq1hMOGNveDV1yoqwQQCawsKD5HNIswQkCpaL5u9exUSFg==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.14.0.tgz", + "integrity": "sha512-9zsF4MUCT8MLOZKC4N7fiJM9ZT7IP7GnR1qQeZ5jG8aLYQr36WABdLQ9uloupuMEGw/3bLFXr1dy1xMy5Mv7Pg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.11", - "@devvit/shared-types": "0.13.11" + "@devvit/protos": "0.14.0", + "@devvit/shared-types": "0.14.0" } }, "node_modules/@devvit/shared-types": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.13.11.tgz", - "integrity": "sha512-bT2ZNOJLrjHagME9DaQRvgwhWGIe2GvCyO+WljQ7LRSq9azLHJ2kR0YXlvNXCN9V3AUtYRRVbcK5PzPDkZ6OJw==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.14.0.tgz", + "integrity": "sha512-0EsD+pWRofmx3dEhfrOadKEzDA4Y7s5At3aOqZ+u/KMNlKh7zFSi5nyrz4qk+l6IvM3OJE6/OGXroIWUXtWftw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.11", + "@devvit/protos": "0.14.0", "jsonschema": "1.4.1", "jwt-decode": "4.0.0", "uuid": "14.0.0" } }, "node_modules/@devvit/start": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/start/-/start-0.13.11.tgz", - "integrity": "sha512-Pa2+GAcrm57zWBM/GS1jF2mw3xXRgkSIPd6jy9KI22fjGKLIvvcTEKRX0M8d4VzAT2xWzZ28bfbowI2tv7Amkw==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/start/-/start-0.14.0.tgz", + "integrity": "sha512-lQoF91EirONE6JNok2li0sN5dUnPsnhWeZBe9imQ00kU/sXBSosM2X8DNK2eA2UwUMS9Q8Ja97KMO8uQvvNaQw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/shared-types": "0.13.11", + "@devvit/shared-types": "0.14.0", "chalk": "4.1.2" }, "peerDependencies": { @@ -1022,35 +1022,35 @@ } }, "node_modules/@devvit/web": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/web/-/web-0.13.11.tgz", - "integrity": "sha512-KUlH/BnCcskIMHkj+qrTL0wECnJqnKJliMac3V9ybqQakoltMdStaC4PAgcmY2yQvPgcmSVK7TqmCM1X2O7y1w==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/web/-/web-0.14.0.tgz", + "integrity": "sha512-3tQcN9aEJmPkv/2RZ9jfk5Cq25Lil4ynUE01j4N4T7IQjaqFulCTO0Bg5YwCFo6kTaEPDtAMGCrjcokfwOxg2A==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/cache": "0.13.11", - "@devvit/client": "0.13.11", - "@devvit/external-endpoints": "0.13.11", - "@devvit/media": "0.13.11", - "@devvit/notifications": "0.13.11", - "@devvit/payments": "0.13.11", - "@devvit/realtime": "0.13.11", - "@devvit/reddit": "0.13.11", - "@devvit/redis": "0.13.11", - "@devvit/scheduler": "0.13.11", - "@devvit/server": "0.13.11", - "@devvit/settings": "0.13.11", - "@devvit/shared": "0.13.11" + "@devvit/cache": "0.14.0", + "@devvit/client": "0.14.0", + "@devvit/external-endpoints": "0.14.0", + "@devvit/media": "0.14.0", + "@devvit/notifications": "0.14.0", + "@devvit/payments": "0.14.0", + "@devvit/realtime": "0.14.0", + "@devvit/reddit": "0.14.0", + "@devvit/redis": "0.14.0", + "@devvit/scheduler": "0.14.0", + "@devvit/server": "0.14.0", + "@devvit/settings": "0.14.0", + "@devvit/shared": "0.14.0" } }, "node_modules/@devvit/web-view-scripts": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@devvit/web-view-scripts/-/web-view-scripts-0.13.11.tgz", - "integrity": "sha512-Hb2bBsjV+APiG72sNy73m66l95GhItNzHPeUyh8UXFquAM0ZGFLES1sqwVxnTPSo2N87LEXmAAXrNdnZRQy1WA==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@devvit/web-view-scripts/-/web-view-scripts-0.14.0.tgz", + "integrity": "sha512-nv3fLKHIsqB163qGVjelQZKSePR4Y4SZBEI33+vj29QIBOkugJBwa0cbXDVKt54uNlssL21ss4rVA5b+Uw9MFA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.13.11", - "@devvit/shared": "0.13.11", - "@devvit/shared-types": "0.13.11", + "@devvit/protos": "0.14.0", + "@devvit/shared": "0.14.0", + "@devvit/shared-types": "0.14.0", "html-to-image": "1.11.13", "jwt-decode": "4.0.0" } @@ -2047,17 +2047,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.66.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.66.0.tgz", - "integrity": "sha512-p088eaGrzYz1s+7cov0aMOCkNGTJlVxF4jgubf28c8L0Cv9Rloj8YBHnv4hXLq6IIEE1AsjNWavO+k+8kP2Y0A==", + "version": "8.67.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.67.0.tgz", + "integrity": "sha512-Un7Heoyj65NREbKAyIrFxeM143NZpExWmy1Nep4DLeQOeLlTeumPjoNKnBrU5D5moWXbPJgRa5Uwcdu0faVNGQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.66.0", - "@typescript-eslint/type-utils": "8.66.0", - "@typescript-eslint/utils": "8.66.0", - "@typescript-eslint/visitor-keys": "8.66.0", + "@typescript-eslint/scope-manager": "8.67.0", + "@typescript-eslint/type-utils": "8.67.0", + "@typescript-eslint/utils": "8.67.0", + "@typescript-eslint/visitor-keys": "8.67.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -2070,22 +2070,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.66.0", + "@typescript-eslint/parser": "^8.67.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.66.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.66.0.tgz", - "integrity": "sha512-X6ypGChaWYk6PBtUg2BwuTZEFFcHJAtGTVJ9/lCTOufhZ4i9fNolQNnktq+kkMCwMj7V8Svsq7+TxSDslmhE0g==", + "version": "8.67.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.67.0.tgz", + "integrity": "sha512-fUBfTuuEulWqX6V8+O3PtScV01tzYYRUDTAirHFKoRAt7nOzoGiPt0M/bB47wWNy0coOOcgEwAMUtBpykMxl6w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.66.0", - "@typescript-eslint/types": "8.66.0", - "@typescript-eslint/typescript-estree": "8.66.0", - "@typescript-eslint/visitor-keys": "8.66.0", + "@typescript-eslint/scope-manager": "8.67.0", + "@typescript-eslint/types": "8.67.0", + "@typescript-eslint/typescript-estree": "8.67.0", + "@typescript-eslint/visitor-keys": "8.67.0", "debug": "^4.4.3" }, "engines": { @@ -2101,14 +2101,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.66.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.66.0.tgz", - "integrity": "sha512-7MthGPTt4BP69lSryqpqq8HQqxuzynssckL/jyDyk3+TNMQ3y2jFWkptCrktWvBrP+EH787Nl5N5Qpw7WZg+5g==", + "version": "8.67.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.67.0.tgz", + "integrity": "sha512-cvE8c7ulYeXN9fYuszhCeCsbzyVEXuhrRCybnBre7TUmqb5nRmBfQAwCj0O3WJFDeyAZt4VYv51vMCC9LHSdYw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.66.0", - "@typescript-eslint/types": "^8.66.0", + "@typescript-eslint/tsconfig-utils": "^8.67.0", + "@typescript-eslint/types": "^8.67.0", "debug": "^4.4.3" }, "engines": { @@ -2123,14 +2123,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.66.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.66.0.tgz", - "integrity": "sha512-8TGcH25j9zqJ/IULB/ppyhRvxA8QYfFEZ7nfbg6/BN9spDgb8fPWQXlE5l8TWBL50EtUx007uZ1o9VOwrq2/9g==", + "version": "8.67.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.67.0.tgz", + "integrity": "sha512-EgvsleTwS4E+WzzSvem8fAUubLwatMNF1B5hHSLQxcvs7q2dtRhGyujHwLJSYlG41niJ7GP24Aha2+0mb1b2kg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.66.0", - "@typescript-eslint/visitor-keys": "8.66.0" + "@typescript-eslint/types": "8.67.0", + "@typescript-eslint/visitor-keys": "8.67.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2141,9 +2141,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.66.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.66.0.tgz", - "integrity": "sha512-9D5gLYZG4rOjcoag8MQ/fWI8WqA9wcPDyOGyWtWFhvM1lHRbliqUSPIY5J3zqCU1tvSwzXxnnjhQhz5Ne7mJ4g==", + "version": "8.67.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.67.0.tgz", + "integrity": "sha512-vV+LUSv5njUWsknE71fqKTlXUva+R76SaeORd6Zojcunk/6DvKFXONU3BrAs2H49mbygUXt6gbYunzwqNwlhdg==", "dev": true, "license": "MIT", "engines": { @@ -2158,15 +2158,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.66.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.66.0.tgz", - "integrity": "sha512-LG2dWfjZQQp0ADtAu/EWJVayefGL2UEZ3CDeI44D9v3rXB/WYUqE/jpO28KrEKul5AySrmI+Zh1v6v+xW2U9+g==", + "version": "8.67.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.67.0.tgz", + "integrity": "sha512-aVWDXbRmdXO9siTfX4ditQI1T9+zVcNazT48EJCD0v40/9RIFoUgZ05CmGEq9H2gixRpjUn/iplwvlcvutJW/Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.66.0", - "@typescript-eslint/typescript-estree": "8.66.0", - "@typescript-eslint/utils": "8.66.0", + "@typescript-eslint/types": "8.67.0", + "@typescript-eslint/typescript-estree": "8.67.0", + "@typescript-eslint/utils": "8.67.0", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -2183,9 +2183,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.66.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.66.0.tgz", - "integrity": "sha512-H6gcYaSDOyvL3AD/jHUtUFo2jqGgn/F6nuyuZSu0QTesxL+cP4dQoIMrODRofuJC09g64+WgZ6tE19Y1N2YIFQ==", + "version": "8.67.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.67.0.tgz", + "integrity": "sha512-sBtgslww8nsMYUjhdPBiSyUqSzT8uR6g93A2QXnQC8+cGdjz0CyaOdqHDRJb1AtORbZCNUJBBeFA/tNR2uQmww==", "dev": true, "license": "MIT", "engines": { @@ -2197,16 +2197,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.66.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.66.0.tgz", - "integrity": "sha512-8/x4INiiQb10jGgXYD7116/zQ+OL84ZIFn0za68wwFHCanT/VLbBEroWht8RV8fn0/ZCAoazHLQgwUC0UQcDfg==", + "version": "8.67.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.67.0.tgz", + "integrity": "sha512-EKQBCE9yNlRJYm7jdTW5AhDacDUmSwQb0FAJAmK2EKYrNXIsa2vxcSZx6PvJ/dEdI6lS+Y9W+EXckLj0iPFGcw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.66.0", - "@typescript-eslint/tsconfig-utils": "8.66.0", - "@typescript-eslint/types": "8.66.0", - "@typescript-eslint/visitor-keys": "8.66.0", + "@typescript-eslint/project-service": "8.67.0", + "@typescript-eslint/tsconfig-utils": "8.67.0", + "@typescript-eslint/types": "8.67.0", + "@typescript-eslint/visitor-keys": "8.67.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -2225,16 +2225,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.66.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.66.0.tgz", - "integrity": "sha512-jasearZPolBw5NJNYGMwxzHMF83niVWmMU1VdHzG1CyfI2VS7f7nZltnKtHcg20hW+7Uo5GfK4MeDPoU3qI8EA==", + "version": "8.67.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.67.0.tgz", + "integrity": "sha512-U9D1FdwEWBwok3hxxSdhclMb0twvt9QnjIQ0VfQ1AiX2epnpSgv2ubVDsayOFyY8K6FX+AQ7E0FKWVG3iKsj1A==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.66.0", - "@typescript-eslint/types": "8.66.0", - "@typescript-eslint/typescript-estree": "8.66.0" + "@typescript-eslint/scope-manager": "8.67.0", + "@typescript-eslint/types": "8.67.0", + "@typescript-eslint/typescript-estree": "8.67.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2249,13 +2249,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.66.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.66.0.tgz", - "integrity": "sha512-dkKR8q+lKciskj1Y3vthHktl+3cMLWGyVUP23bRiPZ5O9BRT++4EqDDV+TVeIKBL1VXVEqrJlz8MYbcnvJcAlg==", + "version": "8.67.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.67.0.tgz", + "integrity": "sha512-fkv8dHRDqfGtTHuJeebdrQ7cX6Ad4WAS00rgHh9UGvMycF1mjBfsxry1XsLIFhWZ6Judlh6UdzK+TYlbpCXgnA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.66.0", + "@typescript-eslint/types": "8.67.0", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -2280,9 +2280,9 @@ } }, "node_modules/@vitest/eslint-plugin": { - "version": "1.6.26", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.6.26.tgz", - "integrity": "sha512-2eawZk4MZvkEtMZFdScmCE0R1Rti85uRZpmbe9eAv5Q3blDZ5OxlrC9IHlSnxhDCqOO2xKNaD3oufl9BUlI0yA==", + "version": "1.6.27", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.6.27.tgz", + "integrity": "sha512-X1RCAfwbatG4GFbJ/1PIHP9MSZMt0JJThqbYID+vS4L783k6QGlLPe421wQE8dHXuGCcenVLsydiM4qzsYWxhg==", "dev": true, "license": "MIT", "dependencies": { @@ -3325,13 +3325,13 @@ } }, "node_modules/devvit": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/devvit/-/devvit-0.13.11.tgz", - "integrity": "sha512-knLIK9QMbMiOcLkyoKlVhaZrNjY9Du5l2//tMFTKL9YJA/oKxvQrySs6FQXNhMYoF5tZIJHE4CPMrRcgpEjKQQ==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/devvit/-/devvit-0.14.0.tgz", + "integrity": "sha512-TlCRgspuay+sEmVqA1XrKEonhZmnEfv4yTz2K6qmBfFOqId7JdTOsmNO7UgITJbsf3eg5JlG/CAXT+2FtgQ63A==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/cli": "0.13.11" + "@devvit/cli": "0.14.0" }, "bin": { "devvit": "bin/devvit.js" @@ -3532,9 +3532,9 @@ } }, "node_modules/eslint": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.8.0.tgz", - "integrity": "sha512-nuKKvN+oIBO0koN7Tm7dlkmnkc21mtt0QJLwAKzjLq14y6lRTdVG36MZHJ8eQHwdJMwZbQNMlPOYedMq/oVJvQ==", + "version": "10.8.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.8.1.tgz", + "integrity": "sha512-wqA7W2jbsC/BnV9Iv1UZpKVFkO1AdNoSmYW8NWG4HNOBbkAMvIqDZ27pI2f07dqn583NcIC44ckjAcOXDL1QbQ==", "dev": true, "license": "MIT", "workspaces": [ @@ -7488,16 +7488,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.66.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.66.0.tgz", - "integrity": "sha512-QlEbBPz/RuJ1XUHj29nm3t0F/O/cSlEnntozqPOYHnnTGAXFamnMBu5i9Vn6vhUPHGAjR+Vl+5J8vPN/BMUrJw==", + "version": "8.67.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.67.0.tgz", + "integrity": "sha512-S2udFs8tCKEKffuJ4TB1idGUZiXdCPGi3IPBGWXarbLQ5UPXORV8QEVzJ4gCRduURMb5EkpNCdjbk0eDIuI8Yg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.66.0", - "@typescript-eslint/parser": "8.66.0", - "@typescript-eslint/typescript-estree": "8.66.0", - "@typescript-eslint/utils": "8.66.0" + "@typescript-eslint/eslint-plugin": "8.67.0", + "@typescript-eslint/parser": "8.67.0", + "@typescript-eslint/typescript-estree": "8.67.0", + "@typescript-eslint/utils": "8.67.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index b7f5808..e17c507 100644 --- a/package.json +++ b/package.json @@ -15,11 +15,11 @@ "type-check": "tsc --build" }, "engines": { - "node": ">=22.2.0" + "node": ">=24.18.0" }, "dependencies": { - "@devvit/start": "0.13.11", - "@devvit/web": "0.13.11", + "@devvit/start": "0.14.0", + "@devvit/web": "0.14.0", "@hono/node-server": "^2.0.0", "hono": "^4.11.7", "pluralize": "^8.0.0" @@ -28,10 +28,10 @@ "@fsvreddit/eslint-config": "github:fsvreddit/eslint-config", "@types/node": "^22.19.7", "@types/pluralize": "^0.0.33", - "devvit": "0.13.11", + "devvit": "0.14.0", "eslint": "^10.0.0", "typescript": "5.8.3", "vite": "^8.0.0", "vitest": "^4.0.7" } -} \ No newline at end of file +} From 9c887517a08a609d1f3a652ae15b8198d448edb3 Mon Sep 17 00:00:00 2001 From: fsvreddit <97185438+fsvreddit@users.noreply.github.com> Date: Thu, 13 Aug 2026 11:52:25 +0100 Subject: [PATCH 11/15] fix: correct label for skip distinguished comments in devvit.json --- devvit.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devvit.json b/devvit.json index cb257ee..d9bec27 100644 --- a/devvit.json +++ b/devvit.json @@ -45,7 +45,7 @@ "defaultValue": false }, "skipDistinguished": { - "label": "Default forSkip Distinguished Comments", + "label": "Default for Skip Distinguished Comments", "type": "boolean", "defaultValue": true }, From 3cbee4ad1df68123bf02d6c346aa07abd3909dc6 Mon Sep 17 00:00:00 2001 From: fsvreddit <97185438+fsvreddit@users.noreply.github.com> Date: Tue, 18 Aug 2026 13:40:54 +0100 Subject: [PATCH 12/15] chore: update devvit and related packages to version 0.14.1 --- package-lock.json | 582 ++++++++++++++++++++-------------------------- package.json | 8 +- 2 files changed, 250 insertions(+), 340 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5d5711d..2f23902 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,8 @@ "version": "0.11.19", "license": "BSD-3-Clause", "dependencies": { - "@devvit/start": "0.14.0", - "@devvit/web": "0.14.0", + "@devvit/start": "0.14.1", + "@devvit/web": "0.14.1", "@hono/node-server": "^2.0.0", "hono": "^4.11.7", "pluralize": "^8.0.0" @@ -19,7 +19,7 @@ "@fsvreddit/eslint-config": "github:fsvreddit/eslint-config", "@types/node": "^22.19.7", "@types/pluralize": "^0.0.33", - "devvit": "0.14.0", + "devvit": "0.14.1", "eslint": "^10.0.0", "typescript": "5.8.3", "vite": "^8.0.0", @@ -183,15 +183,15 @@ } }, "node_modules/@devvit/build-pack": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/build-pack/-/build-pack-0.14.0.tgz", - "integrity": "sha512-WuzSVQ+/xskLYAhNIM/o9JvBdzZCaMAvPXpE6JqZfW2m/JDDyOqWRnrXHa8lj5oI/8ac6cr+OYXhuKtEh4oN6Q==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/build-pack/-/build-pack-0.14.1.tgz", + "integrity": "sha512-vP0P92SdYGaoy9uHFkeReIFbgeHIueZrzy0q7Bj7aKnxzPt8I48NjY6G5oBqBItBzv/wsDamYlbGWLsMc/1GgA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/payments": "0.14.0", - "@devvit/protos": "0.14.0", - "@devvit/shared-types": "0.14.0", + "@devvit/payments": "0.14.1", + "@devvit/protos": "0.14.1", + "@devvit/shared-types": "0.14.1", "@types/node": "24.13.3", "esbuild": "0.25.9", "rxjs": "7.8.1", @@ -705,42 +705,42 @@ "license": "MIT" }, "node_modules/@devvit/builders": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/builders/-/builders-0.14.0.tgz", - "integrity": "sha512-NTPo/G219BkYOgvsRfixEFm5ttUx65OazO4WWNyHNllSfarXmbO26LkE1UI29X/M7x9xborw9oiEChycwdZMMQ==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/builders/-/builders-0.14.1.tgz", + "integrity": "sha512-W5Dg8lHaUKSm1AI0NxpYkdawN6kFPZm7v8T10Z8zs4q3Eh5GVfhe4a6ndd+9vxmMjQWbM9Ro6MWU+iKeup8pBQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.14.0", - "@devvit/linkers": "0.14.0", - "@devvit/protos": "0.14.0", - "@devvit/shared-types": "0.14.0" + "@devvit/build-pack": "0.14.1", + "@devvit/linkers": "0.14.1", + "@devvit/protos": "0.14.1", + "@devvit/shared-types": "0.14.1" } }, "node_modules/@devvit/cache": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/cache/-/cache-0.14.0.tgz", - "integrity": "sha512-FrQl+kVusuDpPv5KW4P6UFu2g2gWJC5SHk+nd5dyUjaXSTivCuIpJVr1ux/4W4pEQXE6lcPgrM/iseq5dHPYEQ==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/cache/-/cache-0.14.1.tgz", + "integrity": "sha512-xP2HYzQz5UhaGVqBHowpk0BFVojvbr455npsVQovNVusL14JgrBbnNq2WgcdPUXbvmBqERM661gomWnSn0Qbiw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/redis": "0.14.0", - "@devvit/server": "0.14.0", - "@devvit/shared-types": "0.14.0" + "@devvit/redis": "0.14.1", + "@devvit/server": "0.14.1", + "@devvit/shared-types": "0.14.1" } }, "node_modules/@devvit/cli": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/cli/-/cli-0.14.0.tgz", - "integrity": "sha512-LWyd+xdu+qQfhS97U/ete7aNUGhFEWmU7BEbWpRsSDM7eAcz6q9VSNrz1pho0G6AB9yKnZRWW5F6aNAjAtvd4Q==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/cli/-/cli-0.14.1.tgz", + "integrity": "sha512-BTZw/BkclgdMZHsmitND+pQdGw9bBCpQ0O6qCGKGvjv6omu1/WriUxc9DqhQzCAFi4+J4i+5ieJon/UAnaIixw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.14.0", - "@devvit/builders": "0.14.0", - "@devvit/linkers": "0.14.0", - "@devvit/protos": "0.14.0", - "@devvit/public-api": "0.14.0", - "@devvit/shared-types": "0.14.0", + "@devvit/build-pack": "0.14.1", + "@devvit/builders": "0.14.1", + "@devvit/linkers": "0.14.1", + "@devvit/protos": "0.14.1", + "@devvit/public-api": "0.14.1", + "@devvit/shared-types": "0.14.1", "@improbable-eng/grpc-web": "0.15.0", "@improbable-eng/grpc-web-node-http-transport": "0.15.0", "@oclif/core": "2.9.4", @@ -759,7 +759,7 @@ "image-size": "2.0.2", "inquirer": "9.1.4", "isomorphic-git": "1.33.1", - "js-yaml": "4.3.0", + "js-yaml": "4.3.1", "jsdom": "24.1.0", "jszip": "3.10.1", "mime-types": "3.0.2", @@ -793,83 +793,82 @@ } }, "node_modules/@devvit/client": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/client/-/client-0.14.0.tgz", - "integrity": "sha512-1lQZWXpY8xaQA9/jjl8QaZ/zJUkNx3zJDtkPmuLmwlE01JL2nyG4v15ulsoQJ28P0ntv1kRfYSa59PoSKsJCrg==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/client/-/client-0.14.1.tgz", + "integrity": "sha512-Vy35gWqjth7oPUiyXeu+DAEEXGeJoVVa4LTh8J7I4lbdW1wl0XpLBdEH0ot2qCcYRZ6OhlCIcMy0MJhxLpZmtQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.14.0", - "@devvit/shared": "0.14.0", - "@devvit/shared-types": "0.14.0", - "@devvit/web-view-scripts": "0.14.0" + "@devvit/protos": "0.14.1", + "@devvit/shared": "0.14.1", + "@devvit/shared-types": "0.14.1", + "@devvit/web-view-scripts": "0.14.1" } }, "node_modules/@devvit/external-endpoints": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/external-endpoints/-/external-endpoints-0.14.0.tgz", - "integrity": "sha512-hmktwBpxkgrjAy5vbD1HNJXnknm6yvQXvy84wzxMNMpCtDl+PWRF1f99sx99uYIAy/hpjYZPWbjzURRRc7ViXw==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/external-endpoints/-/external-endpoints-0.14.1.tgz", + "integrity": "sha512-iPuX/CF+VujPYiDL/r4g8GLP+KpIR9AX+BoZyCoK2JI0VUYLQYemiOC7zs96sNegupa55m1kkYhFb2dJzEppMw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.14.0", - "@devvit/shared-types": "0.14.0" + "@devvit/protos": "0.14.1", + "@devvit/shared-types": "0.14.1" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/linkers": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/linkers/-/linkers-0.14.0.tgz", - "integrity": "sha512-PUlMO+Llzb0ihS9eIDjc9Co/QHMxJdgQ/u1ut0UMl1YWYBiiJv/1qnDc97H7+kqOq0Yz3TgKv5rbxKF9f29icw==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/linkers/-/linkers-0.14.1.tgz", + "integrity": "sha512-hT6BTctKViZJCcXNTXGdITKcKw/uLnAL93HvC3wdnhxvI2arz6C3YJi2HN0NIncRynYJklyQQ3uUhi13W7wVZQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.14.0", - "@devvit/protos": "0.14.0", - "@devvit/shared-types": "0.14.0" + "@devvit/build-pack": "0.14.1", + "@devvit/protos": "0.14.1", + "@devvit/shared-types": "0.14.1" } }, "node_modules/@devvit/media": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/media/-/media-0.14.0.tgz", - "integrity": "sha512-DXeyXNZ3fJj95gSmXLyBzaFQ8XTcWQYXoNM1oaMTZm4L1dVlB2fvN4OmcnxZkBkF9XidcU7U7gsPo61M7pjkwg==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/media/-/media-0.14.1.tgz", + "integrity": "sha512-64uqjXlsMM9n0COjXS4mC3Ojt39Kns5KEFC8DBm5Zpy32uSiLq9VNIeyNf3glODxeUXNwS60OfU0zEtqH+QQ2A==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.14.0" + "@devvit/protos": "0.14.1" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/notifications": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/notifications/-/notifications-0.14.0.tgz", - "integrity": "sha512-6b2TOlau+oqKJ2GzIewSknSvUsL7WenajhdXejflb16Rs577kCuTgCSz7UY0eRxgagUAL3MgRZoe9nPO7rj/ag==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/notifications/-/notifications-0.14.1.tgz", + "integrity": "sha512-sDRCM5p46aTeLq+8UG9qnZpbMQH+LN/8ykJEx18MtCBZowW33OIHt3BTaf/i3UfMcAR8BL+H+T2+L+4aG28Bvw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.14.0", - "@devvit/shared-types": "0.14.0" + "@devvit/protos": "0.14.1", + "@devvit/shared-types": "0.14.1" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/payments": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/payments/-/payments-0.14.0.tgz", - "integrity": "sha512-uBVAqMo5rAg0wQq+1vleYaJ6ejxHIx7jp9W+AavXlaf1gGc7TRM8y4ILgvNqFATlRoFeqpt+W5hAbXCoSYmtiQ==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/payments/-/payments-0.14.1.tgz", + "integrity": "sha512-CCvBUC54lawBUVqbsRTwjftyu8lZPnXTIKb2k/QIVpnxesPu0hoxkgE27e0VcbPce9tGaoD7+s/Ov8j8p6SZ+A==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.14.0", - "@devvit/public-api": "0.14.0", - "@devvit/server": "0.14.0", - "@devvit/shared-types": "0.14.0" + "@devvit/protos": "0.14.1", + "@devvit/server": "0.14.1", + "@devvit/shared-types": "0.14.1" } }, "node_modules/@devvit/protos": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.14.0.tgz", - "integrity": "sha512-yRWDfdYgzoDAvhwa2UU3CG4kofZtd84Qm+TO/X7Z3e24m8Y/hSz8PRo+U5CSVyqaEf5TBmx2b7Rplh4bV05p/Q==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.14.1.tgz", + "integrity": "sha512-nzV02F7bWkcSBLGLiYkNLEr1aiBZsJK4CRIW4zZZQ5bimX+k8GsvJaou5Buh+0C1GCpxk9gkHwolDb1SePcq+A==", "license": "BSD-3-Clause", "dependencies": { "protobufjs": "7.6.3", @@ -885,34 +884,33 @@ } }, "node_modules/@devvit/public-api": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.14.0.tgz", - "integrity": "sha512-5EpL8SDPvnUpzO+57bLTK/Fuq50W+cFcP+hziEpQPo1Si8x8QDqW7H6M4IFlY3FQW0/P5WHVmlCnAjSoeSqFgQ==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.14.1.tgz", + "integrity": "sha512-Y8R27uJ3h9Ht0dGuzOIl98ZDuVSsHAEqHT+I/mO+SDCg7/xRSEU4yZ1FUfcQm9WzZ4V+xE5w/zf8NcdhHjSdIg==", + "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/cache": "0.14.0", - "@devvit/media": "0.14.0", - "@devvit/protos": "0.14.0", - "@devvit/reddit": "0.14.0", - "@devvit/redis": "0.14.0", - "@devvit/scheduler": "0.14.0", - "@devvit/server": "0.14.0", - "@devvit/settings": "0.14.0", - "@devvit/shared": "0.14.0", - "@devvit/shared-types": "0.14.0", - "clone-deep": "4.0.1", - "moderndash": "4.0.0" + "@devvit/cache": "0.14.1", + "@devvit/media": "0.14.1", + "@devvit/protos": "0.14.1", + "@devvit/reddit": "0.14.1", + "@devvit/redis": "0.14.1", + "@devvit/scheduler": "0.14.1", + "@devvit/server": "0.14.1", + "@devvit/settings": "0.14.1", + "@devvit/shared": "0.14.1", + "@devvit/shared-types": "0.14.1" } }, "node_modules/@devvit/realtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/realtime/-/realtime-0.14.0.tgz", - "integrity": "sha512-HzdKJlFNVz82BYXGRjftlnWnFxw7oKe+ZJUq83KE/ZRoaFTA+k6Orn+mhHAJ1BNG3yfTq4A9EGgjXsYzw34FTQ==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/realtime/-/realtime-0.14.1.tgz", + "integrity": "sha512-UxqcqI21xmzNTX8UGMtDs50WvgNxXw9QzXpDRoEZaq5hEcndqQ+fmUaXmJ6kdb8WMJIlUm/3UDa6V86SR4k8Vw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.14.0", - "@devvit/shared": "0.14.0", - "@devvit/shared-types": "0.14.0", + "@devvit/protos": "0.14.1", + "@devvit/shared": "0.14.1", + "@devvit/shared-types": "0.14.1", "rxjs": "7.8.1" }, "peerDependencies": { @@ -921,100 +919,100 @@ } }, "node_modules/@devvit/reddit": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/reddit/-/reddit-0.14.0.tgz", - "integrity": "sha512-08I39k/GTSDZZVXpB2k9jX+3GZW5bV+rkgZJjNrwhshbtNIgZ+vSN/mPdbggEsI0l9UUWP4/QGGk8AX6MVbmtQ==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/reddit/-/reddit-0.14.1.tgz", + "integrity": "sha512-j3bdmCPyc9MJmKg3JzHtDBzALk8Bb3D57nihp/YDYFsGgillYMwDaPEwsBU0eOv7mJyznN7Xn98WvV9ETFNYLg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.14.0", - "@devvit/shared": "0.14.0", - "@devvit/shared-types": "0.14.0" + "@devvit/protos": "0.14.1", + "@devvit/shared": "0.14.1", + "@devvit/shared-types": "0.14.1" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/redis": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/redis/-/redis-0.14.0.tgz", - "integrity": "sha512-9ogtjSSoOwjw8lFxKnprciTKwYKBeI8lCOVYv86YcPW8KJzYP6x0WJoeWaafIDlYBmCJ46v6KmCmmFpAcDWA2g==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/redis/-/redis-0.14.1.tgz", + "integrity": "sha512-SRb9rfWXLX9HEfAtGRkkZtc3p6MlntqWaZCYL2SOTLnVnoW170ZFVCZnF0NmmoL0VVhmitM29uYFx7ldzEyasA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.14.0", - "@devvit/shared-types": "0.14.0" + "@devvit/protos": "0.14.1", + "@devvit/shared-types": "0.14.1" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/scheduler": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/scheduler/-/scheduler-0.14.0.tgz", - "integrity": "sha512-tNp0tDGl7/KSHIollynmJEZLKkyLO/9JGSomLm1O9nFajxdlepfXScRoIs0PY9Y6pJ+r+ht4cjmf7Rk4S/J04w==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/scheduler/-/scheduler-0.14.1.tgz", + "integrity": "sha512-Ce8UJqljzb614Y0XQaz6qBukGZxm1gjJqDBLL5bXyZpFs2nXG5/TEPS1mcTIYMRcOMRnl4MW0OyK6GMaqjVeQA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.14.0", - "@devvit/shared": "0.14.0", - "@devvit/shared-types": "0.14.0" + "@devvit/protos": "0.14.1", + "@devvit/shared": "0.14.1", + "@devvit/shared-types": "0.14.1" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/server": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/server/-/server-0.14.0.tgz", - "integrity": "sha512-5geWM7Yhnm36b8lZmxRHjhs4nm5cpZJOEVVhmM0EnVsTPMNQagbXxpubLvK97DkETVh/XvyRFEKqYxFi6rOFOg==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/server/-/server-0.14.1.tgz", + "integrity": "sha512-TcI8lja660gb8TDjiTQCv0MMZ6TsKuHP55QFARdLQ/f5TVBRgx9vlb5tvaU4jjBcUzCHY/49DryAfMGV2gu7uA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.14.0", - "@devvit/shared": "0.14.0", - "@devvit/shared-types": "0.14.0" + "@devvit/protos": "0.14.1", + "@devvit/shared": "0.14.1", + "@devvit/shared-types": "0.14.1" } }, "node_modules/@devvit/settings": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/settings/-/settings-0.14.0.tgz", - "integrity": "sha512-xH3/8vbq6yut4VKW9X/uKiOyY8usYh6L7xaY9vq8gHPXtpgVQ7St0Kl6FFfLYGbIMizY0z7LUxwDKLL4+ib6iw==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/settings/-/settings-0.14.1.tgz", + "integrity": "sha512-i46csGOhtWJZbc6BQ42lVrWrPRb4j+Iv+hS/24JouyDIzbqily1sZkqtZIixOyduYdf8V884KykosRikrsXmgw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.14.0", - "@devvit/shared": "0.14.0", - "@devvit/shared-types": "0.14.0" + "@devvit/protos": "0.14.1", + "@devvit/shared": "0.14.1", + "@devvit/shared-types": "0.14.1" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/shared": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.14.0.tgz", - "integrity": "sha512-9zsF4MUCT8MLOZKC4N7fiJM9ZT7IP7GnR1qQeZ5jG8aLYQr36WABdLQ9uloupuMEGw/3bLFXr1dy1xMy5Mv7Pg==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.14.1.tgz", + "integrity": "sha512-ZJ/iy8gE3iK2rZ9V1G3M+IVuYX7/984GdsRZBgt5lZixeuJgPArzsSCeSgi/JAU5aMi8nvrdzXlLYoUXj32Mvw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.14.0", - "@devvit/shared-types": "0.14.0" + "@devvit/protos": "0.14.1", + "@devvit/shared-types": "0.14.1" } }, "node_modules/@devvit/shared-types": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.14.0.tgz", - "integrity": "sha512-0EsD+pWRofmx3dEhfrOadKEzDA4Y7s5At3aOqZ+u/KMNlKh7zFSi5nyrz4qk+l6IvM3OJE6/OGXroIWUXtWftw==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.14.1.tgz", + "integrity": "sha512-DHaj4tHi0NcAtb/xxnxpmWEJkI3CFEF8XiGIsejkUTtsaBCVJwUu5Ftwl4Tis2031X3AAju3e3diL1OHsvPc9Q==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.14.0", + "@devvit/protos": "0.14.1", "jsonschema": "1.4.1", "jwt-decode": "4.0.0", "uuid": "14.0.0" } }, "node_modules/@devvit/start": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/start/-/start-0.14.0.tgz", - "integrity": "sha512-lQoF91EirONE6JNok2li0sN5dUnPsnhWeZBe9imQ00kU/sXBSosM2X8DNK2eA2UwUMS9Q8Ja97KMO8uQvvNaQw==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/start/-/start-0.14.1.tgz", + "integrity": "sha512-fYiWoVYT1LDnIhSRxGmIOYv6CcWl0Zpbh+VLlUhwzZAQZqPFkuQ6aWZ1+DIfC+D6JWvpJg9pxZr9QnyrMizb1w==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/shared-types": "0.14.0", + "@devvit/shared-types": "0.14.1", "chalk": "4.1.2" }, "peerDependencies": { @@ -1022,35 +1020,35 @@ } }, "node_modules/@devvit/web": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/web/-/web-0.14.0.tgz", - "integrity": "sha512-3tQcN9aEJmPkv/2RZ9jfk5Cq25Lil4ynUE01j4N4T7IQjaqFulCTO0Bg5YwCFo6kTaEPDtAMGCrjcokfwOxg2A==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/web/-/web-0.14.1.tgz", + "integrity": "sha512-aooSQ0/OrYDFiToa6NapeOdX41s/s/8NdbZUlMftOTj6vPfLrJuvJKk1dOP6/jE4n//2+CHCypxwnNo1gzohkA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/cache": "0.14.0", - "@devvit/client": "0.14.0", - "@devvit/external-endpoints": "0.14.0", - "@devvit/media": "0.14.0", - "@devvit/notifications": "0.14.0", - "@devvit/payments": "0.14.0", - "@devvit/realtime": "0.14.0", - "@devvit/reddit": "0.14.0", - "@devvit/redis": "0.14.0", - "@devvit/scheduler": "0.14.0", - "@devvit/server": "0.14.0", - "@devvit/settings": "0.14.0", - "@devvit/shared": "0.14.0" + "@devvit/cache": "0.14.1", + "@devvit/client": "0.14.1", + "@devvit/external-endpoints": "0.14.1", + "@devvit/media": "0.14.1", + "@devvit/notifications": "0.14.1", + "@devvit/payments": "0.14.1", + "@devvit/realtime": "0.14.1", + "@devvit/reddit": "0.14.1", + "@devvit/redis": "0.14.1", + "@devvit/scheduler": "0.14.1", + "@devvit/server": "0.14.1", + "@devvit/settings": "0.14.1", + "@devvit/shared": "0.14.1" } }, "node_modules/@devvit/web-view-scripts": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@devvit/web-view-scripts/-/web-view-scripts-0.14.0.tgz", - "integrity": "sha512-nv3fLKHIsqB163qGVjelQZKSePR4Y4SZBEI33+vj29QIBOkugJBwa0cbXDVKt54uNlssL21ss4rVA5b+Uw9MFA==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@devvit/web-view-scripts/-/web-view-scripts-0.14.1.tgz", + "integrity": "sha512-YSZFjgc+7LwyS7JvZXvCfTiG3ZnGtDBRDDRENPTE6764zHVMwvQJl+gUzUeo+bC4cu9wrMCoNR9+OMTpy9syzQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.14.0", - "@devvit/shared": "0.14.0", - "@devvit/shared-types": "0.14.0", + "@devvit/protos": "0.14.1", + "@devvit/shared": "0.14.1", + "@devvit/shared-types": "0.14.1", "html-to-image": "1.11.13", "jwt-decode": "4.0.0" } @@ -1192,9 +1190,9 @@ } }, "node_modules/@hono/node-server": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.1.0.tgz", - "integrity": "sha512-XovyyCCnBzW+zKu+z/zq8hwNs4KOR5rEMAOxo2f40Q5xoOI37IMm6MIg2COOUtUApo0i6850MTBKH2u4QLGIqg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.1.1.tgz", + "integrity": "sha512-ELuehkj5VCBdgEw9zs+ivkKwyzzUCSQuE96YmiPvn1ECBoZCczbFXJLeEGMTYjphP6gydh4pHMqEYPVMYUVgQg==", "license": "MIT", "engines": { "node": ">=20" @@ -1537,9 +1535,9 @@ } }, "node_modules/@oxc-project/types": { - "version": "0.143.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.143.0.tgz", - "integrity": "sha512-u6JZdLBTLotrNC9Vd6vPssINdzcCzleKAH6EJKImQb7GtYvX5keN2dxkoK44stCc4tffE6QQRtZTXVSzsLUlWA==", + "version": "0.144.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.144.0.tgz", + "integrity": "sha512-nuhZIOLuI6TFQ32I/WnUx+SCPY7SdSKwgnFHydAuoS1+Z4BRcaP+RRJmGzl9lw+0OFF7UmaESf7KQRXaNLHypg==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/Boshen" @@ -1641,9 +1639,9 @@ "license": "BSD-3-Clause" }, "node_modules/@rolldown/binding-android-arm64": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.3.tgz", - "integrity": "sha512-zrJtHDcaZJ1Fp7xf4hNl+7seH9Cn/N5TwLYkhgXREtBwAd/jaqW3uqeHxpDugJLVICWg4eW44kOQEGJ1r6jCGw==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.4.tgz", + "integrity": "sha512-jHC2cnyKz5xU2fhECtFl8OZ83cYNt13GZQD+0uMJ/X3o+ijmd56okHhTUwxVSHPx1IRVIJEZ1/1pPzeLCU6XKA==", "cpu": [ "arm64" ], @@ -1657,9 +1655,9 @@ } }, "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.3.tgz", - "integrity": "sha512-ieIiibVCp0tX7TLu2cafoNPv8wJyYi01ekXpbf8q2j7F4rGAhhXb/eQh7ge9DRBY78GwmRQtvjZDux7EDbA8kA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-Dc5mPD8F5F/FS8i01syd7FTF6yB2fVthH/TRkjwJkzUK6EpoxHtqvZQP5Zwq80/5z19TWYHIg1KOHboCgVx/aQ==", "cpu": [ "arm64" ], @@ -1673,9 +1671,9 @@ } }, "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.3.tgz", - "integrity": "sha512-Zh9tCon19eDXJoihx0rqKhMUlMYqzwj3aPsSuHmI4RWZh62dWUL+DJN4C5YQya5TcQBJU/Fe8+rY0jhXTQITqA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.4.tgz", + "integrity": "sha512-fpDm4oBo6SqLvWUYCmFhdde3U9KH2fRNNMeAnAPAIwxRL345xutL0EtEUcuoxsoazdJGv/MuDBQHlCDrtbvqOg==", "cpu": [ "x64" ], @@ -1689,9 +1687,9 @@ } }, "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.3.tgz", - "integrity": "sha512-nGbJWewA1wrXXZiQhjAT5rhibGfns5ZNkDVqxsO6zJ3f3YvpoDNNmGMSbbhLuXKjNScaBJVOAboztAWVespQMg==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.4.tgz", + "integrity": "sha512-rSJoreDE/HoIzoaib6MTp5jQtCTdMHKIvItAKT/ImS6Y6Ww76oUaeMyp4Vc/fAgd/ehji068IxetHXAnqUwN9A==", "cpu": [ "x64" ], @@ -1705,9 +1703,9 @@ } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.3.tgz", - "integrity": "sha512-QNniJr5Kml0kDEB98jiDOJjXNroxIIi0IXIbdYzY26Xt1pVbeP62+KnoIZLwirOymX/0jDk/2gI/bNUv7A7OIw==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.4.tgz", + "integrity": "sha512-/jm8OGHgn7oGaJu3i/qZI9spUGcJ+y/lk43ttQ/iO1tOd9NissG6o97bighBCiL+BKRngmcDuR6ikfwYdJmVuQ==", "cpu": [ "arm" ], @@ -1721,9 +1719,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.3.tgz", - "integrity": "sha512-TkqEAcmmvH3I/q4114NB4RVt6241Dao48pF45uLcFGrwAaIn0iITgTAKP/dLjbN0R4buJjGb91+UHSoFmpgIWw==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.4.tgz", + "integrity": "sha512-tIP06BeD9EqvECBrPZ+sqdPlYrT+aYaAiu1wYziVx5elRK/ftm33JxVDy2bXGbr6J0CrtirCkR87/X5a2euEng==", "cpu": [ "arm64" ], @@ -1737,9 +1735,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.3.tgz", - "integrity": "sha512-NHqjnxpsndf4MPymxteFAWHHfkTL8HjWh1KB7z23ofZ6QO2euONuxDXjat69dKZRALnGypg8k8SsK8vZJoXv1Q==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.4.tgz", + "integrity": "sha512-Ql1Q0EQqVThvn9VAVlwNzsUvbSFtCMGjLpRRi4pk5i7NZZ4n5ISiLMjHYtus4VQ2PvkSw24zyaCVsiS+sXPj1w==", "cpu": [ "arm64" ], @@ -1753,9 +1751,9 @@ } }, "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.3.tgz", - "integrity": "sha512-6tbrbwfz5GB9DQ4Jwo6hy9v+vR31xZlvzZ6n5Xut6Hhx5PvrA9q/HsK8KMaYQp063iqZGXwNvZtYNLD7EM/x0w==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.4.tgz", + "integrity": "sha512-GjbjXD4XXfN19D0LZNbmiCBUoDiRACsYHr0yaIbbn8aFsXjHZifcYqu/W5Er5X2X990WjHXFrxarn5chzItorQ==", "cpu": [ "ppc64" ], @@ -1769,9 +1767,9 @@ } }, "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.3.tgz", - "integrity": "sha512-oyuXxXmoZHjXC917IAPFAAv4wWAa0cM9afk8nx1+9/jNNOX1uPf8yDA6p7G0RypOfw/X0PQt5IfoquY1um+zSg==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.4.tgz", + "integrity": "sha512-p5WR0NOwaRmJ/B1b6IjEFLLivwEsf3PrdBIhRbhTCQisbo2SvHHpG4ELB/+FgQNnB88LTOF86upmJmbvZdQ2lw==", "cpu": [ "s390x" ], @@ -1785,9 +1783,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.3.tgz", - "integrity": "sha512-TytMwF2KVGqP2tgd0I1OY0PAv78dZRAYcF5ssDzjM34SUXCED3uXvSd5+lHoC0bTD6eEdFz7LdQNCO1y0oVk9w==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.4.tgz", + "integrity": "sha512-4/GyVjmhR+Tc6HLJvwc1sOhPqAZtySiSMesOZyX6JQ5XBxoTDEMKQzvo07NIK6nTon/SivlZqvhzvuVBNQhObQ==", "cpu": [ "x64" ], @@ -1801,9 +1799,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.3.tgz", - "integrity": "sha512-/E9m3qstrJFVPoULV25mVQblSNExY2+kBsYe4sy0Tn0yOOgJ8wZbZt3KnRbF/XeU2Gl1STKUQnDNTqhIE5MD4A==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.4.tgz", + "integrity": "sha512-l9eeLsCNvPpmSXUej0etw/J1eqV0Jj1D5G/xG6YTijmE6dkv6E2QezgWbTfQk63v952DPqrjOCoiqxq7Bw0YUQ==", "cpu": [ "x64" ], @@ -1817,9 +1815,9 @@ } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.3.tgz", - "integrity": "sha512-Kr0OcsoQI816i6HOl3vFHpd1K0eZyh76zgfj4c1nTyaTsd5r2Mj1lwM4R90y/qaCfmTn9eHy0SKwi98eitRxug==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.4.tgz", + "integrity": "sha512-e0F355MSTMm3+UOqtV3L24gFUp2N5m1f8L/7d56deik6va+AXdrt9F8LbzGpeWGWRbZEDq4m8NVnJDeBtf9DZg==", "cpu": [ "arm64" ], @@ -1833,9 +1831,9 @@ } }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.3.tgz", - "integrity": "sha512-hOtMwTqnME+/gJcH/PCZ0wn0zPUjiWOgkHpxbSJpfGKMezHltx1S7/k1SitzVa7Ww2cqrDDaFbZEhcJZO8o+Jw==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.4.tgz", + "integrity": "sha512-AWLi0uBRYh6QlE7OKhiz+phZC0qwtij2QZmhmOdsLdFn64m7oMpooE9ICE3lhm9xMb4SpDo2WbHcxX1iFLFtqw==", "cpu": [ "arm64" ], @@ -1849,9 +1847,9 @@ } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.3.tgz", - "integrity": "sha512-ekcqMMkI2PlhYnfzQnB/cEdYUVVJViWvoUyLrbzgDoi3Snfc1mVBwdnc306ufA5ejy8JSPjT2RlW1nQSjW7efg==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.4.tgz", + "integrity": "sha512-UwSDJOg3dqCAejWdxclJjCsh3Qq4vLYMDxmyHqo1btz3stK2VqgwNd3mm5tuIwzSlGIQ/1H9Hr+Zn09mrezNqQ==", "cpu": [ "x64" ], @@ -1944,9 +1942,9 @@ "license": "MIT" }, "node_modules/@tsconfig/node10": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", - "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.13.tgz", + "integrity": "sha512-gcLdvR9HO1ZJBypsOGqaP6TFEzb6vIta0KSTLt9NAQ6pXQO3cRgSVyCN6pzYqI9DlJgY71XKO0dpDhCf08b3pg==", "dev": true, "license": "MIT" }, @@ -3013,20 +3011,6 @@ "node": ">=0.8" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -3232,9 +3216,9 @@ "license": "MIT" }, "node_modules/default-browser": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", - "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.1.tgz", + "integrity": "sha512-m1pAzaJgZ/gssEqlOhJkPJp8Xly7QyW6xcrkUa2KKcDeDSEMP7X8xipU3snUcfisTQx0w1AGae+9UtJSfVnXGw==", "dev": true, "license": "MIT", "dependencies": { @@ -3325,13 +3309,13 @@ } }, "node_modules/devvit": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/devvit/-/devvit-0.14.0.tgz", - "integrity": "sha512-TlCRgspuay+sEmVqA1XrKEonhZmnEfv4yTz2K6qmBfFOqId7JdTOsmNO7UgITJbsf3eg5JlG/CAXT+2FtgQ63A==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/devvit/-/devvit-0.14.1.tgz", + "integrity": "sha512-RRAjpPSOyIftuXmfq73IecH1Cy8TUCJI7gdQYnlZWQNOcQ+hP1i173Y/yzElOjUzN5sfbFTdz3p7Fn7c6B885A==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/cli": "0.14.0" + "@devvit/cli": "0.14.1" }, "bin": { "devvit": "bin/devvit.js" @@ -3483,9 +3467,9 @@ } }, "node_modules/es-module-lexer": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.1.tgz", - "integrity": "sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.2.tgz", + "integrity": "sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==", "dev": true, "license": "MIT" }, @@ -4406,20 +4390,14 @@ } }, "node_modules/hono": { - "version": "4.13.1", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.13.1.tgz", - "integrity": "sha512-kdJoFVv2xmayw6cY09H7AbMJMt8Jn5jdlEdXsP7AGBdF2DIptVlKlOLKXP41yPip4/a3yQPv9gVcJYI8YY04dw==", + "version": "4.13.3", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.13.3.tgz", + "integrity": "sha512-r8AO2mYHoLxSHkgafNeC/BXyb2vWRxD3jem4Ts+ptav8oTG5FIRifAjuJEmZI4bSvvc2ns0GxmIYiZnHqN3mMw==", "license": "MIT", "engines": { "node": ">=16.9.0" } }, - "node_modules/hotscript": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/hotscript/-/hotscript-1.0.13.tgz", - "integrity": "sha512-C++tTF1GqkGYecL+2S1wJTfoH6APGAsbb7PAWQ3iVIwgG/EFseAfEVOKFgAFq4yK3+6j1EjUD4UQ9dRJHX/sSQ==", - "license": "ISC" - }, "node_modules/html-encoding-sniffer": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", @@ -4662,9 +4640,9 @@ } }, "node_modules/inquirer/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.3.0.tgz", + "integrity": "sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==", "dev": true, "license": "MIT", "engines": { @@ -4955,18 +4933,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -5053,15 +5019,6 @@ "dev": true, "license": "ISC" }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/isomorphic-git": { "version": "1.33.1", "resolved": "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.33.1.tgz", @@ -5118,9 +5075,9 @@ } }, "node_modules/js-yaml": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", - "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz", + "integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==", "dev": true, "funding": [ { @@ -5303,15 +5260,6 @@ "json-buffer": "3.0.1" } }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -5824,32 +5772,6 @@ "minimist": "^1.2.5" } }, - "node_modules/moderndash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/moderndash/-/moderndash-4.0.0.tgz", - "integrity": "sha512-77kEJCsBo3YzqIrO4ZWHo1h7q8f8ZIRxQ0DE0fEvj3rZWsfTMLeRzctBjkz2zKM1BAIQsOqB79jm3dZ4RDFmqw==", - "license": "MIT", - "dependencies": { - "hotscript": "1.0.13", - "type-fest": "4.27.0" - }, - "engines": { - "node": ">=20", - "npm": ">=10" - } - }, - "node_modules/moderndash/node_modules/type-fest": { - "version": "4.27.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.27.0.tgz", - "integrity": "sha512-3IMSWgP7C5KSQqmo1wjhKrwsvXAtF33jO3QY+Uy++ia7hqvgSK6iXbbg5PbDBc1P2ZbNEDgejOrN4YooXvhwCw==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -6102,9 +6024,9 @@ } }, "node_modules/ora/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.3.0.tgz", + "integrity": "sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==", "dev": true, "license": "MIT", "engines": { @@ -6621,12 +6543,12 @@ } }, "node_modules/rolldown": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.3.tgz", - "integrity": "sha512-rn9wpmxplLf7NLNyCk9FyWh3FM43DbY8jOzCdEPzH7uflhTftRbCEpqi6Ly2osgoU8OwObtmavMbWLaWy4LX7A==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.4.tgz", + "integrity": "sha512-rSr7irW0K7QRWzjdJXqZowkcRdDtjRduh43rBltnVKd0VFq839l1lJoDvGJb6gl7+4rTTCrPWu+YfujUL8Ug7w==", "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.143.0", + "@oxc-project/types": "=0.144.0", "@rolldown/pluginutils": "^1.0.0" }, "bin": { @@ -6636,20 +6558,20 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.2.3", - "@rolldown/binding-darwin-arm64": "1.2.3", - "@rolldown/binding-darwin-x64": "1.2.3", - "@rolldown/binding-freebsd-x64": "1.2.3", - "@rolldown/binding-linux-arm-gnueabihf": "1.2.3", - "@rolldown/binding-linux-arm64-gnu": "1.2.3", - "@rolldown/binding-linux-arm64-musl": "1.2.3", - "@rolldown/binding-linux-ppc64-gnu": "1.2.3", - "@rolldown/binding-linux-s390x-gnu": "1.2.3", - "@rolldown/binding-linux-x64-gnu": "1.2.3", - "@rolldown/binding-linux-x64-musl": "1.2.3", - "@rolldown/binding-openharmony-arm64": "1.2.3", - "@rolldown/binding-win32-arm64-msvc": "1.2.3", - "@rolldown/binding-win32-x64-msvc": "1.2.3" + "@rolldown/binding-android-arm64": "1.2.4", + "@rolldown/binding-darwin-arm64": "1.2.4", + "@rolldown/binding-darwin-x64": "1.2.4", + "@rolldown/binding-freebsd-x64": "1.2.4", + "@rolldown/binding-linux-arm-gnueabihf": "1.2.4", + "@rolldown/binding-linux-arm64-gnu": "1.2.4", + "@rolldown/binding-linux-arm64-musl": "1.2.4", + "@rolldown/binding-linux-ppc64-gnu": "1.2.4", + "@rolldown/binding-linux-s390x-gnu": "1.2.4", + "@rolldown/binding-linux-x64-gnu": "1.2.4", + "@rolldown/binding-linux-x64-musl": "1.2.4", + "@rolldown/binding-openharmony-arm64": "1.2.4", + "@rolldown/binding-win32-arm64-msvc": "1.2.4", + "@rolldown/binding-win32-x64-msvc": "1.2.4" } }, "node_modules/rrweb-cssom": { @@ -6815,18 +6737,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -7019,9 +6929,9 @@ } }, "node_modules/string-length/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.3.0.tgz", + "integrity": "sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index e17c507..f8e47fa 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,8 @@ "node": ">=24.18.0" }, "dependencies": { - "@devvit/start": "0.14.0", - "@devvit/web": "0.14.0", + "@devvit/start": "0.14.1", + "@devvit/web": "0.14.1", "@hono/node-server": "^2.0.0", "hono": "^4.11.7", "pluralize": "^8.0.0" @@ -28,10 +28,10 @@ "@fsvreddit/eslint-config": "github:fsvreddit/eslint-config", "@types/node": "^22.19.7", "@types/pluralize": "^0.0.33", - "devvit": "0.14.0", + "devvit": "0.14.1", "eslint": "^10.0.0", "typescript": "5.8.3", "vite": "^8.0.0", "vitest": "^4.0.7" } -} +} \ No newline at end of file From 8e23b730bfc1544fbaa4c73ea74e7ef49f58c639 Mon Sep 17 00:00:00 2001 From: fsvreddit <97185438+fsvreddit@users.noreply.github.com> Date: Sat, 22 Aug 2026 16:52:07 +0100 Subject: [PATCH 13/15] FIx issue with comment count being misreported when deleted comments exist, and don't attempt to remove deleted comments --- src/server/core/commentMop.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/server/core/commentMop.ts b/src/server/core/commentMop.ts index 62eb5aa..e7dec24 100644 --- a/src/server/core/commentMop.ts +++ b/src/server/core/commentMop.ts @@ -12,14 +12,16 @@ async function actionAllCommentsInThread (comment: Comment, nukeProps: NukeProps const promises: Promise[] = []; let actioned = false; - if (nukeProps.remove && (!nukeProps.skipDistinguished || !comment.isDistinguished()) && (!nukeProps.skipAlreadyActioned || !comment.removed)) { - promises.push(comment.remove()); - actioned = true; - } + if (comment.body !== "[deleted]" && comment.authorName !== "[deleted]") { + if (nukeProps.remove && (!nukeProps.skipDistinguished || !comment.isDistinguished()) && (!nukeProps.skipAlreadyActioned || !comment.removed)) { + promises.push(comment.remove()); + actioned = true; + } - if (nukeProps.lock && (!nukeProps.skipAlreadyActioned || !comment.locked)) { - promises.push(comment.lock()); - actioned = true; + if (nukeProps.lock && (!nukeProps.skipAlreadyActioned || !comment.locked)) { + promises.push(comment.lock()); + actioned = true; + } } const replies = await comment.replies.all(); From cc33f9a230ebf4936090993b8a52939f24de6aa7 Mon Sep 17 00:00:00 2001 From: fsvreddit <97185438+fsvreddit@users.noreply.github.com> Date: Sat, 22 Aug 2026 16:52:23 +0100 Subject: [PATCH 14/15] Bump packages --- package-lock.json | 249 +++++++++++++++++++++++++--------------------- 1 file changed, 133 insertions(+), 116 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2f23902..298a8e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1535,9 +1535,9 @@ } }, "node_modules/@oxc-project/types": { - "version": "0.144.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.144.0.tgz", - "integrity": "sha512-nuhZIOLuI6TFQ32I/WnUx+SCPY7SdSKwgnFHydAuoS1+Z4BRcaP+RRJmGzl9lw+0OFF7UmaESf7KQRXaNLHypg==", + "version": "0.146.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.146.0.tgz", + "integrity": "sha512-XC0QsnnhVe7sLIWmYmdPw7x5P0h4W8vUU3Nv1ySgWXtvCz8NizoAEpGXA0sOYoJQV2Rl13LgURAHQ5cI5ILCSA==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/Boshen" @@ -1638,10 +1638,26 @@ "integrity": "sha512-b1UQwcEZ4yCnMCD8DAL1VlbvBJE9/IX4FTIp7BG1xYpf29SLazLSrqUkj4w7Y5y7cCVP6E5tcqqcI0xemPkHug==", "license": "BSD-3-Clause" }, + "node_modules/@rolldown/binding-android-arm-eabi": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.5.tgz", + "integrity": "sha512-DLe/i+l8ynIBY7XEQ191TeZvCoowIGa18R+dIV30GW7DiOtp74i/xX8hs8GUjW5ARV7VZuie3d6AumSmCwbeRA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, "node_modules/@rolldown/binding-android-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.4.tgz", - "integrity": "sha512-jHC2cnyKz5xU2fhECtFl8OZ83cYNt13GZQD+0uMJ/X3o+ijmd56okHhTUwxVSHPx1IRVIJEZ1/1pPzeLCU6XKA==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.5.tgz", + "integrity": "sha512-zXcwKlQApYAOELHd8PwKDFkagYF9Wy4e0RJ+0qnzl9Pjnpj75TEG8ufv40p2J7kCEfwZAsNiuzRIyNNMWT38ig==", "cpu": [ "arm64" ], @@ -1655,9 +1671,9 @@ } }, "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.4.tgz", - "integrity": "sha512-Dc5mPD8F5F/FS8i01syd7FTF6yB2fVthH/TRkjwJkzUK6EpoxHtqvZQP5Zwq80/5z19TWYHIg1KOHboCgVx/aQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.5.tgz", + "integrity": "sha512-dK4QakI42nzWgJT5sm4y4y/O//D4OxM75/cH28RLV+nzIN9AY+YsbuUVrUTjlLjXR6vpyxFbSsbmNuJ6BP9sww==", "cpu": [ "arm64" ], @@ -1671,9 +1687,9 @@ } }, "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.4.tgz", - "integrity": "sha512-fpDm4oBo6SqLvWUYCmFhdde3U9KH2fRNNMeAnAPAIwxRL345xutL0EtEUcuoxsoazdJGv/MuDBQHlCDrtbvqOg==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.5.tgz", + "integrity": "sha512-fqSALaUu1Wjd1nK2uW2kJDWdLCc8lx1IcY+MTY26Aurfdx19anlzhqXOgCFbBFQnlFDTn4TC1/7Nz4Bl2mLP3A==", "cpu": [ "x64" ], @@ -1687,9 +1703,9 @@ } }, "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.4.tgz", - "integrity": "sha512-rSJoreDE/HoIzoaib6MTp5jQtCTdMHKIvItAKT/ImS6Y6Ww76oUaeMyp4Vc/fAgd/ehji068IxetHXAnqUwN9A==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.5.tgz", + "integrity": "sha512-/vCnNxlkxs9tKxNDcyWUePpJ/PgTzxIaVhoM5SmG8UV+GR/IcPam4VYxi7GIMo7PSDuNqlJqvprqii9NqqVCMw==", "cpu": [ "x64" ], @@ -1703,9 +1719,9 @@ } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.4.tgz", - "integrity": "sha512-/jm8OGHgn7oGaJu3i/qZI9spUGcJ+y/lk43ttQ/iO1tOd9NissG6o97bighBCiL+BKRngmcDuR6ikfwYdJmVuQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.5.tgz", + "integrity": "sha512-abk0NLA519LxRCszmbE0jYKuQ9YPocOXTiOXOo6Yr+YAT95VH+PtqYAjOJvGKt3viEd/x4qzabAlwd5bHOOARg==", "cpu": [ "arm" ], @@ -1719,9 +1735,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.4.tgz", - "integrity": "sha512-tIP06BeD9EqvECBrPZ+sqdPlYrT+aYaAiu1wYziVx5elRK/ftm33JxVDy2bXGbr6J0CrtirCkR87/X5a2euEng==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.5.tgz", + "integrity": "sha512-Y7eALiJ8lr0M2HH103Js+g7V34wf6snlpZLAsHI90uLhr3PVlNsbFVAXJC9d/V6BnPyKtpSwI+NcB/RLxsQxuA==", "cpu": [ "arm64" ], @@ -1735,9 +1751,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.4.tgz", - "integrity": "sha512-Ql1Q0EQqVThvn9VAVlwNzsUvbSFtCMGjLpRRi4pk5i7NZZ4n5ISiLMjHYtus4VQ2PvkSw24zyaCVsiS+sXPj1w==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.5.tgz", + "integrity": "sha512-xMvZgnbZg4YVnR/AX2b3oOPDTFYJvUVaJg5FedA/LuvexAtXibZQej4cnTkw3rjsJ/ggUROB64TdtETiim+FYA==", "cpu": [ "arm64" ], @@ -1751,9 +1767,9 @@ } }, "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.4.tgz", - "integrity": "sha512-GjbjXD4XXfN19D0LZNbmiCBUoDiRACsYHr0yaIbbn8aFsXjHZifcYqu/W5Er5X2X990WjHXFrxarn5chzItorQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.5.tgz", + "integrity": "sha512-GRjeqTUDHTo5GwntsLaAMcBahG3nlpjftXWZLN73HiYQlhwEowvarFgQnRnQZtIp4keXX7quXFbG38uPZBa2EA==", "cpu": [ "ppc64" ], @@ -1767,9 +1783,9 @@ } }, "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.4.tgz", - "integrity": "sha512-p5WR0NOwaRmJ/B1b6IjEFLLivwEsf3PrdBIhRbhTCQisbo2SvHHpG4ELB/+FgQNnB88LTOF86upmJmbvZdQ2lw==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.5.tgz", + "integrity": "sha512-vLNTR45F2Uwc8AufkNXPmB4VliaXs+FvcheEogIzOXzO4l+LzieXF5A/TWxLy5HtqpsRCHUfd0lPVrrdgXdLHQ==", "cpu": [ "s390x" ], @@ -1783,9 +1799,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.4.tgz", - "integrity": "sha512-4/GyVjmhR+Tc6HLJvwc1sOhPqAZtySiSMesOZyX6JQ5XBxoTDEMKQzvo07NIK6nTon/SivlZqvhzvuVBNQhObQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.5.tgz", + "integrity": "sha512-Mgj59/HTuYeK9Gz2MA+mBWKnHsAgkBSec15ZMb1st3oIfFbX7gCjOae7GydHhzcyQi9Z/7M1QuN9bR3oFqF0jQ==", "cpu": [ "x64" ], @@ -1799,9 +1815,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.4.tgz", - "integrity": "sha512-l9eeLsCNvPpmSXUej0etw/J1eqV0Jj1D5G/xG6YTijmE6dkv6E2QezgWbTfQk63v952DPqrjOCoiqxq7Bw0YUQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.5.tgz", + "integrity": "sha512-mY8AP0/ichsbhAxGnLa3d3+MwV0EfgrPND2bplI3Ym8T6R2pJ0N87bvrKVwNXmdy3jnr6eQBecdqx/HMknBmpA==", "cpu": [ "x64" ], @@ -1815,9 +1831,9 @@ } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.4.tgz", - "integrity": "sha512-e0F355MSTMm3+UOqtV3L24gFUp2N5m1f8L/7d56deik6va+AXdrt9F8LbzGpeWGWRbZEDq4m8NVnJDeBtf9DZg==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.5.tgz", + "integrity": "sha512-8SLssA2oweAxyRgDp789ACfRb/3P+zNRJpzZxSizxF9m8NUDQ4+3xjo8ttjhVGGw6Qxb70oZiEtIjaKikCO7Yw==", "cpu": [ "arm64" ], @@ -1831,9 +1847,9 @@ } }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.4.tgz", - "integrity": "sha512-AWLi0uBRYh6QlE7OKhiz+phZC0qwtij2QZmhmOdsLdFn64m7oMpooE9ICE3lhm9xMb4SpDo2WbHcxX1iFLFtqw==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.5.tgz", + "integrity": "sha512-vGbruD5zquhoc8D9SViXgN2FBJtNdTyQ4DtG+SWiEGlJiAzoKcZ2xp+xuXCffhubVdt0NJlTZqkeRuERy7g8Cw==", "cpu": [ "arm64" ], @@ -1847,9 +1863,9 @@ } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.4.tgz", - "integrity": "sha512-UwSDJOg3dqCAejWdxclJjCsh3Qq4vLYMDxmyHqo1btz3stK2VqgwNd3mm5tuIwzSlGIQ/1H9Hr+Zn09mrezNqQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.5.tgz", + "integrity": "sha512-e/SXpgISz+IoqVcSSI0rx/d/he8zqLex+/rCWpnHpmVfmPIUjag9H6P7zotf0gJHwPUhQxZ/mF8tr6acebT9yw==", "cpu": [ "x64" ], @@ -2309,16 +2325,16 @@ } }, "node_modules/@vitest/expect": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.10.tgz", - "integrity": "sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==", + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.11.tgz", + "integrity": "sha512-VX2x5vNJXET47KAFzwERI+KRMtTTCSWTfSMKsW7JsUsXV4psq++e3DvZpuTDOpHcxytiDs6p2nhVb2tVDiiUYw==", "dev": true, "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.1.0", "@types/chai": "^5.2.2", - "@vitest/spy": "4.1.10", - "@vitest/utils": "4.1.10", + "@vitest/spy": "4.1.11", + "@vitest/utils": "4.1.11", "chai": "^6.2.2", "tinyrainbow": "^3.1.0" }, @@ -2327,13 +2343,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.10.tgz", - "integrity": "sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==", + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.11.tgz", + "integrity": "sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "4.1.10", + "@vitest/spy": "4.1.11", "estree-walker": "^3.0.3", "magic-string": "^0.30.21" }, @@ -2354,9 +2370,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.10.tgz", - "integrity": "sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==", + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.11.tgz", + "integrity": "sha512-yiZzPbGTS9Sr/JpFl8zHrcIkAofNbFV6k21vIgQN/cY/oxZeXhJv5sc/MBJ5jFKWmWs+oJHw0UXLZjmf931+Vw==", "dev": true, "license": "MIT", "dependencies": { @@ -2367,13 +2383,13 @@ } }, "node_modules/@vitest/runner": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.10.tgz", - "integrity": "sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==", + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.11.tgz", + "integrity": "sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.1.10", + "@vitest/utils": "4.1.11", "pathe": "^2.0.3" }, "funding": { @@ -2381,14 +2397,14 @@ } }, "node_modules/@vitest/snapshot": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.10.tgz", - "integrity": "sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==", + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.11.tgz", + "integrity": "sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.10", - "@vitest/utils": "4.1.10", + "@vitest/pretty-format": "4.1.11", + "@vitest/utils": "4.1.11", "magic-string": "^0.30.21", "pathe": "^2.0.3" }, @@ -2397,9 +2413,9 @@ } }, "node_modules/@vitest/spy": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.10.tgz", - "integrity": "sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==", + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.11.tgz", + "integrity": "sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA==", "dev": true, "license": "MIT", "funding": { @@ -2407,13 +2423,13 @@ } }, "node_modules/@vitest/utils": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.10.tgz", - "integrity": "sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==", + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.11.tgz", + "integrity": "sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.10", + "@vitest/pretty-format": "4.1.11", "convert-source-map": "^2.0.0", "tinyrainbow": "^3.1.0" }, @@ -3516,9 +3532,9 @@ } }, "node_modules/eslint": { - "version": "10.8.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.8.1.tgz", - "integrity": "sha512-wqA7W2jbsC/BnV9Iv1UZpKVFkO1AdNoSmYW8NWG4HNOBbkAMvIqDZ27pI2f07dqn583NcIC44ckjAcOXDL1QbQ==", + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.9.0.tgz", + "integrity": "sha512-5KeEOJZBfEVA47boFiBsf+6MmmJpffM7qEBg4pLla2e4nlKgdKlqCW0oSLOGsT8Wl5uCGJptLV1bkaiShj90Gw==", "dev": true, "license": "MIT", "workspaces": [ @@ -6543,12 +6559,12 @@ } }, "node_modules/rolldown": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.4.tgz", - "integrity": "sha512-rSr7irW0K7QRWzjdJXqZowkcRdDtjRduh43rBltnVKd0VFq839l1lJoDvGJb6gl7+4rTTCrPWu+YfujUL8Ug7w==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.5.tgz", + "integrity": "sha512-VD2IE5PUG4Oj8zz2VGykiYd5wbnjdIiSsNQb8Qu5B+noEp+A78mu2iVvpp27g8es14Tk9rofNs5Tku9iQCS4fA==", "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.144.0", + "@oxc-project/types": "=0.146.0", "@rolldown/pluginutils": "^1.0.0" }, "bin": { @@ -6558,20 +6574,21 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.2.4", - "@rolldown/binding-darwin-arm64": "1.2.4", - "@rolldown/binding-darwin-x64": "1.2.4", - "@rolldown/binding-freebsd-x64": "1.2.4", - "@rolldown/binding-linux-arm-gnueabihf": "1.2.4", - "@rolldown/binding-linux-arm64-gnu": "1.2.4", - "@rolldown/binding-linux-arm64-musl": "1.2.4", - "@rolldown/binding-linux-ppc64-gnu": "1.2.4", - "@rolldown/binding-linux-s390x-gnu": "1.2.4", - "@rolldown/binding-linux-x64-gnu": "1.2.4", - "@rolldown/binding-linux-x64-musl": "1.2.4", - "@rolldown/binding-openharmony-arm64": "1.2.4", - "@rolldown/binding-win32-arm64-msvc": "1.2.4", - "@rolldown/binding-win32-x64-msvc": "1.2.4" + "@rolldown/binding-android-arm-eabi": "1.2.5", + "@rolldown/binding-android-arm64": "1.2.5", + "@rolldown/binding-darwin-arm64": "1.2.5", + "@rolldown/binding-darwin-x64": "1.2.5", + "@rolldown/binding-freebsd-x64": "1.2.5", + "@rolldown/binding-linux-arm-gnueabihf": "1.2.5", + "@rolldown/binding-linux-arm64-gnu": "1.2.5", + "@rolldown/binding-linux-arm64-musl": "1.2.5", + "@rolldown/binding-linux-ppc64-gnu": "1.2.5", + "@rolldown/binding-linux-s390x-gnu": "1.2.5", + "@rolldown/binding-linux-x64-gnu": "1.2.5", + "@rolldown/binding-linux-x64-musl": "1.2.5", + "@rolldown/binding-openharmony-arm64": "1.2.5", + "@rolldown/binding-win32-arm64-msvc": "1.2.5", + "@rolldown/binding-win32-x64-msvc": "1.2.5" } }, "node_modules/rrweb-cssom": { @@ -7512,15 +7529,15 @@ "license": "MIT" }, "node_modules/vite": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.2.1.tgz", - "integrity": "sha512-EU/eS7BH3XROHh2YnBefjM6DBKA6ZeMZEYQbj7NLWg5wHYlhB8B/Mayd5XsgWq+NFYccDOTemRpdETWR6Ka/lw==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.2.2.tgz", + "integrity": "sha512-cFKLV/PRgAUlIRm5WjMjJ86jrftzpqcgH+Us+DS8mI3CDNiH30Whrz8uHL3+MOLPAgqbMBAqWdAHAphOAM+z/Q==", "license": "MIT", "dependencies": { "lightningcss": "^1.33.0", "picomatch": "^4.0.5", - "postcss": "^8.5.25", - "rolldown": "~1.2.1", + "postcss": "^8.5.26", + "rolldown": "~1.2.4", "tinyglobby": "^0.2.17" }, "bin": { @@ -7537,7 +7554,7 @@ }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", - "@vitejs/devtools": "^0.4.0", + "@vitejs/devtools": "^0.4.0 || ^0.5.0", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", @@ -7589,19 +7606,19 @@ } }, "node_modules/vitest": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.10.tgz", - "integrity": "sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==", + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.11.tgz", + "integrity": "sha512-fhACrNXUidIbGSBr5FlbuBkO7VWC1ZyLl0DO4CU2DrQoAPxX84Ysxs+HeGQpii5lZWV1Q4gBZTTu49mF+A6Edw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "4.1.10", - "@vitest/mocker": "4.1.10", - "@vitest/pretty-format": "4.1.10", - "@vitest/runner": "4.1.10", - "@vitest/snapshot": "4.1.10", - "@vitest/spy": "4.1.10", - "@vitest/utils": "4.1.10", + "@vitest/expect": "4.1.11", + "@vitest/mocker": "4.1.11", + "@vitest/pretty-format": "4.1.11", + "@vitest/runner": "4.1.11", + "@vitest/snapshot": "4.1.11", + "@vitest/spy": "4.1.11", + "@vitest/utils": "4.1.11", "es-module-lexer": "^2.0.0", "expect-type": "^1.3.0", "magic-string": "^0.30.21", @@ -7629,12 +7646,12 @@ "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.1.10", - "@vitest/browser-preview": "4.1.10", - "@vitest/browser-webdriverio": "4.1.10", - "@vitest/coverage-istanbul": "4.1.10", - "@vitest/coverage-v8": "4.1.10", - "@vitest/ui": "4.1.10", + "@vitest/browser-playwright": "4.1.11", + "@vitest/browser-preview": "4.1.11", + "@vitest/browser-webdriverio": "4.1.11", + "@vitest/coverage-istanbul": "4.1.11", + "@vitest/coverage-v8": "4.1.11", + "@vitest/ui": "4.1.11", "happy-dom": "*", "jsdom": "*", "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" From 66cdc7ca1bccf8ae7271970a3b9df93415fde143 Mon Sep 17 00:00:00 2001 From: fsvreddit <97185438+fsvreddit@users.noreply.github.com> Date: Sat, 22 Aug 2026 16:54:46 +0100 Subject: [PATCH 15/15] Update README and icon for 9.3.0 --- README.md | 4 +++- assets/icon.png | Bin 163676 -> 131622 bytes 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6c9325d..ee8c72c 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ Mopping extremely large chains can fail, if this happens please try again, ensur This app was originally written by /u/FlyingLaserTurtle, with contributions from /u/ni5arga. +The app icon was designed by u/BravoFive141 - thanks! + For support for Comment Mop, please contact /u/fsv (the current maintainer) rather than either of the above users. ## Source code and license @@ -18,7 +20,7 @@ Comment Mop is open source and licensed under the BSD Three Clause license. [The ## Change History -### v9.3.0 (coming soon) +### v9.3.0 * "Success" message now tells you how many comments were locked/removed * Add ability to configure a list of mods who may not use Comment Mop, such as for mods during a probationary period diff --git a/assets/icon.png b/assets/icon.png index f6ef125aa3c5cca6c95fd1fbbebea79443982533..bff3c275995409acedb3f9858725c428a0e8ef80 100644 GIT binary patch literal 131622 zcmeFY^-~<*6E2LqLy%yB;BLX)0|W^k9D)RQhs8BmaF^gN!JWn39Ts=D#g@H%?pybd zc&oni%Q-bQHFc)X(@#I$eI`;>Sq>BJBN_}04CYsP>F+Qw2=7w_7!wvAMKz{igV+yfq(eJ+@NHOs4n*ggU7qzH zHZT1_jaqM>U{ODB8si__R?^+wDwjVNTqckGHbv*|tMBzLe@xZiXh!^Z4a+~;_`y>D zcikNSh57W~go_#t=D(5pbHV>^{Ldc$gTw#4;eTZCKQ8?LU2M2+?1Fh>tt4I%CZ*a% zz8#=1Z4pIYqTg%l(>A|Aa?s^`1zL&js;XnabI~xw3UGoG zFmfVMN$mle{We^L<-pTsi-z*mH5KIWveU}4=VO|Llldh`RR6Q4F)3d5%Jt7vtwtB( z%%)AO#I}pI^1`Kup?3!br^WuVd4UM?Rs4ngTQ?xLt--Qr1)5-CYQ)P=Yb|Og2H3fc z4XEW@Agpb)->=`}EcD6!o;hjC)apau}k=mDNIredS+K%WN(g;jCoSs4Va{@5?|;G>_EuMS<62P*N;Pf z8M6HnT5r927EwNo-mOOK9|^H;6BJD2OA?g6{o{PBc#V@;#kJvovGwzzO^(9<sU|ILXz-;;rfirs`m^X8uK$~5&09D)TNt_*Dy}rvVeQggZ&g># zby3mugC+Cj;r1Sgm9a7M>Zyy?P({~R(Z!s+yQVyTXUq|(j;6}cFYSmTpyqvZaNI1B z=ee-LqgOpPs|fu8)!A!iLWJ=`v~AF#SC6PtsUJuyb#6+k)vW$b>f)S{V~w?vuHh*^ zlHzxaripJU^g%B$krbkK6CyTU%hFM6I?EB6q+ZOD(W$2gZce4l^m`!E_dnFWdK4

3ZqeJdLm*b zU?E9GYIxP5Ysu^kCV<&nNQf~{qhn$=q(51gQpmrQ9L=eaUXYAU%BT$;n5>*KsMp+& zKFXFl`K5=FRgI$8-cAI1oL?XUy{>Kc>unAT`O`Z*`MOtgwAR#Eh7aQ5@$=MT&aLa& zQ|(MB2(8IT?`dihF@#TV&(Z1)Jx*iFFfg+b6&IO#B_Ju(Sx~&oQH-`=32hq#3Go0-^7>8@6Z$u~p-dumoHZ?Z~*L`?TGm$dNNUnP-c8p_3*=7+KyRyfblFG=FX z%q(2zIU-C?{NB_WnLWXDQA@*s+oU!6t}k9wpnhgRrg_; zZYbY$ifQlf+s}_4n6su|L_}iUwuu1Giz;uF4|{-!C4aXHSLx@RSyj96fv=|ON0U+E zk{dn@>Auxy4=a`3HOwfHzSi%b@PR=YE&fU=PrBZOg>6xeU_vY!3vhv;E+x;|Utxg}w1&aZx@rOx5hUR6r1;)?Zg$-=1p-u9 z4!gD36C-~HzT~`^`#*?GLGM&5tNmVYux4~9YPHpjalgur&x_=H+^D{Y!6$tag~13? zc1c#rh70I`lj@xKyd0RZ8+#r-)Aukl7rw^mEn@QB?Kaq&=;O^7U!srIbg>VVT{rFB zCa2(6MhZ`xvP^YS``A`fTzS|}1R2s_vj_!0BberKQ5Su*2Moyb3d`$I@)~n&2!EQe zUMSbB&^oV}f2a+pCvnrp31@t)KgMDu`c6&n3=4$+){{SWhw5D(n-=C_wUR&G)#C#= zlM;Jt?rTu#+=oq@6I1L!;nwMcJ8%T?`k4sYDO#(y6 zF6f-6C=7A!?snr};{vVjTpe8j&j3yMJ43m;2HwEMMt99iL+?lC?(H}BHzc;Ma1-LBR%(4Eud&du|SXMrj@AHgCi5-4Ml=R}S8MW~C;lMfR~%c%U<# zlzTmJ1w&3p%u7UU7X0m$Mo+8+^XD+Z(ENY9P_?RELA!k#TP(h9%WJ*CnJg5(i|9N! zE69le^z#fKU=&i9uN`-FDGr=E!pyY<0$BOT>mYrq9>a@_ zi0H`3sz3f6hEGeec-cu+O@ZUCX#v<4rZ`5b6`QTxC*Mva@^$YDqw;6qkA5 ze$q=Omwggc<(TA^G_TySMTiKk@=YO>e%Bb7T`LhjLymwslMnE1N~e{1W3GYXn^fOw zJ$+`G91P95(>0}xb+!27Qsyi?JS2zZDn*~`D4%aPrn`3uw;vQxtg+5Tyol;z-l&N){VwnFQyeUm@qx9aWNI>Z1o z%xp|BL`_^#Qrf&7h)&tIY1sLA^w$VHMDbR9Y4x(a*q}@PGM8A4N{mb&UDX+Fdr^Q? zL^E3cupRONkBa-7CpNA{CaJwsSg`7B>)LfZEL`(t@2QF}oh#A*rJRSHUnGlnmKc>Z z@_Q4uU8ICp0m!xA*cXIG!XnEzf5jje)+)KwA4Lru7k>1vVr#~%aP%FsczJXW#0Xa* zH)tbJ0o(wf1Ar?&Ly+jLe8W!(AMpm{7a_T&xMmyhAHW3GkG-WLCUNJrXB|*bvK8V{ zUBeWtvEh{|3Gsyx5*hHfHzk|C_l1Smbzf%p9snYDChYrJX{=VEds?aKb_QKE({On$ z*K$>}oW6JQ?^CrCUS|UA&~4kv$6At0A*3c}I36*%D%)$*I|74mee%TCV%-F^)Hwh5)%@3?9dFA`-bI3xweBgGW z{;rp5ir2`$q3o^sO+LL1F9pKtQ0|ODVcOe~E6f`j@$;w>vh-p32Wo|6Pu>^a_iWNT{pVUK?+d$XLd%0b$Kx`x z{o9mS$LrOUK`XI9tGnMoD1<4CSaHl>R=je*Ge1OKtmLvhH6+-df%hktLf z0~Bi$a>28aJvF!K+IcmvITH4AbyQg3VOT%DlN-oNG4+PA=DQ zdV!t%kaAEbO9cSza=8Wqb^kjRbr@S$tb836O}uzk^Efs+U{=UCU1mzH?V6lpTF{&< zrme5fhxv54CvKF0o)0|EmOfiK>0op7Sgiw$ICM>mdYW85o_xI>h9I+Vdb?ka>UBM- z7`_!dd~@(Un`XxHGeHK8y4o{qVsp#wtk z-Lx6v9GkK390iQP;aLElMP4T7YoS5Iv-KqZ>z2{Ny z=4n$ET_QSSTgq(17czZQR^Bsel*s&H&SWi^_jtI@D1jbIHe%AL?WxlX^p(*}G)d39 zyB)$f*6uPnXY(${wGU(n3Oh@?_ujs> zr`rjv4Y>I1wGps+cvE3-N8w%SFkf6?YE*cFpw%NaK@?+3cQ? z(xnqJhH2pa7IE$YxLfze_XLzuJHRnF9RN79BN*bHleAP-{br)6E{fo07gw2~n|I zYEP7=ap0yE>i&b11$6*izT$k`ZXMhR;Ch?s?%8iP8cWRndc~8(IyPT4Z+>C^ zmFrJpwlu6u(5|QkY}Bb+%)3>bl?Mgofm+6bpGjaDeu;1&hN`0Y`?GbgqJ|SntzbEL zy4u)`x=`*d1}T2?fOvKZZfr&_g2Pps+Z|f}wX~I%FWp?y=l=Q+GI(`%9qEP~bcBR{ zjSKZMOuh^^SIuv_T@OAjm(7j6%s?#!#So?JHJw;_bZ2VJp}>jw7wfro)s?dw7TahdX-rxPgstayx+k958tJV6u%Fl>7R+&F^PAwibpuUGIru!M z)thFZ(puUm8l+H7jYN_STTamnb$}E2zKzGSg>teo;?zEB7_0mRLU(wK8n8~4 zWa_ilTy1zSt|>9WJ-L|byAJ_8)EM0^v6hcq5b7z)FBfJFx=N?*;%4^o^7c|w;cNBB z>NpNrMZMk2Zf zuLU(-kCy)ND|&=Zd{XeqfgS>^T6M1TI8C*zEI+|}$|y|~2Xdu(1!?y>KWbpPL_Gdm z%n+W548!Ajr}Lz$DX?RUV5lHe=_rz1U=B&kjZLEwC|p}>tkeX0E>_&Q**X;C$X zu3vV0I(quOItba%zl=>i?`(jehrc#O0oHB;PN-N| zSgD$Z3s0_IHuP&UuhipFdQliPlT}5((yNwFth|3`4Oe+ol@zW3-UFG?2L+WMGgb2B zKO;iv)N1nFQUc9o^kxRarp05Xt}2kH4!lQxs;%xqG+Pl$=*Lsz9{C^(;Fr_Z8_!Dq zr({bo`w|~kHIW@myo)Q&a%bgM655z7a^^j_$x8x>dB*#yqr5?4e|nDXYn<@o*j#w` z)yo?%82TU_CmPzMGS`&*$ccEfza9^F@OY4Y``o_iKgd7N72VowFN3U9RvGf`=FY8? zyL}g1U|E-uhj)y6j6Otj&9{95L)bz<3ci=)FJ9X z@9B(3T%!Er&*xUg1bww)+UbuaDxzM$N}$U|&vU6cui*B%4{jNhCB!HzQqEBly)PZQ z8qz`cfV<_V+yE}1h$8HkVal)Xn?r4*4u4D#`8o0Ps67ftZ-jXaWG3dEoQ|pWD1-fS z&UE}Q+9{zffEYQD+bzSzR1kP8-J*+T>et7N6+Aqi%*0MZXDQ)!2#I)I)`&8fH&>GU z3X2twqc?pOdY+mD@uW0oL~GKfGnJ6xhX0fjr$VnTl)kla|Ld}yprTe(ItkL=AD4>? zRjDp+;-3+F2St>GxKBJBpEk^4P=54YmtO}pPv=rzIQX}n-ZF8wUcT7QQ%MS^v%5FD zSE;ty0tF#(CTWVK-UX5hSutR#LGlW;y`a=@J33R2_ny5Nam!Z#{=<9M#kiMBcY|Yj~LjenYMAM_aV@1 zk7j@F1LVGy_794Nh`_$q2}LizyZ{N%;hU>y(|3k!t=Xx0@bbZ<^bPEZ!KwkVl8R* zXA`FJon4fsj@V~n*;|3$l?EG*`UDKF-pTv43mroM`1c1#>_hNy=Rb#gA<+iLO3Ox~ zj&N~auF!qlL<1pmErHH*y z{NQp`QHNyI+VyoKP#3oVO{>`o>Y~R%9A1I#vHxeAp?%@LsHNKP+F(1}C8fD${3iN9TNk z`Ud^#jt634S-N(7G?s&*k`lca>_SP#<>wXVB2_dKZe4g!UC{QQ!_AjUpR9-uBrPq-Sf?GZLko*W5?gthWOM9hdcQE=6Z%YJgm>W?qLVju`j^|tzh{jML%)Vyh%SQS zcqOjZRCjLmUn_J}4?6Dw83jX=r&el!+r1C(jTZ+BspJt)i)48zBHcz?e*{|BmFo^K zG%7GPVt`M^eebjF9uKBP2v%PFHc#leH7Q?&Tm^4kmc9BHVW+gsyBNTH_hUt=rN|84 zcpVb)oA^Fq_m0O&&a}=Hd|M_5zq<;$9JRF zC5q!@8#K>t4GK@CJ}x39yV&@QwkmVyPBn z+OzJwBA=unhtJp1)6vlWj037n$3^uQ}&G1#irt=4RNw$aI)8}q*oG5q` ztiK&V%v$s3zPD{1{{?M0-FU-WI4v-(bE>#x7tH@|opcEvJXb1@{*1{$C0?V0HkQs` z+*A%<4ACm{OrIy&Z$Z#+!mq_ZTYT)qkFi|I>Uo}ZX$(lRXe_lY{ybM@NBHC^K_s+) z$_0HeTT^5*LCiyE51 zT+S(f_=Yx2`mEXh108$gd&L3b+8magy5vu%f8IH3s-q7!8YCyz5zWvct&_2+UP{Y%)b>pZ(u1l`Vq(G|c zi$w8<$(;OfNrsi-YNO{Oqv!i$sLW_ecu8`%lhAl9am|w^h_w4p;`o$i@k9Mn=Qc%f zJA6^v07tq~N<;S4ON!W{@Uw;c!x59Oq_#6>uDyB>wI)du=1@|`pGYUfNMZ%UOD}Yi zF%mSwPlQH*^>83p`1R`;U**S9k*>b*U3do7ywm0CFwq)IZ>81rkY@iwqps^_>{!vO zOLzGGYD|vwWGR<*$^MS`#2L9TZ*g}IqR-v;3^40+Xg|rm&w*2R%c+Tuq(&ODe3%#B z3OoHPbR~DE>@^);qZ|(Gy3GB{`TBXe9J>$dE7VQiyW4K(Aw#Z}&d2qHkk9 z-#okk;D+6w$<82fkxKkn?YdZMTcqWZ<017A_OK7^0u}$&*h}ipW2!ya_nWaHRsX-CcjpmdTL>u0<49xDnhyV2~nwl8)vY?@pz${#*xUSE5e`_4czN^ zpPP~GYsd?cq37FRa4w`;5wNA=yLW=#zR^(mJP@^Vk(8O;uJ!|shCOBNBQpw@9=p5&h6S@FQua=Ec_wDPTNuC5=ZGrvEXMJJ*c}RuUF$4qoS@sZLgqZRwb;t zMg&P!`qpc*ow^CgGW}whA<2>k9nLlo8N-D*pKG@PuGe=gH(fejdR}Lx;{3*PBfw(B zmp&0AyaM%HqrX?RRKrXbIj)nUWGZ5Etk|Do7bONSEWX;A@T2E#0Vmt~Eeur8w0~_= zX(chg5Vhq*V;dBNf^OxopqF4rx5?-wtrGo~B$KcEg(-ikcv|6x(Jw1O18?=FyA*f2s&R{XYqJ&`g_E{f$Q}xsXfbjE(rVemfms3!i8(y1S9bo%W`b` zKIhDlcQJQmFCS>N$J-XGhoD@=pFEerT#E$kwM%cT3S`q68CX?1ygPmV*xLJb&{xfU z)P>z2oH{A`*#7|Uh@rTgS*s7X>`wIRT8~n+rfWC3pWu_4^Pj1NeiR?0TqKER`jnw{ zwjNrhzM+^;zTycP-D!4g-&WIIG&H~mb0>)#*1Uk%+@5W$0(Lxne27n=^x(7f(Tb1{ zM|BkIH`eCd>`95P9i1+%leLBEmLIpSEW4rI!VqleN%Q$(Gas_>Mh$Z=2|u%?%*M*N z!ozRQd9GV$Hu&WyxlZ>NJ}r%79ce@KX83?yp{my2Gp5Q}bE@HR}Y&4n*HV#?~mV7?GRp4VPDT z?~?dGV-^`OCQNX&O9yRlU%XvbV@D8s?_uGweENars%#0w3dZ{sZ|ZoHGGpMqb=tju z68CoXFoCbU#l@0x+HJ~cXw^38sPJ+MaA-w-=eSe2pUq8W!X<5|SxF^s*0x?J+$~We zecagHPuC7m7dy>?-)^dTA5RiUTDFZ97li_um)S!6xryBPz!lPs)c-2wj`RXaLbj1s z2|?{p!V2|+wfmpC)hg8#tA#r!;hQf+-4(hNAj)UH4N$zE;nDHp{uB&XU@@Df4hXZV zxt3%ene;(47@N;^%(01*pHyd-AUvXjaMS{MVT=`C(3W!H_dvyvizr`zx5!;{e#E~G z!%si5@H%jOYT8DfU3?;J$8*h2ol4qTN#j7i=1|LSFj&+JauoM^Bt|7XOnp6^N$Ar) zrJlU<_Q4o+6I1T8`YNS-nrA%hYn2ez$}1)tMUZ-gNW(Ch7Dsqkhu@p;OT0XJXW|CD zwu>Kh$=Ai}4H!)csrwbi7_DB6`)Ms`R!NKd@1USQboRmt4F>$L0kN1dz|y7xyO{@> zo~GFM5s?CV`KGYyR~Y(iD?7@~TR924Zre%DAPH>4o4%s(5F$_J6^j17cm%f<_?Ga&)OQ zRo``|>ye7uXBK_Sl!MJg$0h)rqtBLUR=9_px81#r*}E7sM89SjJ&8joXWe@g|M=;@5g3^i=qVgELuL@m)zdXUTgilK4XW(h8uxfQt7*HPcxRp z-iE=i=4>jb)|Wq8_^(G6#s?VdDzE0G(P1qDj~&UD4HjWH=5Z$arOCsXy#46bIQ}s= zi5@QJ(L||m*_}6^^}cjJV^hA(cV`#^67Vw^Y1Myg4(F^*PYf&X3p!uql)!MnHTmCP zWUH5$(&AGOXyvbZ9}0Qid35$%7!J9Ugx&jb;+go(I`qbT45NlmuoKih*+*n zA0cyzhakOB(&SO4DsA6$>9$Z8Bk)_t`qK;?FM-kRRLG?Kdjo#g+O8DNmCq7puN=qd zg}Iyl2aDH;VV-gGOW2xB0ppWzWW<>PS~P|5ws`}<_()pI3oId&K~%F`-DK~3x02>L z29NE0|5wEiOxeu-0w4FP4LG0a+#uTOcL_@`ipm=KV7U9m9(d7q!bSm0@R_7{Y3iK* z=jR#*le8@6g|;PbV&zY4evMJ>_&NEjK6eI0U3a9~mrr8tz|#iw9MqQz%%hji!$s;-Ho(H3PhR|TZ?ck{xy$VG~jl(f_Ec40V9^q}AMP%RkeOJ-ow-@aaET1`m=3sR20-N~JfAkgqI)<6BqZ1yNd>g^CRkan@5D^bZFx2VO> zH9h@2F~I)R04VYXU;bU~(scfZq!17>FdI)T;^;wc9fXCE@n-~eN{7vJ5P0>|r$q@! zjK!$9m$RiZWG%+(k@MWs*nMr}0GaL14)w|@oC}kYNp5vSGe7|LCZ=R<0103&epym& z>LQ7uz979+>`uES9h`KuLSOtt*df8U8|R7UJ^=oFAvQfCA|)Fp;v9Ooc^n@G)*^a> zpsK4_s}Ku*-@X0O>4aOEV`UmQGO8;A$1_%wJwus??B#=v*bWNE9CKBcYKrN6(iaxro%xAD{R#qP55?Gb#n zOf;)cWv>it=2_q$Rn%S%HxDcxw_2J`oYi$Y$MZvM5JbBRUF_U{e5Y{ z;Yq)1i#gq1NI#3GQfqz=i;^O|%QZyb9z;8KKtUX4He@6iIqRUzw?al%`_@37rCP0y z6&_ca$J|drDEGSVa|?RW+faE+3|DptaUGp;8ky&2zI|By;(4_bIyMb%snKGtIEiO{ zFH{!R=7^HmPXIAiyl;TL=!QCgTH@0sMG6dp|8g%s^K*JXzk=J`iOk59*V&qG2-5y~ z3_(;P@VRkQ#`du50Dtq4dx!p(WDQGVwcZo0t7)`Z zvAnr&Wxpn?$tucKa_u!zR^09X&kwZMH{*2Q0BwVAQ*O~iIZNn)aLYXUVS(g*ZdQ!x zS&T{Fv@<>>;0w$Ud55`#-quQb+-ehV77=^-HF~_h=ypfWHOI?uxEpK~tiFvp2zOqp z6*sWi&q{8-M*qP@5xY8AddA!1)5LCfl>9eB^X-V}K6F9dB?r{`I86DbT-}k~@*z{S zL7@zFK~xKo#TfYQlVk|Yfw3}*Cr`9&L`X!{m<{0?4~dqPI7eTbnI1@8c{_dpJ*{E+ zoHSSHL&$^cQ=I?a3FyVa!{|{Q0&M^v^fsA$85|xqFRuFJK4CeGr%LUs5+rMW#Z)EG z;MAbv39MR1TAq%X36mxL7-B+9MO77H7u_V!fM!JytiT~}LXgL+fQq7__K8|OkSpoS zUe?orP>$1Oqks3CS*{DnkKKsSE7AMu#&D6|J&PZ_eml8xdFHb890M|%!71QEeHNw*J3L1a%lo3B@^j~2iQ#hS-m=HNq zuv3q5-`B5?rGlmlR4pep3U{qL2={H20gv6U;U*p(%ll^^vyUJ-UynI}i6yYPw)OCi zv$|&f2^=>(?~TjGQ#lcJJJ4;)t z2g0rd2;8NS$BGN->wM8WcK(9sBCXz+066cu-g7>D0T!cjvX!t$p{@wA^l8bbK~iJF0xbc(F(2_jYmQA zPezAdj$Qja#`7n3#)cxTF2Gt){Y=w~Y z109mzG=(=MoEb(ijq|b?rCLP0y^B>(vQ>QNmNY4!_9tJx$#CJ>)MPFRu_Ty@I@!WQ z&AHOYD{_hIQc`&LClu2KEJB&`*9b%fspb3FJ7g~9Dcl|lMOm}xGO!NNS);U`W(f55 zF@FSeRDR4+8o>FcXufCLvq4*6_G4=Sv)HaCvqZy%c;dOC`-{&*Bxud+X2#*oz3+G| zMrg^4X5xDPdjvKi?CB1;Y&9Y?E_QVnkDO2$n`|g`ah_qLkD|y6D{gTW{ZYd)Nd0cnzX(G%AC%RQy6Gx$Mjv-6_cV6Zt%+eJ)R|v z1Z`=H`&@Z;+<9EO5}gYRzy3EkM|E|^bqy6Nt7#4E-KyS?@`@tvI6y{2)YTI;S=*?| z2!-=s!ZGxS-+Rb*#%K7gRb11g?2{18FQ_L`bePM^(zt_~Og#3#1b4o$y}dfT7O|VZ zJ+?~bwCk`7Dha#D^*7FO!Z(QH=V@4d68tAGk9lr2>6+A#V7@78oYV3eH7U7I0XaL# z2~Ptau|&`RqZZff{poKhnlfGystF9xofZV!1sg<$?Q8r}Za$Af9r1ctnyGZ?W@ycFg8Sp5V2r@#mqRTeVyZgQCm#Yei2nVAU?AbMEK*dO&F%+95ej5kSOXo|{H*PH3B>IFfXA8cm;2*pf47D{ z%oQIzIEI2`bz!ya40VSSmuJDm5wg#F?)Ks@J$3_LcdF-a-v?oeI8NK+~bUp4-r3O(L>PxE1x>`Tn|BylQfMn^suWJ zX&y*YOE?86^9sN__C-eia16#Yor}6T66&@%H!%7#^lOHbia%|sg&{OfCr~VC!cGxZ z=z7+eTc0%zCxn`Mh66F~mJabzqJS^+b>8UdWN1g7bdK5XQ{V58e@IC-*CfY-)EJaM z?76R5yi;a}0;fcaCSYrk;biu!BSIYb0R29jW<$C;A@+MY${*>1w$gKAZTje0_m|&3 zAJM-!n3P2t8%{89;&9@t%iZu*Ldm3BZT{^W5$=l@f32N1AXv~K(nKzS$)-qtHhPZC z_1}Qr4ZUQ?N~|a(MgfJtlx~O4UiuJ9!iGjhc#rR{D|Yvt`*%)jWJDq$%Hi5Dl2wC< zDnxH?H6rJ;FDA-!+VWD&9O*NJQO;=0B&#$m`EtE2O7QR3k<|Z!J1Mh0C@L4Ds|KjQ zHfnvBu^Rjlc2pQIY3RLWMXMHOx$O#vs@;q86A4X5Dq@6j%gmV9|6vV!c@qge$$7n> z3qUs0Qn$<5$c?7Q+`;cOciCwQep;}Ayzg*vT#ik`-_^-OI zD~e)LO`zxI;*Nt%IkMm4P3IEVUnJ2TJv z(GMqa=$G1TfY5UX7Fl>~O_Zu56{;SV{1yo*SHA z7_v84UoTtQ##w%IuxnDGN3mEoWFmC=Q^MqUKFC0)=rxtq7>UAw8%6lSj~ z64B}~eL?yr8>lh145)^T{Nx%+hu`_i_}a&ym=&^84A(oAtTm zKK6?}hWVVF$_I__FQtqsCjRruv#!FCV2GdI%ea0C~mg7lA46d!gVUFCT-yCIc_UDjZ37e1VaXfdJ zpIEAHQ^zIHd%idE2MYE}<%xOj{8a(HEW;xX-ye$J*@1439&c(Rq*FS-9mI$9?=%1E zXObitVE0{F&=_p_Xai+@73NA;I#71;2~j~CnfSz z(U-f;@uJQ{__28EFmP$kphT>P4fugcZ> zXmPHUBQ7w?{422hBmde=f|ZkX&c3)`#6i>BNKy{kXKDIpdN86!78wZ_b3K_&9Jmvl#0e*e&>N*DyBidU4{e1TPf0@me`f(0 zQ@`1X>OtSl)#9|)H&C1)zJi&iY)uf=_50%31hajj=zb33;d|_7bd%iic78A^gC-`o zQ|{%e%3XelEjt6bXNOwnyy`&aC_7#oCeJRAg8o0em(B7G6kpk?$t2n?a(8T;+N+4C;=oqFv(jHZ9> zlBG=?IQ^sOv*K6-<;G=3r)Dm7z9>#X>uR=Q927~xhEA3ik0_RccggkHSY)GZEG6+e zx$HTe&_)NgDKT%5WoI?l zA`2<}kFgCC$1UwcmPHH7#!kdx zqH!QRNV5>B%n>UU2a_YW#NIM7$B^`H>VE1syAgS%TV2xO*IeUzv}sg&lm?RQnc9~@ zc7{!e<}IGJZw79YiD{B#TwA{t+ORZ|C(i!m7`G3nYKM1k z8q%oPS-a?^s+J!FIj8d;KxAW0B^nQfo2RZ2@<3D409wVA@M!jX5`EG#RK1{13 z14PgfALyMCli1;yd$ii0WV+u-|Jpb|@VjW^0?BHmK7OBdC zdO690DImz&>PVcDDe4q-w?uImuar(q3ohnj(kj9N?=aga5<$Zgjf6z& z%h??CBzNZQJ{eDbTFD9zfq`)1wX`f7PB~GQfwpS(tZzn@f%fCqXbH)2HPNe|Zti#w z40kAqz3FE1?(b>2i+%~Q=(Ev`h)Ygqj2g47cI!7uM7x!D;>x*@ z#PrvQ`-NR>ZKb>4wflh+Lr}1+GfWGhfnn+GI4r^4lP|B=^v0b&Zg3#O1;Zy&>x_+1 zZIsE99rR_{Ri9GqnyLJ6PFy%z5F-|IDLLu_FYffk zTNF)imDt^iQR&}5$``#t+j|S!duI8!i&I{58OqoE$hV06K-$$=pVxYd!%}q_7@R6$ z+A``L@jgj%v|ak#w;t>#?{$W#OIJajFTYZRqTVUGZd(TF?-;8$6sD!0gnz@MZQzWg z6kXN^+-Y(C8tPwC3Z(N{(@RwWxm-{}8EOE0!2uwV?~yVUCtAd+k|e+3Mi(pJA9%c} zSvQ=TJKGqu$I%mjkbnafG_H;#dpI>2Sy z#LB2d;V@Q);&X}j#5a$VQ3Hph(wfN}LAU+wi|-_s#Oa-Wr>+Mat%X0F;EyBHOi*1= z5y`m9$h!p`-d~Y&p9Zs=@3>$s#w}eXxr4pOFVVwGG+Q316I2NZY&8W(nO}K**x+h@ zxyc4nKq}w;=DzOdzAq*qjjbDJ6e~u@^7=D3tYMXsz<&fbN{m9OuG#+%1z2kmXoiKo zPtHUfePt7+H@Gq(9FQ9PDfX8|2)kXQYH6@V9NK%Ow|i^Ei^?54nBAMsPoao|EnBXe zy?lC`$P4;P7H1Gz@n;hWW+V607rot8;yIW8CBU$vqRn8P~>b|F-61H+x! zIr(*gz5lufe%Vq!99eX(ud~Nj-Zw|(Z*?@$7b`xuBtC+cn{7+31-`YRpu%rrgU z$2zHviLEVM@41G%9ZtKSZd_9iP1vHEe$xvLBLoG04-HpWrxI@l+&%wf?RrNhc~P%r zQ$kXDI)uI3MgzC<#_a!?nFjMF-LvEFUNOIkEeD~t_~Y^BA8P2kKhOz=fZG4z zQrb@>Gl2a9jaG_k@DUq(kibcH_NQ!t9}}QQm?_VPEyFj1$sU5U=;z>yjWg_oFlJ+wfT}Nj4-pLJAlWx*UJ@oBE-SYlwp| zz1OW?b9ZSzRcN=66D~D-)SYh1@eMphWBRft=6sn_SNj!Wp=+N-+|${Z#2|N?^uKJc z;3mrXH}7W11$9{k6e&lw4#;^gzF43>kf{9~PHLW=4sW4LU!x_bM7(_2l}F12kRKMDJL9upJ$_&x+kE|+MXNLWbOck)PZS(G0> z8+@Am_8EUnl|V0qLGNiH*W}t2At?jKK&H=!SL{)WFhc<)Vu2D;6h4QPGEsQf^Abf9 zhmt!nDudes9AA`4@ZPiA>!MP|TZBbV0olD(51e-Wn)l8y-?1cB83tFy68vSS(}NEL zL{MI&NIn-2c4-gvmCKl-N`i~iy93qr@6Zz_7~eNa$f)p;;e|Uk{1)hb44P@EpPqi< zZ+?dbT>@vlc>U_QU1u2(>;9n(`eKc?S5?MZGhV|4|5k}=YfLDcIT4)* z>h9j}`-L~hE>wz_1WRBAr~JnPtPER3FtlC$$;&IL>GQ^kLce@-Zej0n=2l_e*?hOq zR#y)%e%atg162b?-g0p}3Ao^_D*IZhaGk>sXixG3MSg8#GEqTDs?K0hiWERgq=pIj z+WN9`pGXlGJ7;}KVanGWEfUeIaKk4+q6Xawn(W3F+J6ZP_P_i{tw!P($@t7Q>EQ%ZzNdpG{ZQ}W_3aTA2l3}efpVH^%HkP!(HTl+^bdaJ z7s@XR?6UJ`5L?dg^@fjV{qABB9>-9mDOnlh(gu^fW?3+nT%(rgtf z^8W64AAlNUP>POGm=G7^eev1@Gv2ou7@>vx$f8k?tGZik&Yyu|F5(xD@)V zw3HE%S>4rt0`&2EQ!B(VafgWgG(tt$3}g|OhpG`dgvSM(rCPTr=e0ICDtT=izjw4uLItS%Eap)r?$!x{N?Zz8I~0NbnI|ZM!??E|jeUb%LQhp65OJ zdK*F*-k!VP-cGzRdocT#-XnHfI8(*)ZV7bLOgq@wLurvHWZUGZSiobjFcq9490xsvpcz( zj=VZu-TVgrU zzg7X7SY&H_n^y+wK+#D;wP7~-%1*LGEYSSubzpx>*W?e20@%|*uI6yT^$Qbeuld_Q zn3Al$KWa^ZnlHARFVYlhbJ|M@lc<-ERJ&L1Dy;_Cl*Q<2yLfPra2m~p_KS1kOi-jF z(60~=d+L}gO>*mgvg@sWIx7}>YEbD&?+mTdab}52j$tTpQLvFKlswqEXJYXtCZZ`k zM$Ys6M7=I^uIPaJXl=@llMw7cf+NE9td}?LL~gjTJ2deU-z~LUgAgja<7oa%Ij~R~ zPoaL#Z(GNFdMn}bYcE1zrATSqPtUNcJ;_CHH@U`cYX(+AEZ}znKeuaegYD*cSV)Q( zC2ZUZ8i86|i)6yGj`s*}V{&VBuX|+Z&;|IS%6I?7`n`Lu^uQYEhycF6du|`Qss!kK z=SEF&+LNM6*l{Fwvctkf$5(`|rb#7%e812ePSfqXk)wCSRL_{ES zeMx#-=?*E(LARtMH&AIP%y6`uYabp_fg5PFVQQsq`v`@~o&omI!><jeuUGz|qmm zFH1cZ#9Y2|Bd9-}c9lMlI#N$MhW6K|2}9;A`%8&j5|#Nlh(W>*9yWc^D&!p4U6t5^ zTBt8<9`*b~wyA|RNNYv&$*t}bI!YB&Av8;99Uyv1@`kAm{eNv~&L z`T3;NLg{(X*t*whhn{HEGS+U*Ia)?Kt2&v@E^cGreOB(v)V%zWRK_1#!<>|sx!PZ_ zh=-)Gfnok9*tWmnm%!p6auU7cg?^Sui2(D^^@L@X4p%{qu!T=)NBj893d#I0FBJX2?!WkKI3#qPi??Y>Pm?whSbi` za5jnCG$ECF^!a*xzW82eFr8+)3N*>t>u=Qp$r4Fq=!`*GY~@S3_&V+FBzx(d#&~?X zMTp&8ox3~y#pwfA>&=_pH=2jmpl7YS=N9Gy&l!vZ(?t%7>-tW4p^wk8^_>Lr!~$>w+0+AC5>01EOuvw>%36i zp1FTEz6(#{P@*w5|G;(GBdFvwRuEvOpi~+|c%9>9r{Et%;o|dKUt}0Xd%whCkozLF z`5kJ@QANF042G5~Fn~^xUzIyBiHB)mwSXk7ETV=w?$Ws^iWO|7>aQp~+G=SR(JM@d z)Mc0@G6P}T(Ypq%liV{zr=g!qyi+N-9D=XouV7_~l;x}B1{}fT@vzrqFKF=pNS9KM z{K-gH>sZxma-Qcz?Ix=C;pX8RQ%UEX{h`Qc2hwl??)_K@x=9j_qM$yv<$WaOT*&t7 z_YA#zhOy0N6kj-p&G!Y`$?6g_vsi3yK1XCP48gT0_1bD(iN=nN&1|=kHLmn+6uDY~ zH?=*waj9dSW)^LP7^08Azy*x-&Y_9?QALX;Jo^urB6;hCDz3ZV1Ql9xdbubD7`Hh+ zGFsmcr)GLBO^Aq)Jx=sHlO*CPlB1!$$D-}m5R9`Ht%BS>iR11)6tI6m@5ui^?-%d<7NfXYjfR+3hZbpx{(@dMS1xh z(L(7mD_-I@Lb`B5ZWqVRGNc@v@h!6&O%o7ZA4?O!5-m3i*s8RRvzIH-0c}1~J~86@ zu&RIzi+gVBJvof&;B^5ozg%87sdZ31vy=AX=>BXzlqw}m$a3`6*1JQ4YS-7S4#kCR zyax2_4I1pW6>WJ4>$lH=aj&utyJ0ft(RBfKKKY<>g{@>?bYXWC_UY}aWY1%fHFu~N zgcFHDprMUS5>kMnpekOpwKY%Hnwiy6!D*%mzE%k{jq}Ug(>k;pJ>lf)a&KU|sIDOu zF1!VJcf$#F#2pM`?G5{t?yHcpCtt5s=Q3{MxFo(&wJ22kzCXO;b;H$8Mou0z3iaZ5 zK^+joLrOcBP5x#<84wblaPa*Jxb5dx7djEQv1ork;BuA~(nq$`iVpW|jqEMGAKe@| zv8_3D#idim!Xma!?nkk=yt14F;UyCJ?+(R`H}l@6eN2tZ2yhs4nutAK0gzE;TBQ=&;Lw%L&N$yEXMOo1`!V zLF+vxemAjHNOnUBzFGKUuixD-??%-Ti^`8uz%|&YTZi=FZV%Y;j461DL*3CRX?bXK zM@J-Y!RGQ%-xA}{9?SQ__31OUdcz-5pxIx*KDd zjfO8*Q5R49FRitqa2#~LtU0#g3keny=}T+7!7W2gjmZt~0X)^8t4}orZZ|ndKS%AL zwk88zsqNdZ4jA9H5{Udw2W`ZyYykozh8Y`5Fx`!KX@rpwgbmkcMxz!6m|!kk8D##u z*W67KTQFy+D8J|!_bZ`_y5EHfr@z*>KOUunYk)^h+KZ$<3#9^GeB0TSUGG%dQ=`cx zqJCHzMOVEJw%!Z9u%o?eT;Rj2H%R$vU4u5iW+j4G3Ay%O+4@xS<9d=jX416n&ex{aG{o;>`pagdl9d(#|7QMSk3 zPbG*AXc#Z=4WwyaU2&jzVn!VpAY;-64ac5B5ONxfR|(!)mXEb{vI=OYY^jR;q9Q{G zS8aE~|3E*9zN@7F4F~aWZ96;j4-yfV+Mw!vXPVq`n_%mZ>+R3-BiEkhtDpVA=Uu%= zzQxc*%HX~Xw12{4OuHv+h;OZJPm&;=j)AIEo*Yo(o=gqOj`}nh7z$fHw*O`aR zy;!jS+Irl6`|1(h-|0@Ek89`Ko9X9t0CyVRJQ0HGEeset-cXmaD`H+t8jkVlizSgA zdl&b62$VeEqFUVB*4U6~?MWTI{_XxZcd1|g@(k`PxF<8>&>asu0ndWjQ4ibOb#2=n zybrZrW=K91EY~q4^8=n%^XvEjS1Wk5ZAuWbWP5MWavc0(V%-EBioy|i zzChqxB&oa!88_%@~BATeyEkrPB58w2J^7L!BYrTU>dx@MIhluBbZ}Nk=!Dr{C)rU&cV;!#!32 zkcz{6w6rcyujADB?#2)aIZW}Qz+aW7^+qha3X!Z5#-+!35oqt1&Akr?iW4~{rn9_n zk1az;lh5ed~pIWr4&2IGqe_0==Fwi4P*zd%M55`Fq^3{A*GB9?VmwJ zw^SKFND!l~XqFMP^R~Bj@VVXYeIX|Pelw32b}%_H_in&Srw^ynzUYwJ=B~~=Ut2Co z&}E(%Nss8hOr`u;M9zwm8o!VQeyD?y3DkKJBY3S}8a8U8qS*5JD1Cx8soelbA>6Ee z`y8^81+xj9L3Z3%jqA#LKhXHtLikQmJ3r_q7B0oZRc`K5hnGmoIDC>m25j9G*MQ_v zSXR+6)RmUUU?=O?+fDXl6Q-U25^r@rIRqfYDia-qvU0`%S3*sW`^r6rVibZ2$-o|+ zD}ow@R2yBI3H2k)Pb!vCvG*VFH)-*|N71RU_Q;WOa+C$7@1 zH)MQIEl*E&!INs|R1;uRGa;?*oAis;efQIg8!?H{pF%7+Ee#)Kv=>U@mbxeVMh$7xf`6A}m-Z zhJ!qCM27t~)_5}Fp+XA<1r;Mc4<|-OsYqB22GT)ce2?he^KTZEV5o^ZigDK^V{CM& zQQyQ!=0G7FkpBVLyZ{X~bug8$J`*^=rBBG(l7m(@{iQ ziq(z8<_l^!M}em_g@&whS>Y8dv3GJIM&0Bq?_DKf~l>k++%!sZ73Qd+8l83gxe=I_R#XST-huQ>#{9{>8JR7qaVmSy);U| zkGr4$zq0^u_2j$|V2zo?ozoTGS6`6;fofez!y&{h3GR*>CrzInV+hc8jC*%y8%x>U zwX48A4?o|R?h9@2^AT^wTG-*{G1i#q$y*lPQ_j{N3kK+H(|T~|C4p%h*y0gFMf;X_ zhkoIYdHnm2A0?no8hO*_W#F@ThV3WL_xCe<_9V5vS&M6VoXGZm_~|S>t|Q1v<-lXF z(%eJbH9^DjP4T&$tv_3rBpCVtZ-BQ497DJ-r5(}3$!I~5%`r?H_KmG+@_C;x)}_HD zHA#jE@-H@l3z73Jb59GOya@`I-g|*lhmCf1i{m)r zmjOH2hq>&1{Sd()F~_%AjCmU2n6vh;#r@7`z!x4l4a#bZxO)s2-RKq3BA>WoE%PIO zK7YW1b?g2-)5DFKI0ru4{lVX#{DX+mX0qjw^>wJd7<} z&@Y0a`??v-K$D)EU6%&%rqU+xNcVi4B`M78Or4a>h|{pyAflg z=O8RC)4m$?-XZ_E?Qr6e^UdXGc6A1h= zUYp9{icuHy|2*;kD$I=Y?e}ng*H^dn?Xt{P;ox9^ESXbS=(e-pRt+;jIiB%n#1280 zQQhCoCV4A;&h0sC?zRBHE$}>k!LuJP)!nE#x)1it{V}^au2^~_ee7zC{ocC`yU~t0 z1ujMAo&0Yh$Cmr5TuHxQ^T9*#3@wS`gc=0o} zTj|rLAcstU;^uK`gUmVw!JL`R89@o`Wo8Oca5?^5T80dZa86%=y_ShJ+}u3eEAn$Y#@#a_aBN$>vxAmFb_@m1 z5~N@j9{aCp4-V@;EsKKF{0oW*BqAPa*yd7m;IsvY_Tv4X<3bWu7}k5_?RA*_;N^y8VR@e?nL2?-4+^W=ui45)93z1 zsR-+Or{5U>mTnLLQvLY7zRjkN`)n}Ew$!$J01&AyZAjx=778beoeiC zJj3&Ow;?LlgH8KSl~MQ{k!v~ADpxmKqSMKDxqnm1&CZ{XdH*tsu0a~)7gs>W4-*04 zis9|zs54ua&(-%vL610}q4wT;w0z5l>^L4YCK+^=UbUAiFi)D?^|cl4Dx=ZhtP_(Tby#a5nyC|)Tzzc_E|Ic2t z3>Y|8IokG5=Gjal-H-z;r$xzc7c$)F|2#xfv^ zf{pt0T{6l)GFv~bZ>syD_5D~g3rKqy*HWv~csRnLmsy(4;@3yF$6n)M9FOP`r4AsV z0A2ps1)J*S)9&-P)5ZweSA)*N}@tr)K@4-!oLfW2n^~8}As3xDSCi z<5^*H0rU~P03A5^I`lzhMXAqV+@-#6e`|RMPXI^As-dc4*uTL!wqd-8>e8 zI}2cD(zh-3kC{ZGggC%^J9%Ica+y~10uPozXUQZ_Db6R?R^76|Acv9{4&VhAY#MSN zzrm^Yfg5{R(t9SumUpD7JXGCM ziwxysYHa)tR;}lPZqb{A`g7_U(cd(}`+sL`FksZJeCQ0HdZ_T}R==?}5PKYaI8_2J+;#T_Mk>qTsW&YJTao;U0%(~8BHeDwD#z`I| z%*4!aEX)@|D#n49gOOdI;<68NbR7M9y8$n)bMcCBJaTK5$P)cK^F$}Lo;0?W<&vw& zWV(M;6@#b?9B41;dSXlF+u+NZH9q*YaUMD}<$#}AeLV}C?7mx=*$g@>A)7cg%91GK zLQV4FD_U&(bvQi9ha(bBBk~b~EEru8<@hm*;h`M}&{zCfKuE@7{6lfnsk%_ow3Yzb zlp|I1!gG(H?a3?Oz|F=iy{HHY+<4D(3Wd6$V>iG!!+qT)({gdKO+Jg_^8rEEdatY= znzRt6PTo(Q?O3~4SP>10SC_+Y&!(jUVaS3#e-*(sOsxPn5k4Er@89ny$sjh5Fk7k3d& z$7leci(ZiK)S_r}g_?GWG9j!AiaB@Bm#o-)r{X67csUhmDAHi`opND*3;aB$H9Uwd zvH+XpbJ*G_)v2%Z+=3R)-}m-Oe27}RxUvNJvwsMAEXzva_&y06=b^HH#NJu)^G8?a z(a1>ug!Z%x?6^$PT(7r}bkUt(tMRYWsZRSXWF0^oXaL$mCCs{Gh~W=GS7efg2u2s- zQx6smxDY-XOZMnI{;f&y*~4e2_wtaf)o5KbZdP}6@^!7X?n=;@p5DLQ=PC-Pu6faKt znRn2T(SEl-XZ)p1lK`$-9Je1+rmIgf*o$`(Li!S+f72Ui^8P2)-eFlel@Jd(mA8@} zd1kY0y$C~`Wxct1wWzLWCBM_@hzR^xRg#3pe-;zwo}iUMG-oi9MO2&fgjghfCn~nF z)|g2^5P*?bGhWyB8Ugt-PdJe3%3x`zT4!=W#mO*ub}zTzZhMPrqZSea z?oNUpUI!lYU1*0e#H*qsf6F4u=2)uN;n<$YtGQA>OFn}ij=~ZB&ws_?k_G3^F#J`N zD>K~a2Mqu(+uK%J(XAfGccIQo>L9CKR>5nWbI)@53@a4ROStXEMcSLTmuJDAF<8?} zDi-ZwS8wjvNTSOnlI5!FrW*&mNcJP02yl)0-z5!{O}E2T_rsjuK?4mVpk z70T0QNXPv&m2IwttgooFE~C0U;}ny)^4!BVG8L*S4B`NfH`Tz$sgc6YGjo~2tpKNX z+>B%#dSPtkgTr<>$p`)^qIDEz?*On%Q~&4E=6dDZ#j$PxZ+sg1O)Zp!^SJupDk5C- zcWy)PKHuB|w^Sti@@h%b3KVSEME^c$)V-NT_g5s}E$cwzj`lmD(w@e)hM|r3@k1ft?~01VbdVoK;IHPoJ@-0%eqL8Rhl|(=J1lf>_E)^!6(=&OLdB6%2WRVP;@YLdLukgyYC@! z|BgtOqn8K~P9tV}W-&F-g-W(H^MT-xHC6C(T-Sl}+3VnT`)PkQV|M7mehAWA41BUE zq%2*B$}=rjZbeqNwS}=qL5jWK6%Vz_!bs_7C4N?oV(W<|4=q+yzyP_ zTU27h9Tb^Drw<;}+GU@m$YtjlJI|JB$uHzJVxRuJFm*lLT`fM%-Oq=N})s|N0lz-sO!HacZ z*=)vl`vPpNtoRYQEptUKk&xtKq-&OB`SJe-oT*!{TH3@~k6c&W zXLBkXrQ)CzF(I2z|K)!^W*FYsGU2>l;9<4?w5;jlB<`DC2GQX4^%3&uRhwX+d=$Bl zyPj`fH$ZsSqTEE3Q{_%vV31A5^w1j7C$cu5j!l3(QZ9pMG&>uKhPU<0@?IRU(d&ZX zu3eHq{?d4!z&d;`y1-S{ay+$z030=YGzk7+e-2R&6961_R|P}{DMPZY4v9yQxHr3a zLu)L0y3*WMWaGXbzeI3;^G0B$|MgpMkrO1{;~cYq<^WtVr_ahqrmlMwzoldAI=;`-yh8Iq-9!}VM@-(?u~Gn7>G(bc41+bKc?V&I_H2nT9V>|GS2Vbg^MyWKiZ`0 zRO>im^Ao>LGLz`RN<)KlgLDJjUt2}=7RXv`-Z3Fr-Kops=`$CkS5I%3b+@S;-h6Eg zz4J+`nJvv@Q3gWGvRVjaQ@=+u`Tr7);C!@lk934UlfG=*zVz+g0v*P*w!Rh(bG3<8 zE{#B&w9_oQ$X>wz;-ss2w};Y#uG0AP>oDEE-&o8kXKSr#*kCX~a)f9tlUL{A9p< z@3X#jmD4~9CAux79Bs_=r`E3<0IZCZWG=w_6e$J^m-I`FMPLB?H&P^dIpp@EKnMeo z+h?%l7XPB?(V1)hQSfv2c=&FEV9uXMpU6fDOo@Ij=8Ej0#c;{F{UegDOy1rVYWXG$ zjURxzN-f(T!i?7#B|=Aiu4e2^RIN1tzs|`ouSb!sIWWk zFI|-Qhw`6C6HFf7aFcqf)${;dG359R>`g;Dk<#LHHZj}nXMWy$lezEu9650n62z5P zaHW^@aWk=8{@P~IXVV%XZ5yA{R?BM_Du>h_gE(*f9uDS4nwp{1`tOUl5tF(4Q8q|9 zV;Dl-;cDYH!h#z8LeO`{6#gOn=K<_OK;G;mglQQQ7{KRA{6%J&QJ7{PrMVvR6#Fj#cN8h0n`p2Q7T)CFBA6}J|Tl?Fa3lOo{pZ7C5~lj&SS%VB&SoiVG#VXt%=GVH!!1%j## zn^V$*&*Sx!*{RE$W>|RF>!oyfoTS}onU_Ph4_r5M9s;6N|8^CNIbf2Bi zV>wCw?)*-64w|n-=WehI1``9sonUuVAU2gTfJJgifA z%3j7UCyIRQqMjO|c?`jU9L(Uz0nFh2#Ifkr}|3&r&1TAp%CNcW|vc|IVu$t68@vje(PQcWzMcSd=BuXhPo;(xu zM$5)^FKuEFHkRC6m>n|vYUNP11N~xZg*uC%co}Dk&meROqx77|W>_y6OPUX!;caJ z*X`&X{56`9ln^@zGdi6stX#38@SaV5AH13nocIyL$d}$SQu>w8w=)P!SJ>w(sLwmv z5K)JwZRAT0V2RpUHk`VZr&^!iODutRL4uMmPXo>Fuyvtz1t{q1IyV62Bkh3h4{Sv& zeMZDnc6+^k%y%rL=hm6)L&~Wa)Hgmz^IthnL7>UA5dZ-CV zjuBQu@ciQ<#HRny7WwJ7ttVVlUOGD}w#1=xBbVx#Xt>PRJraTIlUn<8yP9fsI|J9w znz>tR3M!!-L;S_Uh4;!zGU49;izUqimcS+L!`j$$yMzXd2#6)WRUkQNL`KH_JH>{7U5nWvX_)%kAEk80ny zJY9ObU-%}ic-L*P6{QnJ&%t948z;tv&Esq036u@m%lsAd3E!Y_MBtqkVp}>uDi{tz z!(|wrQuqN@Uk_7w526yQ`U*FWC}e3IzQ6HTtsm=-X=HAU*lQi4YQturEAKEC=d-mv zCG%vNc(i(0cx`;UxEzUd2kgZxg!R@bM+DuxxpWTxkSLW&3>K;`kBx2z9!tWLC6wwfM<591|vm!(1)zNyYAQ&)5tCYi{Bi|-Trf;lYuoSsZdmb3~ z;DC;jNmu9>dR1zTjWT#9UCQm!6p z&&euQU6Lb7O5rDJZB^HjXPU2QVM^7?waFngv4I6yShlt&)L)2MQPgt0_D?-FCPo~{ z?5Pne%bVm=0>fwntm<8k`gYf=0Dw#MZFWSwhsVdx4;N1n*E1V=S8gKgbkyQ21S&e$ ze3gOCTDlGe1r#%an)Qs}BhCr@&$Sqt)ZeYdE42+}ep#_C6Kdrp?#=no$+v*E``DsH zLztBepEh%MDnV`->@)b6TWG&5tCc@A|CUVrwa@*bGHRS8>&11~zB*hZ+=c4|7;!pxgLz$KhPev`4PQS>m2zOPEHP5%YNA=!U&wV(EHmI-W z`&JNI*Om9#d0q>Q^kB@9)>mEQ<-4^`quMW%ee0l^Oj3fs5}V>5y=kMD+;2yN?Obu5 z@Gb~%Q;#!AiVMvLs$<~AjJRi%D)yc-X1(Jt8NgnTyn0|4Q=|RBF%0ZpEp)9-7*=!Z~-#X3{E`+dzdTv zKMxz;y;Sp<&bu;@6l=y8jzQ!c_x*XZ&tCMK^+?pLO^I`toQScX@D77lMJ zYpT5@Z?fQeoab{qlhEHVUfpAWfaFYT^B=h>Z`Nj1pkFcKJ4U;4Jf2(tJnXJtXDK-- zTnkfGx^_OPG=}E7?ajw77orS}n^<)(pEYG1ezQzI$H{$nKzl!p+aPqe8Y~pn{=n00 z-hfa;86ECO_f#i0|LTlN{T>JRv^`A@mP35LzY+hcqRPwVyYmv|iR1EEay08=8{g%# z7bh3rJHf7iOc0z67kh@qF>9QUae4N$F^L1hCWfv`c+Aot?kAYuY4SWzw#c+!VSpP4 zz@Ie-`%gA8-PsMlRXf_wtm`=k{BG!_M+}c&tCY8q|5MYpR&JAII3YH%sGuoZj?=}k{jHtG@6?j}CB}?>-cj#ft;^^B zwz_*$p>lI5EC`_If-dA82q2tOfefVa&uG4(EL*_|(N;zkwvJo6IeO9JUi*5#cncm^;syh6+Srd^UrQpLT9JKnSy-Qq^z%93RRUgUG6YGl)`qdOFf4o2*IP?kr zR$X>NUB4vMqQW+$-nC_cC_M*BRg^o4_bU9^?~Wyrji zxD+XiO4G;@gKATmo=*%01$~#WMUCK0or9D6;Yrf(JlQrWYD6WAcTKQ0s&u8izzq+# zxunB&=fYfE3Cub46aR*@lc>r|E@;H_!SR4Zb}=?$_kD5jS0dAl4J-SrX}*EyR9Lpx zhx&5P`5b27b*HG$@o0zy$|AwFCaOOPkO#mueFF7aeAO|-UJwa*Bt(%@x`Jo<|HT2^ z!RAQsh?WsueENjM zOnCVDZA=EN7`{_6fO&`0E+Qh9G01cuu~Q%WFkGimih)C}v!A>?sPO?r5mY>yPU06f z(UY-{NPIHU9_EoMM>R5xWEaoM%g2QxCN4(2TL2MKG9AshOh(f6@^1LtgWV|3A~WUM z!gMc*3FZL$VL??YXKIPf)Dk37x5d|n-~&ziTNG>)4yk1J(u66N5LcqEpw^I_F5)z4 z>eB~Jbz1vmE2PrW$?nk8a4zDZ7Rrq7TAzSC>ALbM@m^nr_pyk-`iwe0Y&dWLuA^F) zzV%AxDCdiNJ;De2lp?PL?7Rf$Z8z^EeeII{vJK`kOY$` zW=(_{xm^ULkq>W*QcbGSAXy<+T&-RMT-q!6CB^jE1Kkf)ak9%>R0 z&29Z!bSzYjd*FB)2W&hSYqs2v?jwvQcI)$?;5XBwM!wH*@_}v;Epx%Od^h>OGO*35 zyr1mi9mzC&F=h0udqY1ZMLOk}p)$1G+)}PupsSA8z`%EZ>Xn#aib9P%j`ap_RjGha zf)^9|dxGi_Dt`f6%yaxq8Lzg!zOijmulGfJYxnvo^0A#1eGjiTU3oj=u08j)(+T1( zA@GT`)E9xw9^x<751<@hPXi=uf4fv$H!Fwwa7BM)-E@l4DD<%Rco`UC1-|OCU8FtA zP*LTYR6J_mDxQ;~>l$swyC_2$1oZPBC^YMSv%5J2u7jRQ^s<+2GJh!xe3eGDiD4HZ zee^u?3;bqvif(Ur;%zqo|lZ#qT_HUv~pY;0G|xbSL# z&TE;1KS!71hrDJyGRk-ydeAllM7h}-dxWF99L1&5qK9x#N=AydRC`}m0HEqt&K+=a zBBi8uD-tkQbM#|iHlpjBVLC?dmn8T2YV91KTBhd4~2VE3pQ;SW0fP1+QEaV z8(eE;Y!yMY1naL^st%sKG`aPqJ5Dm)`rUQSl@G0`a7`5Vlty2r-b_x8*kP8-IA)bo z!4Hir5&&MgD_1V_rS&FGf5RP^%NboXYX%Lblf?5)yFq)VxKv*>Suv|YhPctm%j4Vpz87yR2FWcsZaX++7Ai$ zAhTXT#Cr%j=ZAkAy%g1Ne3DvYh?eJw54%c)=;Ma&Fy7lV``H9Jg7>4R8 zJ`GWS-6CE8a_%ue@_lLIE-M={qk!}Db2Tm8sx7qJfB4=6t6lVe_|8!Njw`Z`4#rKz z@WoYFw2c2P;~&utq;B+y_3&W*HmDyqhj7d=2%KqR`vzU7cehwpR8!JUhtwj;4u0Pi z$n*9Kblb?5tEi_v%C?*~-3Q^c7^)p#Tc~}DMjLMW<;EgU)BEjztN5H36ly9slnGSF zDI4zJuo51q8HRm!_&0z6)vi0K3>%e18H-4A62%6tA-Dwy$;+zwOGuOI?t{xkOSeCF zud$4`k0#(Aj7|JsG^@c4v(=nWU^aaI<%gP=_gTvJO91@G_4~&eItGFnPd2S`&M!ud z%yJd2U{tdPDl7_3e25sY=knTwzC|yrEgqOBn8vFbB5tC+`;ffcbz5FBba%ELqI!qZ zFE8+(5AZx;IOfePRbZzZJvU3Vviw+`Oz|U3@?RN$IVX5m7t3rD>`MLr^D%K4zYOSI zxy5)>$YOV|^|*;<+sf@V=2+=zZW0joljAvPiA)G1UDLg zQyYO(ltGy&$F#<&HVxG+qT&L!wxAAbG~P9D%haW$b7H_-eYZz<`TZ8|qAp4m(63H6+PYcw zhepn*^WJ4u;#1yt)rabUmTfP<=+Ef#G2!ZJq^zPSTNSY6 z?&BKl-bymB-;P~Ymu(|%*uFK;f z=l>(@Era5Wmab7CxH|+0?oNUQg1fsr1P>P63GNo$-Q9g4Sa5fT;4-)kFyAESJ>Ofm z?yb7Nh96V)Z070Rz4lsbcWXJ+4Z4W4Zx#?w*hrXtD2zZ>S0zMcL-Vr2f&|t8^gq1& zjD-%NFO7mmX!jLg;pWp1q)4`_@N2J}Jp{FSq6LM7yM5`y@ z&qUeaEcyTC@n?ToecZg6^CJ&Fkxj|crBz@f^Kny8ha{-?|DMf<#d->QO2ZW?m-VhT z^59=r<8TU!(mSiZi~(FBeAzSl7BhQdGnc{}chAnscb*LA0DT!r;&5mS{R4_Lar@H} zSr70K1oZ4bX93C%saXcuR96+(OCH-uE=CHkY%uV5?w$Mm&|-j;05}<_0i50LC0V9o zdbwg;BA`mcnqqiuJfzBlK5cD^WEi{Th>^@$Jz^%^j5T*;rn+s!GO-$%(sz`{v>F${g z9Z5ozjcQhb<6Jl}cmH!;7z=sNL$r3nkdJ2<l~3u-6Nl5Wfh!4yHVMv>$W07m<&k?$h3;;&*_t$@7uOLF zD9B+ z&@<_9VV?7~B0cTrXu5JKiP}M@r_sV-+vsd&oR5; z)$!>!F(lVRV?6WH zLzv%G$&@{U?t9dEQF$L6cpQiBXLr=gG3deX$(09`^FC;SUoTBrf^L~as0dl^54!*K zWs>K*|8ea}gD&~sU1Xa3uhtv|<*}q>r6PR(os&kv>j={j56_bfX%E7C&#P zynhw0l~SF)Zpu?VS8$XP1Fs7>5FOL5k0**$|2nzXOz7zg`o3y@6OKb z1*69jqtd6d>U<-EN|E$(-5*?Y*7(DXrzi+ZoJw?G`h;Sw3!(a^hST7VjF-uzcBY|g z4;*+kH)#jk!2G~#0JxCHLcq#03fzgb0(iTfPs zu5oS@{SAyK8t(gFVV^^UBnaZk1JQfq=zy%vc! zFHq=3C{E7XZ6*)tVAe9(>^rB(PA|ik)hSV{CM3aYR%FAcS118fRW%iowHt|QWXbmK zyc9-0TgCg1iTUksRfW4ZhwDS?$eaQfgkB#!xAeCX8`|KD4_Vq7}z!%*Lx`uy&?GL)9543BLY-rvDznxQ+Q^uB zd+exp4?6yg^FPXW@9Ai7ZEw+R_MAEIP@F4`NrHOH@AnnZJqL6UVc$ZyZu9@F8n@{o zFL^1?BEgGS-S3loQ(f4~*_%)1`OM{f0aRFqYnuzK9n zTHc?{>f+PCT1Qx@GD+%i&JYnCBWzqZ`n{0a`_?%7no<77f5M%nkI64(fH(+4OQs(Y zagM1Mk~%vxiN{)}H+Gda8(-Ii$P9e`KU4>S|4|)I)Bf!|7WLk?*U#VYE63v$NBaFf zymVblO%;Myj4+VZ?~P#7nzxY<6kg-F?mxeXda{=x%9E>7P`gTPsfwzOWZ!wOsX!xF z*5Tb4&-mSEZppcw-t$6&Z>_Le@q8ZUa2U_3s-%}+HiSnUR)JjGN3@o|&GQ(xlmF#T z${nIm+*Pwt%Q+o?1Fy5@Sd>OCn&{7GL}IeWcn-4WLP$nZjDLkT1JY{b%Xr`;Vzn}# z@HBnauU|7cUq%aGcG|#s&NSnhy5E&ou@Oa>$W8-(oz`s~9!P6$lOq%dY#(`(aGnm} z30x?mh|1VT)bD*VdnoXJ3x7mymMzV287W*1?PtDtkBK{JOfksx&9$Y~q~#6k>UWS{ z=~UIn^vfA{q1#ZcoQM*a6AH2ton28A&ZK>h+5t6zmAoyZWpjvuAx8Rd;`A_OO)er1 z%)tYVGlKEZ@998?DxI4~XuR{4pSIavd%G4lgZg1VFm$2ca6~WZKCQ3@zUGLA@uBEQ z_km2Cel{g);)fb^nx$7&bsyb1xb7z!0_manA?7`z?2yf5orIr(M1;!^*;Wrf?W@(I6f z!P7(?8zE5W4^B+Df`Dr)oGyz%cXlIW<-Gf`<%#;fcOsRT)}>XOM#R%M3NQ#l-;d++ znzZ-~?Y)3u{TGhClD@jJo-P=#RYT`Om)tf+b}0@S3k>HMij&OlRoRj%t~;%C!dO_n z>}zOeBJb%#eQwVmz%OI=u>!7QI_E%i(Y%GzxM#t!Jl*n=AG{X4e~wzL%U=i}64<|= zu?=73d`gULGluUp6{B&SJV1@N_+3Kb?=G?Z#-7Jv1mx#sOY?6uyp~mbs!$kGdWMs3 zh?N0a7S8TznsZ(Pij2h-^*q#mZlFanPn_15v2ts3BCU^vor;}5niJp}dv#nw!mu4K zv7kAjzfkw>h4w$Z27>xK9UPvlb7dUsRVVf}UNHA!Miq!uaQhAPDix6BGA4jHVFmu_ zkW*N=EiF=jhiKP>?rFgPs4MT&3vrf&_NmO#X!Dt`Qfwk&GI5BLhPThGvT%mK-oZ); zGK>aXdjOFJI2Z%5Y4cVb9t*EB*!6TSd2MgsSWPB;GV9)%DPzg*bT_1I&+x_W4RpFy zb9_L}qHX!4r;SnX5?Q84&qI$keK17_uL|x&LAeNvgz+t*4Z;oO@c!FPtMqcXG_LCQH!`@K zLqYECTnw=C@>G2((P1H~@!OPLnu{E)fp_AJA9ZADW*Jo&X9>Gh@ejM$zVztpS%;YJ zmZ$+o5o?i*E$_s6qtNKZRQtpmHNuLSj|E+7y0Nm!)(niiC&#vij#KaLy5IM|{9a!P z3ChVfxO~(D3B|6xTV4LB<&@=idw=gyY@h(o|I)g(;ycU)IhojfFq+*co`dK+yZL8i zWYD~;_foq4kWGg3&km&@HOsERq-I2)yhH?lEd!9|8p$Xie!;ZMQ<&$RnKxl57<%oN zcUN5C`!H8lJfZ1&CvN9!z?131H&Cy%t9nWq+`wGonXY(d`Svn5V&8g}vlLVQ_Zi46y9b_L*>;<>>?psHf(`loogLj{E&(4~a-L#c4 zC+TiDHEpa|kzH1jI8D+vVvg#{bvxS&H*(b26^_^8)63R%I^aa`@gd0BsERl@WLAl8 z&;wIHr$j|_;x|k2s$F*be(C1ONbQGq=664h-_hejB&h9h7RSe`Es6CHFG=OJCwFd2 zwKa9E!=*w^PqwvVtZtQZNwL>EGOF=hi{t@uDd^efAnn&TjPC)CM=uaZIA+|>|I`pu z2V%3#jV96KSAy?a_!jSN@+i#L2D*nPNsmw9QRkl6whtwWF)iidU*9u|S~rPI z#bGSQi*^XL(W+JSqW)%vd*mZ_cbbcOBG_7UGv^0(D7~%-`TcRH%LR$k`Q8Q-eQiez z%4a)r%W<7k>iPNnNxDE65giYA=8XXsnq;)_&M!4*Pz3^jf1qHjH@s;?OT7#_2wWbd zR@1$HOE#2ANn7sxT`G?ZzfmCiow7u0H!kiI#vO)NiPs7u#H6J3AJRzyMhA{`6&=nC zNwKJ{ZjHq)i|_TtLEm!*p#OB@VEV+|6xOkbK%D;bl&$~@`7}_%(37@k03fwC4UwC^I@2oDxr(9Skll&7A`EN2LC)J&M%Iv!`XL=ciRPqHX%QWf zr)#3yCg8B^+VcitGy-iTBLJ3t|LC6%SSx1b<;Rfjmv63r21id0Svfbh%!{1r?8m|H zQA{D_a1JutzbEH*NxOfV+j@J+^t*1MrmG$jG4gS-!fk^PaSCuLsFGSt3p0*q**sEw zS%wGN5OWhG+5S~Gclo$%%ST@3tMlT%(Fx4Tg11j^o^jCl#wU+dMNIH+!at3JE(*J) zcD#f64mHd=z7HF0U1y*8zo4HGzaq^b|4jU?7RN!`mzpF{fIGzu9UhHr9Q3fMr$sGU z*wr_wgoBcU*$ex@+caiz6pp_bl{S*R;I=422Qo7h@1_dpoL_iP8B8<2?3n|~1Tx;w=+al63j{L}Cn!CR-ZD*)A32yLVE7mz{7&m~+A;ja-s z%GyC%N5X$p-c;q^b1IsB8U2A!9HhuXORqe+t#EcDFpJNqFl?54B3)U|^sC>HX9>vn zIt8}uxhVd&9$RxTlxcoW9u+~poqerKC#XAPTdUf|(?*X%B2VJ7k@87_D$7w&s13p?~!oay)>*qg@^aL{n7N6@TQR^JB~ z{0zmiqLeZ{x3zi|aSCzk&j&cb72hr5#EpslVr18ML$P5L#=C?B>K|k;tJIMo{9w?b zW1-StelUjFeysshbe;Wg4%7#5!U|-v=S(o2)&UCVjWVzSoPAwNaGVJkR{NYCB#*a? zCr5own^UPu+#oYsF|%2#oYyTdkG(&sB`~i&a?+>zSXr%17?z{>7eZ6NHYK?rQ4eXx z;9{5{*;6Rr^*bp5D6Mfjf$zot0(7&V8fXc3kZ}*?{f;PTVL7O~eKUSOa^x$aLWNUz zDzK_pV@PkOAMkM5U2FaSvI~(BIj1!BnuGk~T3=Fi{@zbXl!izxZHn*7^mRf=Qk#g4ujg6b>qU9U2H9QSx-<`VO-1pH+0J}-9n8-BQ~ z(z9m9(&AY7QUne6RXJS)#}lg9r>I$Fa|&b2>v{J70r3^|BTkbD+<16Wl;+kB`T^bE zTY3c(2x|&r87qCfG0ILPv`-$=)lMNZL5X5L5SeZ4@1cI+ZiFdUYSUW2*P}ou?gN4# zC1D`EK<)Db>6cZw^Yp=sKCJJ7@NrA#?p=Oz#aZ%^$a=2Lw}Gjf*FZz1_5AehtQcFv zC1ySh>K~D!D>{9s?76O5OCmdwF#qc`MoRk3XZ|H)v&$v0I?CsSsuOTMw75y&LdBYW zp1U?UccwnW7agUmhV`qMqjnhx!6E~ce>uuFLAaQhOJuW%FROub9zk)+@SH?RqCvBb z)V($s;?OaJdV!Lq+k0Nd?CF|!@0d59HrS#JpU>rGPpq-Hys&bp1?d|YIJ{CUpz>bN z$i9y=9pv@|{(8?`trgr5^e$A;M%4>5ld423o$Hsi4Tf*NYVzGvQR9Msp+%Z?a2*t-mWN}fkEFOAsT zv9Qp5h`r_w+yrF`8GhB&bZsqa5Z*BG6rxjfvrzx~CyHPO%l(NZ@-qp&L>z|C_DglE z14r&nY-={S54b7Yd5dhjR-pwM_9419S<^%f-x|HL;aftckYc`)kU|Hgld{p2wG-U{ znGG-Nl7_Gp(vU|zI1o%7ill;@m>Sgf1k1w6zs6x#eU{w;8Z^4$@fbNZyR@GuIErq_ z6d2EAm;BY+-=%k_BzKl#n+7zX&5EGKj? zpm&9I5V1qPSZzd%x=OevO$-Gzv3wwB+3D~Cd(x4QHJt73wS!EO%ysT}%4Sf?L<07& z0SIC5atm6AXy(W*L>aMV*wu}7ewOOhv<7_S_xvUFxVqMJ1^g(;(eC5q;)8})W>u_Z zOpb=E5kbf+hHAON*`GB&{h1zj>ImtH&{e13blL-z#DLo|kXHHQPPWkNq0sF)ooUdo z#nX?Y|Mdbm@@6jDjh#$hxbWP0u^(YD7SgB5-;YJG?*9fek2S#S~pj0SK&m+ zdAEqsCDB+vmmBO`XN>H#lT2m`F9f~rgZo_t8~?5<4zemi+6tmhLs1D63+j0+X8#n+ zDHsE%shagtdV8I4fNMRgZn>!y5{l**b2y|Gu~BY(4SLD?^jj3x#WsSTlUprcrU$@c zMKe6EuDZE;hp>D`)0W0kTwY%?R)Cv-yFL{%ZyCDHrI5Q0WmDO%w*2v(a6Dp^!CQaa z`Rm!kqs(0F3XYfgK0%4=08IWl8ab?S6O8Eoj^jn=&=+t0YmCfZjd!Fn&_0st-yKmjV^(Sw^!x*2z*6(LM9lDu;2=4J? znP18)Z|3Ycf@`AEM08_s4BW+(maxv+g`hE&TU%QNbomXFvV??IRtfR6Ca*49fp32v z943g|;SZQwj?q*ZwsY1EO`f)Fy5z^Vk*z}%TmldoZyB)K3=-JYb)j+-WmM712Mv%QFO z=;rnkG3WhT4sZu_y2hDNi*lL~mbq<`EZ%VY)i>+bI$8@q!v0PS4MDLZq32v{O2$BM z*YaB3Cp!91wu4M>L^IxG?qR)q53qXcyIgn>4rk{#p~-1_O(o@}@k7*Fj7$GWFED~L zROf0v?^pvfXzV`AAbJ$?M>wiLQUawibw!$N@d@M2lr#!&<77Jj=G|jRQ#+;mrt=~A zO>X^7mm6s1Lt#e*#XERcj?m<{vQ2=SmEp!PAjmTOYDizKr}vp~p3y35ajeH|N+Hnm zVD2d-68a`o$YYJnckXcO6DvFwEs80{o@&&UQzU8U+E1eAF$~pS^utE4rok;ZOO=tC4vaH*~|_otXMBKhP#0 zNuHg|MSXSO-~-c%nd_THg;xd*;p?cd=T-QftyH46e%9~=Z^5@_r#(D(s6TH3ZR3E`^~A+pzOBqt2qg7fF!#o-faoI3>mFEeD`r`3Lw zRqu28{B~Xm7PU037&DFPgYWBI*H<06_0$9TIUD>VMc!N~gdxGcGAxk;^;PGdQ(gwy zK;reQm%{VG&MwQ?DV&KvyQTg)2~8Ry_0N5_NCp)sef`Cgb}u8)7K!+nK0oU^8)@w# z-X50c_pj|~&>Te zP8?3$WYJ;5#0-%^g(sR%ciYl?*Sf+S0v>0SNyf5rvP}tyh$mL-*Y0pll?1mYi#?rY z?qN6>HQsfJ0UpiI@r;PpV5dqq9vys&li4JdfjK+*`Mey{^un&Lsk$%pIG5s%oT4%U z4NsF(ub;s8{$8iXllul)-26W$?k3#aBiX)EH|*wTk6+FW`mkvhyG?->_6!6?!o0u- zNB`1!=fA|sK%>DG+=7Rdl!TeebL)UCW6dak$kuigI|L`b$oINi<;;xR%ulJL1s)i6=1Z0k?aGK02gRk5QPo%UEYf$)!anlG5 zi^lWubo8+!p-(FNdSIWdmdYoQ#&5LWu#OYss_lyGvbm%Sjv~*rsHIS?v?6{>A?7JB zaNWUtS%~yBX2lU3YN0T2Qadg|VHp>$OVkO$$CXFs<{c(`8x8S)UF^GP-&rkVpwGse z#dfb0i|gbYw=EC}a{m?Ft5!8?4Kb!+o|8igvH_%Ub* z*qOA7bP~s-e)-bBAhS@`;An$`-OysYNi$N66Do3Ug9oJ*&EluMTLcS(7RooAn|)4IR%0*}7lf5D@fA+qx96vxbwcLcHdwBHg%n zs@I^&n~Q|Mi+_Oh|BIl+q&+i?CYWs1a%1f|d=)%;t~8u5c%by9^Ez~7w=>n*?ET(E z=b5;J18NTa8e8cUykJrkA1=q6FGShvmUkFt-Wo5owo~tZGwuHe!@t$@&xYW)%H}eO z!;^-JC_^>P>J&>-kM|fpe62mv*I&6vRXCiRLSWabi;mH7oq~TM+(@W+jRq4+ixyIG zTR~dfUYqD>$S#$%{UV=kWnYVmi##|HDuLzw z#=atrQ10f9aS_rjsA!-VC2N&Z@zs=d5dK<4>$qOrX0V`8RJg;UmxGeu$*@E8gSXn~ zZ;$cFqGav4$NPLCuPNZm$)p$n;Pw<$x;9ohvEQ&_A(X%D2~QJ*jV$kd&gNtMK;XYG z<}?ie?oWB|Wwsx}_4^guRz@w~kCO5hl;Rbf(v{^$^*C<_sl9_q7F}^=kKOdHhPt1_ zvvF)QL~g=@yP}t|>W+Rva6c&3Vj|d@^7gyg)dM^%GFgs&V!C@7y)R6auBzr6O_UJO zz6q}TLZ_q!6oNnoZ|)JC0Oqlr42Hg9>bCGWt0Vk30orf`i9aWf#9`&S@4o8~1brw`f&X6o#+Sp=lEr#hec-WYOUel2xHfQ%HIMVPArtGdVX2C|$o z_&2WDHsh9M{hza>B7a3lQ4y(PV$~O=1cyt|$n5D8COE29QZE$C(oB}0#xV4M-Zb+<&{#cE}@ud~tn{44mwCK3|^d&zcKf=-#Ccnvq|L zQn#@6%@5TnP=}RQ>4K+ue)#R zq|V`#s~Sy8remvu0pe+yd4U;CyYjeXql5+kaXb0h=|x@rd-F6WKP;nLIHRt+2CeT~ zLAOg~iz7C$`*34GuHRD3-{g$sOUn;k2m8MM0`~YG z^1Q`BTIz&pkunI}3g_F6vu`aeX!v0C%3H~yhzgTy6!!6*JV#}_ZPqL^D@+=_^yV5q z7aMgvC>XJ^`JQj*c&{c}C1TrbyQFK{qN_>g;9BK}?`E@t?Akrb1a#cH@Vm%8%+ix> zN7L2J4&rWVzz^@h+iO58O0i*=*xfL*T4z<$p74ZOvm43vJ6kXUm)~DtW|{vFn3Y=> z5X`_L6oUU?o;Mg3%Ec(rmX9H^VoQJX!7g0FH9wKMi;?T&v6?d^4`>+Nf?!cGmMyE$5>HQ;aMRCAzF}A_pN`lbDzyCpge(9 z+UdY9gwPdIZcgS&hD;g-wYt`Wrg175k$se=J+gl6wTpWCxx4V1jhz4%bR&tr1a?6IiA^bP12cx$S;2!tir+_B#u99`-+d5%MxH~h#ZX}+v7B!W4!A{|Y z156!wK}>6BKB>h8iNrex)}&{7USRXB5%_`tetp*}BIYX?`7oe-p#TxknXf`_hjZ>+ zX>ssx`srw;-Yg-hb8P=#L@Im(P`-TJ*GfSF#~x*_>dgzc%EhO==Dd6lUomYv0;T9i zG?#W%dw@eUm$WWk&e)7zli1An1^>Xpk(};zJd341KdgG3Iz3ghqmeYbkxP~gs)Jth%){}uQa5Yb8~m#xdVlyg+~Oo z!jLn-pVD}zE`a);<5!YCC=;^h2)*?{y2)-xf&WbM`0Ni^`cQN$Lwa z2T8M6*w>1p^C3w`6@^!jm-qT;IW?cUai66EpS6UXKx{9M?@E!q3u0&nugqN4G|%y@ z;03hxO!zjs2{l(yqB0E0YFez8{a<~m*m@zMdB!I9A7qZc^o$#KQwGtH`VDP(Vj=CQ zagz|BQaBuM61p#lAS1L5j%M8BXrjBYhn^;GD81t%`&_u76UtK&qH-VQ1*=h zJA{rm;{x5`&n;&iCaNsakN4)OH1#RbV4qZu|+4*>?7-ok|V|xHU$?2ZMG)HzZ(AD zm<&DsqVp?IMs)R~q%MuMd#9x6`E+mO;We1Yce_zZ=#3w6i+~~UQZDp%!-rDey2!|N z%S6^f&|{>+XTcJLZIC0`i=}g+r|r)DQ`P3zEcugeM0fJcM(ag2eTEm+z;aY!$$il2 z2!X63L@sTJNKvF`JMsb?xx|`40SeG*JBqPn6yMZUo=P8XohR?n&ti#-B@_OhA(0YaBtHOol$fN->x|bP*LDf*m<-_a zX7m9lojtKELU(#w`m?*)R^`S(a~=&xmVnDq1@ZR~;zjLEs{ z7kp`G#zhvm36sc7c-5d!?#}~rhlw2VTgj~M8 zy?3=vcd2seM6wpbEXhQ6dAAp*dYYznv70=t^ev{{(#-CDd!-Qo@V@eOCv}&1f5f~^ zPa`G~O33iIs1J+FCbE&wP)|%ug0&dq`?7n?4a1pV?p;Q$9$q79OV&LU=oZ|!Z@?Ya zG*PejOu#z%U=c;I*?u4904he%G#WqjS$V!(Hebr!{W)i*kaw#+koYqxg|0L}&{&sd zIv6%QlCHzUyuG}kPp)TM^h#{+aX>aMd63n0AcIaRG3EV|o2yp>&JPHAo3non3kkMT z6HKi96G<0%QM_XbtDXD~e1+^E20+#HmOd;AC4;5lZWaQ}}|8uKhP5 zqlXDJG;N8M%Fk{MCmcrOZkC;N7l4QRwVog$(3#L{OY6G9-3ALyrR~K_Y;2f3UFqaE zU4ESCB^0!3-^d7r z^S@EcY~9#1ydqLc+u0zz_aP9M5Z!nyhpK{9jFEU%+PcW#&xgivka;qMS-Uj^Q(HF! zk?+!ZI&Z#LDd_;g8K2&ge*9yu8fE@dAF-RDGG=?}YSHu0VC;{6*?QgWOE{m72rcIb zayB|VwmJ;kZHG2WP1a^_F8BC&VxRvh$ARAsZb0a^N3{J#*)ma315ec?w{s3ZaF7xc z5@r4dy@XEFEWEn^(2`4ws^2;7udGsfYD8`j?|p3$K|z;>O@S!wxH|grS~CA(2EZh# zybUlShyi?TG#|O{fYt_IqFTF@O$#f3e(s zYBzn!=Z)v(S1pdWatV3RPj^T2mKMLW`G`GNH6D(EG*m~w*MtUE&%x*5+YbMmO1)h0kX%r{k)EE=qQjIO&>i_;JFmb@rHmL5os;Id1T6Q`sl{Ske)|8eiU8=EN4(-Qa_h}O%yocwf3oz29n}+n1N7V zS5!=_5@C+;yK*ZmqTDvhI%^$~ced%gF z>@v#jHv`Mu`mbUZ>=BolnBJ`z<+AmbmsXC?ZR~cqnnHu>f~00JcsjcHtdAx06+6I& zJk$nncCNT%9lT>kuScJtQgBIRoD5P#&E+LFw#UQLa#*#L{Kg(`B8_ri283p$NQu7P z+W;KVmExrEZ;iVXmv_4d|Cq(Qt-ywR%VAYuR~2KZq_b%9 zEKR=sQp$NASJESkF1bi!5($3A^#A(#8F=B~zhs7t8HU(Lfu8CZi?bh~lf38<6@{@H zn6oAnAcmzD1`tXs`1&_~zW?R$q{2)yikRN{TMbw&Z4D(+BOT=umUee@&k(2nJWmI* zG@YP5?+t9%XM1(7dt8Qr;i}lxHhAkhd31DiI{9=r=$8Ea&mS+#L$ApwT*QTD(P}n> zNMc(&PYR#w<|5*5r8?o_XJ}2InxOWy5YvL z!nfAWz)vb}0)_?H$`5Yf=!=4q{jkJ;HMj$zJD*GUFDHktn;4niS^T{I6>Rj9p3Eb( z)xjuRBj>UxrsNW61^S6^m70kv8w8Ww56zMIQhq2<=lwSG!v^`PF5$e;9f`!E{teyy$u80+cF& zui#|m49sL=J?GRUPKl7G+t|L#dLyvLiG(?Fq+A;=TnDVxDP!dc*G-g|L3g675aWnS zbjfNi_sFf4Ks#gy@znoi912G}0);j&X*aZ;{Vk0FWpX=A_;*8^KmnlbP-{Hl#DyP{ z|7$1jQ=m|$L_o@0+IdGlPg{edl9AC-Npdh07iXe8j$q!8^RaQ;CFMy%V%xe<1oJOx zM(qRda_>g{Z(E`Uv!eZ21!M{!8 z8eq?N{ZkBlQtiAnQtO4S(-EDl%*rAVI-yC0lA3YmxM>^X;&Zbhe3O9GANLz(e$yIs zCOqfRQyYs6YJPeyXXOPaUst}|aW>|QPJ(A*;8p3xYl6SKj$#gg(5Ovga3rZB`$C`S zc9cO{Y4_80cn*cBNB?_xH0J5|L@HSg9isjLy!emKRYnIc6QNjN7yaMLIjeZxrs~O_ zFo50ru5nq}(Su~UC(ruc*7knxwL%Asi~4%TIi|jl z52ZXQ2*w*}f>20Dyg2DNbWKvkNKcoGKKS*aeK9-cZP=5??##n z|B{1;Wra5?+2$);I|3jfn(zrqO|gv69_uHLZhjrD{So}F8H0H4&%xkdwcCAKa#dbh zHkx|NLwET`pI|Fstz$1>q+NqIH8|7Zf0)zSiNexR(+CHM2QOlgj6^WN_)2`KHXAkF z^(Kxf?0DtY+?w55?YO1dYHFWr>siII_V6KWDV+t>%jOYjuqW=&g9hl{){`Zq)hk3% z$6|+(c9i`&sTddyyu)9S^Xs*c;NhBdzvZ}0%7{V+%Rz!%fdY_ixuP;N=uu?eEOlIi zEoWMOi%BmxKX;};kYMAQ6xqD;oc+-CRI8QycoI^Hjf#NhBmxL#{8+c&4QusqgB%+V z<@_y@>x}M{mU`!me1TFzRXc|qTTq8V^F67m#9pRMLL2t-XScv5pQ{5N-=%i5?(S}C z;&&|se!M;TBv2f8G9)$UZbYH_UAGkT#o>7%IDd4S0I0=tD8vJddm<9T=I|MAVfi}0 zanBi#{*Z`&gluWy-H&W@Dg9Y{qP$R3m{1yK4r2~DE2_iVy6-P3&HNYM!+YKfm4NUi zKL&f(x8)~#yDCvC*7{lYNGmoK+G#jJ3N!7`s_DH*HeX|zr{U2lEA$HjNy`y@n|=|f z!@Zlzv+*v!;#vq4^`cR1G8fn}S+cv-G2(xG26*qcXrO!=<+@*QpjwuaLM7|w*vlI+bH#fv%$1QwQ%ncX_^KD_^ zHUev)<&Ua4RwQI6zktU>oNv12;XbAO?|7kWY=cp{Cu&GKaXBql&M5h z9>-I0y&y=)`2@nak|XFeA<^;1?0@Im?hFJOu=|;$TlBY z`(E5>HSbdz6Y{3;fwbHSO(@QC$U(YaG?~&Sp(KxelwnY9stOpi&;5=9E8)n1USD}h zxHF4FUFE|*bD<)AcY1Y}-f3gT z!=up;60&|Yq+!4S?B!2%8o3-U`BP;MV@?@I^Wx%JMj!_5-;0Q<5(rMdwLMsI&@f)D zUh{fc8QXOTovsS;hf2ui2aM)V?uFzG2cm}AW8wJi#DP+~?s0nF)*wE@or=?~;)zTR zNfXcpaU!-sDsy~1j1RL(KIj_p@>ddB6|;Gn9B7Q^&0gK zL(vJYruX!@s2ehxZ@|g@&#Ev&5Vj>c^}*Q?KjV&(4ce|2Jak z;J(rCjC31Nnjex3#z9|k2&h^zgcYwf%-J%FYV+wJ11SydyUA>V10V^}0zr{BhwI8BBA1(w$d z!*E$i*=<`z$0DGp()R}j4HT5LZVM~Uv~=24zEn3`^&d%M2%d+WVif3hNbY<8ajJ%OiwM18e5!7cU4=*7^A#PJa(#0Km(vmTh#@(_sf$ zA49J0&qN81`97aM=p)f|HWm^rfybq-+X-tY%NaQ!ZLU>oH#{HQUxM751tv)V9tl?? zl*xBR*}PGv#yPNPoN0K?n$40XeK2VHM`VXJ2s8PRAqcFk0a+iaZh=CbMC7-f@zih& zp{$4QA?iD;C}du3b(r{51LY%-g#3p6Z%rQ}@9KM6|5S6yRIB+w_pJZ;L(2cub*1Ge zH;0bmo|T6y#aedAmMNf6;Sz{TWf89I(N%a^f3~n^QlaQS1ir=r09b|6DyS6d*1 z-`ZGzbgnI17n9A?=#8!53XvKww;j*F?zc}2X^ju<1l~t{~>BVS`GbC2;*X5gri7){e#x z49R2Zhs&h-O;r0*pa=LvY zmLxIdGhmGQ&jn&fiqUNGi(5Ce4fO?Cp=9Idw7w82t-aV5*JP07--5(^UFr=v^wAdC zHxW>57xKxWCz|>-y`AusY*x4%*I5-+S)_a)7#^027BF2ox7X`x& zOhb)P{~%-${YFI~$ZL334F6eI!Vtn`+FL-jo3Fg8EF&XjQ+0S=QScw(AC?SiGSj>H zlJJ%CPAm!|EBwHHG>1iXG>g2t&xqO-N++VpzT>l8aJ;D?sFQ3j_gC=elz4bshUgOW zJBf!k3?U!u{Y}pqIadM02fIA`GGtBAIGd7eE@55Tb=_9S1M!>Yhi36QaT{4LQ9S91 z9R;X4*z!u0OkA08lQElo6<}ISz2KdSN#Pl$R3u!-dh}cP9%H0K9wvra zEwZ~_)f4XP{i7IgdmX0swf>JF#D-$d6ZQg~Yc3U9^cC8gUD?W}!UlQa`~l4nMEiU? z&yo`FIa`*oMe_Dtz>~~4{r?d4PSKflP1kU2+qP}nwv$deR>!v4v2EMvxMSP4?f>fg zdB5==?ZZ753bSginureZ=y?$=N)y!Pa8RrcW0^fAuM?cvo6xkGgOoTj5U>|0;U2}= zMy1zVo|CwlG3cW2T9NE@m41P9A%3Izvx0y&usFw#$P8in^}!MklLFQvu=)7=Z`&DLv3qt`3ajUa3^15++)$9VJl*@ zlGCV)HvL`D`q!4R-(i#WC`=?y`f{m#<;S^tEiV7d81%&XlBnO0m=zPL{`^=nu_AG4 zNOAurkqRl`FCzZcV%OsC!Rv0HMwBI*gemibxafb@ChE&M-9S3%h1p?p!>{BTKXh5U z6EIC#T@t_M^!E%jJRY#Kz+2TgzL3G(eH8H z&ku7dS_`SFImTsvx19~AchBjii7{_kR!K*=GTeH;L0<@(oB$*k2pCVgFH3?xx<6m* z?289O3iJD=^gB)jry#^~{rd4=TzhXKp8>q^!>nc*)cY_&g7 znrk+7{b#Cg!&1=l*L}5wHbX$ghv1BtgkV0dYWe-tiItNqRyic5K&Aj8jrxD3r_hNE zv00~_C8$q>dKXAW?@_(JL=kv(>tsttBYECyU&{9=7q0PC(eCz~1XZStwGX415JyK` zcADLnw)7Up&-d?R(avPGqW)*WT{GP8$yAl<3wEyA*JN2C_5x^q*06zHJp{GW1|TRT zVwW&uXz7_6v>7%+_x0XO?KN&qQe!5(j6+S)f4GRG)peqwuwSgXx22m`8y883AhSl` z`q3~pQw^P>Pd&NF%1A6sq+UlzNZQR6yiC1AA-q zG#jFg&z`2?+ol^@DTm$rS}R+jxG* zK4(p~^kKwa&4n`kSz}z|@EJvkZ4^4O8 z7~iZ!3U>Jvk_sl%mmJ~sq(qMMYj{lwlp88k7m`LBVjXVZ?=`pAWeEKeb;5i>o`#k& zL68v;@$FDv;rYj7V-Kn>soBUbb6*Bi9nUaSr0IlEm%9lMn!nApma{9t>OUXfP1>zH zB@XM8b?u62IKD=D`_kvDvI0fy4yezs{3bW*id#q8^q}|LnoZd9UU#ktyFV9B=Y6Gm z5g~+CM5h2{uzx8JQXT+*fYCOSgGHy~R(D^hM=wW+7N}}61`XCC5N!&ZxezmNK;!Ndx^8-%rEUUS?Zk%ym?`=DI9fg#asUAB6M)<;|orvnfyA{%@s6| zo8n(`axaF`N`x>oq|*!qbi6yU4-}sPe_RMGMY!h{@5RsE*?KQs3yRzUXEYi|LKb2k zx&!HBm6nPHRM{+e3$x>`P-ZG^)!#8OT^b!PzRj;U3;EY;I;N(xtS`I$YVXT<9&0k+ z0elP-5MX3v65Bd(4^__ z0P1_D0{nlWg(#d1XN!OaCRJ;{=_E>@H=#m+j_{xppzH6yM(ek9X4qj^rQq4LK>fw? z&DgLA{|IXv5GM^>E~dY~Z0lm%B1aP^>8dtD?7h$Jy8YmgbUk9D2)y4L6A@Q& zdhd<~2-8zE#vWkz$Q||c5$)i=7mhw*df#?cQ=vhENN0ntg-4a;3uJazffE!~jxa66 zFIp;BwLb9$+R}IVisV!)m*Y-pycd}inSow^IRajhFxuLC3b7M6Tb{t&l7>nbksoy2 z0QA;gor!7zI)=~i&>%fKZ$=ZkzVm$>Xc#g#MlxUt$fys>Ifnv3ZkR)ODh1+$&;Hr$CrY8)p|}#;?U5W7 zf<}+5bISV2W%7X}MNmK}NIb`-4V(!5*+o#W6e65ii zfXCdyf>@_YY_XHog!`MF^ZinS0fNR8rLf$b38;dW0N7o*KHq*9XcbLClpi{X58 z$U6vaPa|0ES)SONWk~!aA^x9U;l}%aJ7fqo))ik3NjMPN(-@B?b0i}Ixg!kjf*hPj zje^GzC2)lU0j*rb3zJGaerntSKf8jl>;rK}; zr@0zZ>nJ7(LZ~iRd@TzQdSyxX%H(TJ9o=9ATO7)xBlHVgvK|D}(;qG_6^4`C2I30% zT_+{Oz1BHSM&}+lQ-B=vi7g$E_8Z3!N_7V{{-mj{^kcxU=bO;?r&6!;S%mCz4P#h9 zcECe_L7>@a7ZDT=j3um!ujzls0s3l}1Nf7e9-V^YE;7tOy>lp4Ut&c~2Wvt>(N#@e z_>N1r9Wu0zMLheDp`+_w`ceX}O?$MiloU#~F zbB#1s_Xj1Fiyxed{pA{AB8HWUEKDV)ZhzACt6qDwL84O@EpSk(`$IIFG=_BI8QTvCSqu50jrg#$Xw<=rSqvwj|AVrt?Dhw!WXiw zj;5~8@MW7+*7S*P*%Tl%0ctgN9gt$GiRfUSK(p^Om%*|Ohscrb!1YWX+t0cfU)AY` zaJA6503_)xbp#i8d*4X~(_nB6DT4D1Q|c*V=WNHgfkLVUq*H#UqSi^VU@9;bPy&2% z3!(sP$1orp5rB;6)sMVQ1gMeCUQg{W8pe4L*AC2(omEJqL^T~UnwB@S%vpvR;&Pe! zkXXnh$$P_>UE1CkMgn|;{kL5U5!Oruak?g!v+pjk3MpzSx9|r9OyD#WJfZZ!0Wjvs zwhB+AA@amzq6$pm>ff5l(9NI=r3b2|DSNTbKubVL;=}#A7IBSV z)&FSchfL+4lqZfi*DWes-k53^J1vlxiOwl7VRW7PwYu$V+p%|m^oQz)`{DLUb-u>- zhCyP0A{g+c6IZGR=&7zMRe>~`$oE_Qfu#?{PzaS(8Pu11`%xh#L&wQzc+fW@uv&#g}52q0Vc$fcX)0R1OOI>dMjFm)DNVs*pb%h=_%SNGkxf;6^M= z(U0Ouh>g1$Tfm&e5lwG}&dSFRySO(DX;poS0O6>XN*f7w9^1uqq7nvl2J-Vep;Tv| zf^UI^Wp#>*?oK=VrG==b1tqm;ffBb-GGcufm+v1YXrYv8WI|+{8IQfGwbOuLr}00R z!8CjOq#)=RySzW`M|fvVS&O8mT^g~dOO*uQFerJm1Li0DGaG~$<=u$dpIUiV%&LCo zvP6^?ONeN~(rOHY@x?K4hMRbEQU8PN29GdC!E~!SY=Mam!uv$V>+KhF;4k0L5Wk1k ztqXv-gJiSBJ8tsuv(qNFcnn z{Q>Jazk zXW~ZZ{N8huq({<%+rfo8-lf0JD&z&%@0h$dFUe*xO>MzqVt-_D-pHD&6FX=y+9+m3 z4%fW||D0JB1(4(!iIPEAi|ST1rbc2fa6S!Be*koK{jz8oS+#02%tJ^DMw;1D2qe^1mfeI6U#46}In3s@NR@kI?|Xn7)l~DR=a_w$l4` zAxcofGdhUO4)tyY1q_G{HokSk(1zY z3c5S52z*}p?cc!?9!2lJ{w?q1KSGu2AD02%*0e1wqS=FI_m;^E$6x1yrv0Y5`qH$| zhq|OcCT!eC2SP14AI{3EQb>IGsbD27$87JTjIjCW{h>j@rjPCZ5gcm+h&tYA{|jve zROXB-2)Ce0tYQi}ZLMo~BEEi?KY{TV_ zh_dXkkg;<~@9qrx)WSk>%o89>sq^=Dr;XEQ6%2Z?rDFQLpo)ZC1 zMn}P0ILXgrY74uLOmKi#DXE!g;vB^m!AUB%wz~uMt9>bUgIDx<5iIV|1-e&AM)Zy zc8)B8*D+||hIQ>j4KV}xf9ha`Bc~u6Gc`21kd3M`3FC!fBVRa_U|pcoC^4GA$(!rK zEsW+NpK1$#zal5INi`^qCTxgw^NG77f10jL7a3aBSCG?1N=Ubv#A)a?v!+d+_w zzer1NrP#}^ z$b^!JXad1TQd^);g%}9ex7{4fl&ED zRXvdn@*=@R%7D%Pl){S0KbE+RfSKjHHvxP7J_DLcAlG=fiGME*hYVi73$A z2oF4!EwHg^YtQC+3STPl-D>E*Zr|x}%EmLGNR8PR>Fnx*0_1IiHq)U5-Tp-^#y3>#eL_9e{n}^c@VHR? z42iP;>d#*8vXpRavzhu!-O{>b8)uK|2$vk3n}COgB^^IV<$rm@?svHTozD0jI6@Is zYNsb~XyYrYRal`y43D?b)>G&J6?7{*ePQVRo=Qjf65V(GjibOHo|%WFo3@V&G;F=l zu3g9Aqk;Zg(>sfxX9f0+G|QJhb&JpQex0!6EdcQ=sQ1ap%ZJM#c1lBPeD>-KxRfBW zdM~NL>7qHXXbXi}+CXO#Ali)bf602@1DX$TRTT1lI1wTFJ12X>?~a-dYms0LBo(t* zE&n|&79&0`7H`8sa1w_kRb zeYVVf?zh`LW^%e;bW-ZFn7hL4BLdyr%XT3uitZ(@BO`-I4`;U@-fCZEr$3_X+b#Y| ztQzEE9&QpmKrhU-J9+TKw>DfBco!}|_Ko87 zow^xdWT-$^MswU@4j~gu76N3ffY=)0^4>_%y<{d!3t?E%rC~!XPWiQ=$GDA8$QV*$!uke{m#!)`=7wt_ z%hDB-@Z;3&)9w2)^<$pU*tdEK-|uIYwZ@}^m$TD^4)NxyYW>z4bXd&e+Remk?Z;aX z;kUA8Zx~j$;FVG*0Tx}qDdd@Z;|dPn+tSF^ZK=nD3uNJFfSe9hRF8}Byb(NEIZEuC zUEDiZ%dby9judnyh?+`u4q&QJLz*J*8odtge zK}D&krPitdmVe3W5rM(wlqpNA;&RYJQm~7$-!kJCno8N~O zLalnS^|FnhpfFt8ABV+PE+Td_uQC_^ZqJ96+!x&GGx3XH)fpY;8K2*@iK@7Uw9~Gj=J}aFI}%tG1UCtoHWY8(lN@=mu8{1au}4el!k34@jr! z85#6k=6>$DRANO3c!suciOMnep+#6&uRS;aOFJ|}y8dVH@oVAG_45=}1`4ixm_~%R z+wA>8ltz(gXmt4WYI27SH-htpr>ti4|o?UGZdw%?!25cckq1yC*TbCz)k94qw4 zo%t)CZEbDXE8DpOz5HTsv!96iJ+~x+4~(y(ahLd^QJ5T8o8&;}9bY&-{4xH9M9rk& zHVpY#F^tN^!?z`j-1m?@yJv2GpWwYeeQQBPf6hC9?kz1Hdo$<0gU@n||N6n}NJF+K zfVUem3$)5*s@IxDon3UhN$?D<;O;i(GdSo#cNT({tP-wTZjoP;E}CZJF~&MMDQo{3 z(`fjjxqtafjng(tQ*T?5NLWbqu5~WpU*Y0lR22pQO2lM}l>7%~Fff&nPIYU4jlVhJ zF9X39pr8xAyVjG(r+n-w8f^GI?TO-c-LOpSZ~N}dO}<_nIUBr+q}Cxhv(dEV@#qB~ zKRs=_x;P>JbO@51w*B0D{``Tl%#eePN;HdPr32+dsKJylD{&^Z9%uSlGToWPP@R!$ zT%|`wP9zaOl#k2BSL*vrm|-i}Z@Q8FNF~5bhAwug;H9z${hA6bEtMOn)>oGNda_4q z_&TBuCc(pfi13Uc6|j^>{xd?SUTF?a=Cl*Ic62y`!AM`%_IR>A{KcvO4cJWoQPgdA)0a-eXSn$Zj?*qQL2j6O{#7o>m;Tv= zBuyWcVrgWoU)$t>XIhJ#-D#aWF+}VLyN{jpL)Ivnn*!jNXzjmFf%b;dWK>{M5 zSdCG13YtoFNOPNU?{TdR*D&!yP-7}uLNPd_zajpnsRdTOUCR^EL6=Umx_|txeVg|J zfgb=itE^cq+9X5hWbui4@voX6`3L^y|A(EBqD!cYtlJmB-KZm@cHkgmXWm6%M1Gwg zAWLH!a>t#}%)v}~r|*mrcxh_a$yw%uyQ}cR!I5t9=%xe@pI{svjde9KQAaQa27z}n z_UaLCeYjnJNHUe?V=?zrri{1csWI<)KQ0p|%#8w9tAga^ZL;{+m`ofM4DH6o%yGY1EzQ~cAV*1J;<_yXLB<5$EBzBZhwMFCOi9I|OwX6o zPC8j0$mjsBaQpeDD7?_zA$F)i9s?b~;Bvvj^0-+#(ZQ2)AO&vIFJ>9aMCCqNXnfA5 zk2$0k4>Lg=I9&6=Dfta>k?Lgs;rYP_sUeq5=X|EDnMyq-g)O89jrnR9V&SOfVBZ9G zY;j@v&xJ-wdA0%R{o+2x-%4O(Qv?!1aMCat4xuHBY__oErI3Y^t*w{EsZg*I#A-IX zQ((1I;?QEDz;T$N{ZiNx3(oB0JsOZuClbzC=~#HOK?~q|e~3kP+njyxd*8AfXZH(P z&1(f;^TP;p9BxP+lknY=s7QlSTJG~~^7^ntw^q@C{;<-YzZ`{?mKt#tVR6&8V8hJ< z!5K##Vl)ab7xj9a* zvlv`{A z#7HZCx8%q1zymB5hC8_4G^9aOG)=m|L@u+vaeF9Y8=wwg5C-#)xR^h@->$tOeKQi6 z;irakDq`8AAhwf5(8iExz@;o=Dwl0EI7X{??h74(HTSJ4-6c=mA7T`}9}Pd+&DR6)cif(cDTQi-diHZ5DZ?b_JPP2$?GZF!$K&%bZkNu=;***l z_bwzSlc)%;u#i~=vw-E|$}_H$58I%qBg{7NKx*ai2G`sX0CKo)P;dhjO`IqlspV@8 z$vK3qLBwT9ZX(hB86c6C?vCQ|$`cwgO~uiPN=&#;OldHnsGAtVF&7dCJBmuyM;9hd zE7Me%I}u8a;Rcl>?(dcwbs+^m3wgZKMb>!ejx}DHgJ2>?ZkqzNPRPVg4}R++3Y6HY zn&a>PK^kxa$t909Y0|?u?zx)wvuHKLb!>`ynn=-ANQEXWM$MV;=+_et=G~;~1ERqP zqz6|NQ>Qe&pd(QlgOOSVwAd@zc+<8G6)4e=s9-JW|itr~)F6-SWTOcD1@ebl1S;Qn}y!fh4D8p|S-6Mr)=MCq0UM)C3pHTXS zA8#wpULn9V2V!KAR6klHK*f_#!&sd!Qek&knrS3X>(^PtJ47^O#y|+8iWgPgdj1S= z8v#&11a&XkA`6CNO+wzNq#}o^=rM(58_!f*K-IC@Fl)1e8cz4Tz;RJqjO2Lheg?); zy`A_?f|!sNFXn+~b+bGyYuZiiayTYJktTI-7HC_|?}b|l$4uGN5F^V8qH|OM%(=(7 zo8SiUo!W(B*(6^Sf(^|GASX+!I#Q8WtdLxS31BmXDl&zhK*lpB+aJdql<&y1+M$BI zi3F%dSI?tvWHfAV>%%d~Jt0C9P&hzf@68o>e>2`LctOMBqa6aFEI~jR7!X%Nll|d_ z(Js}s5UJ*^?wZT$$$ScfAxpnjmqTDW9Ja~b{t!p>TjVw1@*iwlP_83MM=G?Iw@yu< zxLmw+t{@k0pJ_Er)uF=>k18&gGD_KW1`%) zAZ->)`t_J)%~m}It=ycXrbG*C;Xgw7%!^nT%&j6~${ZzJjiqTqX?i~QT1IKabSo*T zx@xLC#}%&B=j~Y|C3*cpkOGOm0Y?`$IGTq5TnHu^h+~UvK@0u06gcW>L`ys-Nd|=A zZE9pwuBOz7L{nB4W*#q8^KKFO-Pm#4Z-r-s}~KKk|AvTfK)jJ5MER49z~V``3v~YTp89 z>prJ?0JoF|3fWRVfkHbOq0wpr0Bcxk5v*O`Crnw~;LPjwE?B!)n?0KuSXwY(TbuR+ zN9)@=YL@8>P;bckJQ1gRVwcei8Q&T@=)xVqB6h)gn`d=8$RksOu~1^+7ZYb_V&=FC zblJNrus7WuZ)<(s`LQ;@)!lLas4iCRiYw2=cE`B0ocd*G01l009#v~z>+WcwhMGvf5USwc1ff-#H-7^^KJ+8B%( z*H%AmX?S-x-ue9|8M)~L(+@%hU4Fg%+rI|?CIg)x00_L&T|7I?S<-nUT9xQrJzlw` z^g}42MdsxTpBtlEDooJyTTg9G&3f%mD$r{|i}vn&9G)*k#mr*qBOs>Mu-<$w)&eX= zNKuC5=*y{*G%ba4FT}FOqPD+%u8!2DR9AE-LdB)!iZm=@n#AN`=Aa4lABBWx6p|Ot zXCBedfx2@JR(=no81E7-NCu69cJ1DW_Fnh;SsvptpDCq_BQ*UwNt4(&fYOjo;`NpW zYYC(xJ@$}1vNP@X(Fs@W1rdp{T;P{f;bnfgA{8 z@M_(F&13``$XXMIsPd~bW3Yc^jsgv-*yR3W$^P5E7PFL!gKC^+mSKI@D4hC8-V#5C z)Y+^M8rpJ(1xiggD$ld38cT{#&(02g+IQP6neqFKI)_&`vYEYvOtLE2*l1=Q{3mB*rph-HEm-1$jB+!QMqU6^0ol_<-MR6FIn;}PeF z!6b_UmLo<1Q7d@06C1k@f5BN=42?bTkVh3@Y&Ma?G%`9B$&}GPJU^}MWB6WXJ?|m| zoN_8yHXvYB2Wd8{YEr9hyA&u}oF*M`O$p7xz=Qk(J~LcY*IfFi+^nyaXWL=WX}&=S zwEH3vY9Z7e(4Nb$c7_%D5XICEm+cS%cquN2az%Z-a1>g4Mc|ZvD3aLO0mRRq+Nd}m zih)~UFE!dNW68hD-Naw9S2eTUQ{Z9$+Nwhx2L=ySaXeaJMhHLBp``Pr(1z2EwNkKKYV{I#8I2fK}AWgHmgzv>+z zP;Tj9t^D*hvj68pADpKFJ`@c&m#ggw#nx8;n^9KF--vQdLhvVRxl5k4xVmVNae#*r zb^thD{>x~g;m7)O1u#9>Ewsq`q>JRN26U`5UF_-JUP{4Y!y|)d!9WE#soUGfqNUGk zSLZFDCu{fx-d~0FqONI7Rz1O_FRNXv3Gyd`p>b*48w5;6)JjS@L7GKgStTi0NS`Pu z)$MtxT=5dDjrk~lyW)lbzOT72)fmN(hF-(DUuK zQt|fqo9z1ua@>5Yk-1a3g^VjtyG+O4yu)B)E+JcsFVXi+Fezm)8cAz`?-```;p%+* z>3HAkd+|6sY=G4Fv13sTpMFh6WwF)dW@20&Bz}pO7_cqRY+rVW04j#}8PX4rrs;wj znx>dGF+3wsMkuk%ViJTw=fxMRn0SMUJ*I6-og|_cFwXN|$KyRTU+ZqS{S2c`{xD}4 zY|<(N;uXoop0!EO(8wM9;=<=?Df2=~xkS$ukNmqU(k%QLRIYWbpmrAU=r0o%NcwHY z5_^3w1wS^LpT8!aw!9dMbYxaSY)$!AHa9o9eGGm&opuSDEsl#UT@9oG5>U(k%F>)r zE=FD~zHi$f6NSC|wAf%GdEWlyi~dx$c@WfCo%=lgE*+v=Sgy)SN@XixmLabY1L^38 zWk#;Ick8~K+uz^yQGWj2@f@^lX!SIVBg>mm&>UHU{iT-g)Ki#$%X(`k8-#|`Xh};tP@5#HT1gld# z9$&`K&_Sv5RV*NPObjWJAk(rozibT!eD6N(+(yS4S^Z)0rdFd-K~9Wq;aV!VWHk+K z81>hTJ!g9BOC6J_rOhc0?MQ9Zqb>|QOwIpp5knOBZP=6C2Yvc|lQw?8sPb^LwmW#d z2f*6oigSdI@ic=lMf`1`T}Vz8sQQUi_xHl$Z7&&jTCj6tvzpG}4vxM9Oco2cPAi81 zgRZ9XL7iKm&M^z>4Ce> zgGsA4qkminZKW5|$`TWkiikVO!1zxFa{4j|dH^FJmcS{_D^LfM?2@$FyoW5fAZw5z zFJwW)&@gRwyS~l+RG%YI=F|GyJmB{!=(ly=>YL|2!bw-F#~Az5PHTI`x=<2R z5?%cVo;)_)*`?}XG3<{L$u#F#zjGBoDS?1r>d;v6Z`&@Pc5P^`dp19MEHF9uCQID} zxuEvWr0^3@aLj-xsHHDVoP+F)L{tWTLy#1cVXn;^E2qJCi}Djc^mg&MO|2!?hAR{J zVL3ej;Ew_S|20L>NC6P{b%t?Hj(Nl(umBtid3h3o&Eeg0SA zuWh#u#*ej_7*zstap!TbDg<$DXV%YO<8JpD4QKQ}X%%x^MB$cWwDHNBLYAbJcUm_N zs2b{D|LoNIu0!^GopaQDtsP2_I&(Z~*dW3T@6Y-=A#vMK;g-~u+m<)dK-nzn2Zc^` z-*IH|$P3jgJk0ej@T%skL^3XlM`FmfNuR=~C}00xDn<7nf!IN2e-qjMItZh}&^yDa z^PppjlOsLs@E!X{W#aw6?ubS7@8zK@$W^}#SbM8(3>bm5mvGFc9gX8EqSoS_7qr<) zUD!6?EN~R9D}+jUoN3dj?MF$2m(^VN{oVJp3{NtTz?&MS=XE>y( zq~JfS24-K5wrtE38Q(6PuHUD6UrUy~4IT%NRnMC0rMdeOl0r+qO^%!jy z4Yl#tpnFw><MomF=$YJoUEl+jK`sdM!PW zBf)Ae0~?XXBDiFpYDm2+0}G8EkIiu^?;xNx>pMa4*9wMzTm@j>)^jHXPLY%f5^Mp= zj1cy0)7fg19GuJ=46beNcH7;q{?UC@BdG67?#;xssGf%C&l%UVw-f0{m)Hx3lk1C*LcFC3@xqJczJ3GUM`M9n_++HWY7pP7-4r<5^8+TuxAI_1; zO-vw?*z-pXSc?P2ZUzT!ITGI~Bt08E_mDg)t(K zFz9g0KP&&>;=E0Qd;bylu45X(;dx(6V;T@`_dRt16ou^n<7)QKOmZV6XIn9UzY-SO z77@u!9jA{d)8Bz<4%A zsB;xyNRZRfgY_A*EMmd?TUTbs_ni>L&8IlD6av|MYk&V&*A`+}w3eHn0G*9Kd7V=! zAurV02N^~>Iif%|85{+mh|Cp`?VxxDOQ}&iIDi$Wk|l8jdq!?7Tt?qgU2m%2@>iz3 z7WlN5bDqO0zB*EsTo)WQg1nj%ok^<|mIQDoBu$}}D4crphE27a8qL(_^n9!y=E5j4 z?aO8%G))MKU_;=EjPl*$^)f9%Kt(kmc-w*lsN53@b2{tUZhq}-yeyys!rQu=kK*qF zBuDxLra`KNK#EeUwN&sCfrmH*P4uYBO9!V=x}RRB8?R1uBAupT@i6-dDdP7tA&rWLJ|6e|uMqqz zE32NSf0zB{8~r{JIS9R9BSy@5m#(gw_ZtUZk4(65#%HT8Hq=l-_0ltxAP%1P))n5a z=c+Y^=4z{VTJT51<5B8MLZr|p5N&L$ZVSOQ*__eYMHYI7d1&snV+Od@Zpo*1)n#2c zY?rGO#Q=9iQ7cu~9PphFXTI}wMFnZ#+j)H+`;{&wiA5&a!CqL6^KPJGEzz%Sh-syw zx&W0{hvpof)?acwjMj69&)8O7TuGEp;Z*rcB`Q8pMy(srPHW0p6HeHrhKE#Dz|7pQ z_8glm?BHTep?CjQJssH|o$rmVqY`FYs`lnSh6+Z&41BoHWqg&ZZ*nDCM6qV}&~|^m}G~)r`13SP>1H zaJESX2=3@N&u^3wh-OiG4oZUC66*$TJ!fbB!-Dg5S8~XH(}IEgq+&ILZl{DM+c}f9 znr-sm0H1+*2Ls?V_Yw(NaE3W#&$>E3ToG=%UpV@FG=hLy5Iy-wfUD)}ccxpPFA{Gd z=aoE>)q;Lp~?FjWOyhhM(WrCTcqS^qdqS6 zqcxTC6$+5UOo9kug9!Z~@C!?5OikME-4E|!-N)PIYwm3}CL#FYow9xCeJOCn94dr+ z6KE)z!a;^`O0xV-Q3mA&Jn!dLr$>Iowx`2m0XT81b*w;C`Yg9IwWjqir+q_QF#5^V zBY73l-8Nlqw42C#sX?540u@|5XigFKw}x8$@7-Fz(Q78hyc&L*l=r9sOE{M_N(3Pz zQ6{do$ABWGEf+kg^M*$jR=_KOvx1Hy@dXkKWC!5oiWZWX zLUkQ-DTFToOLUXuUq8hsnCFbVsRk#y1%vUvQE+T)(RPELI?A6EhT!&uXNxGBWtV7I z*Wcg&**%~^=#vCFAIIso{@!n=GPkv0V@Q4l#7pg!8uq=K@DBu@k|Y(sen9zyen6p;*m36 z7H{>Jqcwe>9sZDje4WdyRY7Qm)U_d5WpaS8uJ(XT2f5W4px)Nm$HTt~IC=abDAtuN z0-NZ#SR7Zx$Zl&rFOAq5n7JM08Pf!nWfM&OQW&5-r+ctI?3{kqQ$23d7B#CvVJcdg zYho+2@xImC_wi|l%Dp>oB6b^vmF^w@y$o^4^V9?Rw)>t>oVP}&RHw2jq*>en%#>wA z92Z}}c*5^a@}=A_LZKcah(l*HGF?@Z%MjzR-rsC<85qxkGKhvxU3j*c?j(c039Y`h zjS+|rnY(kysT0pO_0*;J^w$1O;S(Nl+Z&k^WTZbWBn1Kjb<^~xe8(m}pwJEy2)&ey zikooa8QdNmWg!-b;zHj;VJ~$;@f>oZGMD7dl6q2+>5~_pw25&;Eg10M?ceqVw9+7y z1@9(Oh=*h9i$JGhC8G#Gju*lrYfmXC*2Q2)u^Sq|^fAHo#6WjY%nA^jiqSPC^Dzp- z3WRRJM1Stzt6}!;#C@(l^ZNh_Pr-4AWoclGYqe+Ws5OmM(gc-K=+Nf2i|u=qb$>0a zx#fosPU@&b51;mS%D>OA@A`5{7qGY}&tkm{$U7yIHW`$g(5i)m59gFr42@`aq!9iH zhiJTjq{fS<5oU9b+a0V~1TFjYwF}-~p2FMPcn@i?cj>i9uEzMB4Oujl*K~E?{;jYN z+(Mbv!n}daGwDfOwiZdWVg#CNUPT(vR$(QJDBc%`)8z&sPfZ9t5q)58xA+yOM*}E6 z&d2^o2!$_6+8-*&CYTH>46viVe;dv9#9Yn+))DHwYM~#DD;!-c%?S>kYC{>|l!BGc z*EkZ1R1)2kH{q1sZsK@&hm75RMA!3f;~3I(Y{iCCWIsC&fq;aNzYYlIo`X>Py9am= zG+9VLTFJ9L{RNL~-Xpq|DQc!pF0RguMg-sQ8 zsHWtYBZQ~469A%+S4JhUP#Tz504`;$E zrA2w4<7Jn{)r*SU+x={ReH~g3R#b)`9c&L@>5ZflM5CA-m2SAzR_H!J>%J3|gbp(m zQ9xXTB&u})f`91(R19_G9ZxSLLzS0hzI}j(UqVll372LuS;NF;_v74`vuq76)n+!d zzdH8buk)+h{$->u@oI%$MZ0O~gibY`D&#~-9I-yMNQA`+eo`E7lPo=Rxj;hg3`I9W zB0*RgHG!WdQ--C2qatQ>*c9cFf@k`3^;$0#PC9{u9tZ~qhkzdkGB1C(LU_*Iy4B|* zjs2&a`Iw4dSEm=>)lE%r0uo+48obCH58%zYN=hn|wm=JjlAJ#m)~zM%9kVe)j$GbhY4-CpBz2 z&8-JJ?UG#cZL8mu;D=eqarX%vZXn`l%5ca=<)V>vis@6>#mOUZ8TsS<(DrG;Z6;;A zhXyZGt)6_H?_P%$+pTef++QQLKQSY1N5ke{d*|!9AMLHSsHJ6Y8Wdtk@&f6X=N=DJS0v;1#JU6C|#RRe!@%3p_RHPP7_E>eeWWEAfp;^NeuTer z^<~kaN-pcTe@Jorbh^Hs_kKV8$aQ?a?m5E2mi55k6vdMC3~K)6#>pC+5@&{7O^oNpK8S0TC^`oA0C&C@yNoK+w@4!zIn%Mu<|6>1 zy~<>-UvX|oYOD)$<%7uOOA`?IV19^?7VRlP|Cklo>=KDUn*YFucVEcp*BN@<@j09k z;wT=HjXz4+@d5No7 z8ailRYU>Uly(T{knN^G`!cL~8K8KSRLCWLDESNI<`I46>IJVy-bN6a`r&sY5ICWbH zMM=){km2K#*sk@x9#s6n%q?MUwcw5d{2Gv2k~}7O*Po4n_L(610zpI4&mBK*y^m6} zUsEu9oFwOO&r89bZSBntKRz+5lF2L^cwL9zEg)pAJ(vU-D%??N#1a$0w8$p(x_)E8 zg1#55Qy9>xoNRQmLdqJwD>&%4RWX#8n+YZg>+3K2tLp@4 zXk8rKaSRecjMAJJw7N&Jx?sC?gQv=9s&fDai=~>00&a7$1)hIsXeBhLNX~Gz)7OJ@HYas`X_=k4B|eC&$y1y7Y41C)uzKIj+xD*&+WOcKqWQ)3z=Ons!)e5cCgDQJ z3783Y9IzY)qqV2Fe*9EEp@ay~V40_JI3mk^c~ShFH2jvmO-w!?)*ZWgx`i{bTaHSLfLvZX(o*=vOwh47Hr#=?TD0&j@AGe3W~Pz-;`dEyQ&96P^s&9Pjk z+X2__4#v|JVn8|huyVp={N)p6O2-G8tIg74lgZt%?JykM9@YelBw}g}KlAcJwfCc= z)Mv^j?dbQ~Y}!;_ud9u@9&=2KPaA&}1!_g6MyIad?eWJ{<;tplganB?_?$3b{8=E( zSI82OCLE0N83wSW2-O*4G7-v?NM&yqwtTxceDzoF_u{fa+Y$8oXQCs-2n$`|Et{Og zM2U+XGBYxMzWhbPT0)jA9`mGjd@!047Q6>ZTw0sfF-l!YgG&0VC)g;7oz>>w*Zw1D z#xr@qWL8=-V2S#B_FzwC|F_X`?`R4!)Wt#5$~kpZ!V&DmXqG}2ts%-gDGXr|ebVoG zoT|{!P}=BWV1TLW%yg(@V8s+gCMB*RUpMh!ue$FuCUCTb@z!icpld0H=<&qmDfCOf z3tpUa63`P0p&tH)@7Qn12tP$w8=`vN{wSDKRW#YrX4UnIHs4p+N+BUfFhnVahM_1t z=h?U|+1_n69JL6O&w^x5a|MHfHg~Z7`*^b27Dg(bfD&w>OiZql&2_+|kkkVAQ(WR1 zuKxLj@b$HL`gJ-}o6u68W&!uq^$G6(1NT4(zc^*Z;HpJS2ZK0C-UqVs;#9MvLG9Wq zl92rre*tSsYfDQoM#anzTWx9bN^(ior6g$zBQZPH?6h>WTo%VCVP!%#b7+@rKsG?V z57=NX>oF#g!ZGfJ@oG6;EsH@2u0EcG3v?#*#9$B7`Zu3` z?(-kqtO%*Qg0)o~Z`)b}R1fI^2oxaDmL*O1zxg-#K(1sKpMzA15U%Kz zfVyR{McdFNwNOI}^WF<=oEvr$1G|K*(!Xv}X8o^y{_z*Q=D9!WC*tNCy?PM+aHdMQ|XQgaRfR6HJ}Zm82H_Pl_g=g41ZJ<|`$PNtKPM zE_hh{c|gi}Z(trOYV(JSarS(-5@XjQlXv8}O391waWKRARn=y@i`dFi2#{#?xa*BCk-~sMvKE()>+jz;5+shM=?{p(=4lpN zKFcjG((Y4E;WNI%{U2ZO;K<}Fww1@(&UnxzRfftP&Ib^Zz_Qt$>FWCO@!?(Dulq^< z;rF<(C5aMd5b(JoC6onKbwxV>wey!lE0R|x3n@b*p@93&Uszx7vy<3N%nYd$SFYL1 zPw><)`joeP@b89t*V(=6pOHQI&fU~QuFKAKTjzV(ZhJOu?Iyp6DTtovNk?f)l6j}( zxg=Dbw}V4$6rv~+4VBYMG>`(Z>QqHPOr1=z1ty_T&6_F%c(nF>Y(=$4*h4E!-GJ{h z9uv%91Y?-M1exF`-E4Bo7S~qc%uG+0b~R;=99obyGkils!^6_ZfHpK-P3Xd$x8SNI z0b&Bvrn?fAQ7t9>foJ0#!x#%&Oiqs%Ft2rVKy@v&?Xuk}%ub>$aUfc*pH8eZkEy zIK}F-yr-Y5j8m=O&I3d(4024QfV)7J3*$u4pIThG?$DeiY z{OgmaKN-^=M_N!7m9^G71B8%7B&FcJuhqzb1F?2FdKRu=y;#M|n3h1H>a|63*Z;d$ z{NX=*)sr5d;_`J&?%3*_x+dQ7fN#0Ww?TtpCXlgQB8jR@y+Pg|-}`|Ve9dEj`qiz| zPjli%Bj|#w*c`IDdK8D~@=*js+LwGvs5+8`ib&5YLDbMPD0x9{z_F2qvUg_rzrOIv zPyJ6H_~oBSfBWX^J2(kb4clYZu3y=^cYCnZ-`p7}o!FqeRI}KCpnoV~{Gl0n=D{Pf=!o9k>(Y@y8&;G)-Tb|jv z@d-=f4_eEax*Q}NldxDFxC}IB+@_PW_5M5m<`2*P{hzLG+;j8Jo*nMg3Z$mrH5bPI zWNSF1Nc5MxX>WWbpKuKg4If1s2cV(hYC+V1h&l+#Quq`l+0qzH-h&i4M`y72-k<-T zC%yR9!|fG&Y>9-?MAWDzBz4YNE7tnOF3q9?*uE!ll@_E-P>wx9W*PxxOy>HJL{I-u2f z>Q5XeD&{DKxE}!t)a*;$U-Z4FfEI`q)AnA1tE(fl*jZUx+QvPQICbM^KK9!l%UfSD z{gYP|=kD#FpgV9oAK32p&CcHN*!8{p?i?NOLRC>!F(88R1`!F5nwDiP+v@P9?l2(+ zlais8v9mE<>LM+|+331ZKo>UPdN#HRH$3U4@BP`E)^9G0*0{GO4x7lsyjMW*j2xid zSU8PRFMfQa$4Fi-xmlpttSh0Zc%7? z+1NyHw*N-fR5{iRyP@>6{=470^P+E9{_da329FK9)-SIPLA(o!0WAl?p@_>|H0zP7r05!d<|g~a-`u|W>7!TtY<&OU*w$oO(Ug`?y6tnL zYp+>mG$Mu=P{lfM4%J6Z%w9oBVsxJT;}DWbNm43V?m&Ps&O#ezC~dAew%uA=|GKZ@ z(?4qz+oRsP>*pSN0h<;@1+H?oXj3R+Y<~H(uqC#=wy}``3>4(}ah`j6<#WF1u9v+i zyZzQ{Qo%%ZgEZR?-Ck#9CCzqhlLFMx&~Pb^Qn;?6q2Z&9FprCiVzn+)bf_KeOsff` zTp}mh73cEZy*244>G#Tb+YL!B*UH-S9n{d zx-V`>P|h`O%mgVg2^=XWWh6sVl&sE~?@$^d-V>DvCgpDLIM4jt-t&Ike#v*78xB}s zm6h(s10i>Aw6lwISZlpF57weeN{?a|yH#v5c3=Bnh$gD2tIza`IIeX<4QI~$!%%Pa zk6rzd*Yas!KB-n8Y@eJ-ezqW7oQE$ZGE-(swOBDTi(2E4@TeqZ7}+sZh%+`dPPdog$wK>&r}j z|M&UXA7-}IZWGF#C9(F3muHU_`gUxX*Oe>iTlaR4t=Ai%u5BaETwyx_; zmQopK%1uw>%fJ1^@BGtk%g?%R>%^e7(&;!*;tW-c!Fxmqfk!X@$0$CM$6z&~36e@s z2}p2lrW+vGb zi4I&@ccb#)NUoa2F>y+&P_3-nc8q!*@>5Uvv0uCP`7io_UB8b`e$C1(k*Y+9#7IgS zRh36e8b}nM@DXA}BLtOL=OgKucDwEjU|T&H9DmEZZ~v69{svB;N~Z>XEh{7Ch&Fgl z8pnny%#f;fN0mDB$4Gtl2$%DiBvblcR`D$oOwb`6q|5OwmU!yF=f8Y?_Vi~>#my2+}-ZMGWdFjVVkkmOjPVUK&2IMLQKE=wyt{%H{+A z{Q6(u{kNit%!?=*#aa>hkUj2u0!PyasHNBwcyMWvt~2f0GG9`SWukop&-|jNe)hAg zR31u(J_(gGF*9Tpc8W%?Rdl0hi>#DPml^rB<<;q%UL9WcBSx#~aPP`40j?b?iI&(= zRwL_?wa6eKl_zGXM>6n6$w6S6Gs?!3RAPJ6*c;D$GPc!mD~6sSNJYQR)1UFgSN|^0 z`qICf^y#e`ONeEOg zKiSwi`+?c?e79GPCR@V`_YEvg11S=fB=vRTz(Np$z3dH}7*s5W$`b+^UC)WYU>bTH z!=2#T$JsCVy!Tv_r(2fkPk3#;2K+Up~B zf{;7SGBZtv<2QA`q_g=Ldw(BRRCgi-Y>TP8$?sP zcWnFq9r7L;+Z*?e-u4IKw_n+pl2|9SR8Y(vlX;8Tga#!<(m_AmBj-*rU-eKkZ`>Oo z)W>hYVl2iY2sm&sWvFOoGDq8IOL=EG8CQi^yNtmba?got=&oJ+)&KL8f9f|juY1bI zu`?I)-q_?AN9}EDQcN_aGOn^F8k2+%U8}kH$GJahP&eNm*-WPk?I;5-V55*)!DIou z=IRt6x+cta@44shPkG@_urZ_NQ!EqOalVS72}#M98my%1eLm-q@GZj~!hgY(lS#_0w4z2UD2#)VBA0Yv_Gp&D{D_ zvY32Kvd|hr@sTVtyKrIU##Pd8G2G~#=vHU%+<5&@@q53*tf&Gogq>-*rC~~daYcw| zm8b%#wy06+F3U%Wc_U!N&PTG|Jb17MYcQrB3J*Cf({0o8Sc|E>Bn#f#+G}ie>TVJq zH=uo-^~axn(XXw2?e~^X`FDH$;lq4}kBAzg2QzCk>QK6b!o)K5X(Y2QoCHa3I(*_aON17uo<#pR;(<=L zlu$B_6o%v%HcRKwjCW?{T+fflc2+WEu`k(qS%>F9Vd|e3R zaDtJ=@Xsw$x!5*!NRDlj4GPnhPyd4JzV!!Aed#xD-S|o8I;#_xYqC~TD^?u|U2F2p zIBUR$NExNVYJChDwCcnf5RZ5y!(@n=7rr0*>M9{?Gq-=F7h6z97UR_8BWERt-{Fij`ThJgf3xNPeCG z^Dtx?q~tx;!uB@1yCINm4`=Zu001BWNklv~Jokk%JMl!mN=HXv4Gip#L9}&wI^9?l-Y?V+5lmmvvjEO6fg zwpE44^m)qD&-<=vXIeZ0pQoXr;cDRuoUR)h8a_5Cw(q(BgP(M&_pWdK`r}UeFxpkf zNJ5H2AyiOAifAfaIHK*qK8z13Wfl=@Em;S;OJDUr%1?OKKTLFF>8?STrpX1TA&bex zNJtVR2~r#KhYixV@-(ZQqdmx`!)oKfU<_*~d-j8O6>oYKfA&ZDh^%6-0GDH3oi}1h zZlM}4>1wn70U1swxZYIScNO`0d!qZs_hr-p`xtA@q_XlQ77c=C)?g}wVb+jrdc^WT?mp6zudIEbr+4oq?`bQtFpfwClC z*(R&8^p;}kKK2Dazy0L@P-W}vK@U}J#VQL1ERxVbs*pCO5B}1-Qk~5R0kW*Ul&`Lm z=de4XFaG?!yTA19{6GKO+Oh3%&&W;O0Fxuhve{~@)SNf|&7-=AjP()#MdOQjnc8X6Wf4nRXg!^0p@Oj+p- z_sUaw)xPsDZ~w_}ryRR^u|O9EDo5oB%)7Q;8Hk8nD*r+i+g~2)iD$p?*UtOvE8p3> z54!{@LBN19b?$p|#9GGvQs}Jgbnuzc(J0Ld+ijaXAC4ed)6SQM_iz8<&uzT!N4mpv z$9qg7v94zYA$673)o1+!V8-L3XZy~1MiUaPCCZ$C9?9zw5&F zPrYY*HmxMTeoz*v7*8no@JjAL2{D8K@UUObBclE~q;3ZmeK)U)SyconrJwiM8{4jr zkSnb~7Re$`$p~(Kfz%xlE)t7+B=STCbtFf^L85}HLl~f|WLZivKs#qv*~EBvC-+SX zP(wq*!_qha4Gj&KMh&`@pW7R)+<0=jJM3<~Z|%Xq+I!^>F&#l&Z8;!x!3icq9PY}x zq3A;)MVakUB;WF>IDX6bz4X>c0$>YCOn8m*j7o|sYkX>^lCX2*w;60~x>FA63T z;&@7o{iSSD3D$DGkz#A(H+~@f=8IapLmg5Hr8qc77*LETi@Eyb)fB!i;Px`LkC8!`LMm_trYKTbh$&27 zl2>BVqAdF$4u1&DT;9||o!+Bliqm8>9aW>ux;(H{rud%sKw%(H5EHQ?O^GAY$TH5D zwwSgkGJ>slERSqO!eDa5qmY6nw!l_7(;m~FpR}s_oO%EI)-;&Wun_@jXlVEsxU%N! zhK7cZ9m$X~Q#mGkdnz}5@1q8t^imh_IbM3_wi)^=7_ zc8bXZXH$QPTb6j>w_kSO%f4sb?X+s!G#NCn*Hz{MJ6D?pr+`)@1Zla!dLLg<>`EX< z3Ss8D3~u7-&uM+#ci#M?zm%T*X~UDp9&EGcAWxdbEQ{T|%2Sc0CNEYb;E!BNj$G_ul$9R2O;x6;dDtRA@jGDUkvi(I6VpG#5zP7f`zV zu@QnnYeieFa)QM&?K4{@bjiJXsJ4fY8c6BxW# zRT9P$j$%WohC?Hyq8u;xp{N2fSa)e0u1g<0|B`P#-gn&aERJ12OGc#aOr7hTJ|t!x zV`L$-^JsmFe}NB61QMz-owl7oM6W$A%U{?zdv@!$etb1NSPNk8jKYbP)3e>p+170J z4D3D3u2m7dM^%~4M94ByH8m+@p4eiVOlvQ#&x-t=zg+&vZP|Ceyr@=9)^-B6hpn*1 zw4AlG{?!wvi6(_CYKEJCj&Qc&ZiznENrTusP~C}rwq1|YzpJq_}HNBs*$1k2*+_T0%8=8M#Mm>rC>XjZp*ND zfuO8)(}lYzH>#aoT{;O)d{+06V>UqyxhE+oqDWMcAoF5*uXV5L%c2z7gB%7nks=AI zoU)5R&Yoi!_WFLf``*7?yZfKAW0vhm`|9%{8yXrekE>;BX=rFTETYuPlzEIkxUA}A zAvb~ba_i0?dp@`SB>|IgmI@x&+Y6Wos*66hs>T>&%q6q!k0gma!&KNIrkWZ;zr!bf z-s&8l?<~=DtzIyqV1GCz`2Qi_aEQ>1K-%6-s5ag z!){rX)^8N&Y!>xlQj9(>F(e@v%DH~MdZdl%;M!P&jYz1Y_=T{Gxj;AMt32-0I?ws4 z6W{crfAiuWPEUKr9XnKAc+xt@Is}Rf!>~6T^m?l+D06~(F$ElEU@G0}>OF3M_+ zQtc!}>1XNw@wF><>sNnzdC5yFt6GCea?|KBZ92!uS9Df4P^-gjsuChvL8$$S!{9(+ zSd6O49z}_`x~tv2C53R>rRp#LNbY%0s|Vvq-dO()4Gj-V;{Y@?G+Y`{Y`|C8kbD)g znKMsxFe&K_2D^1}qiT$CKlcA{<+eu>1A<9($J(3ZiKOV0 zp2!z`^|8{5El!N#^t7VA|0Fcz|Q^}aX!26y~3m2OAI)>Yo^3g;*66wvNqGE58OFd`rX zAxPZ??6PqnBQhmxb)?^+ZAuB_0p|yddqfiB&3FCWPn_-<&P_SSBwHM9LqkKuhtb>~ z8X6iNp1OK6KotprNTgd~2CLRxxa<9|dExB$f5BH1G;OLW7Dwrar zwN~-U(7=f^<{Q4Jc>E`2tE<&LyS-y}`54?@u+}-$3V#$f&Wq6`lnq+Co?yhZFI=4t{ZeR6rNd5)kb}QT0y^rx|LT+TF4`*Rjh*GT5cld zT*`M(+%UW5DO~?)-7oo;r~S(7Zv4Fe1QnBQrpg2q(>Zibe6$r(r}8rw;i=nQPhdGm zOqizrX&6r*lZp$k{1vt@EU6A;p5EW>l65GgR(WDE;U)_fHHR!rwuxnnpAo16DPWQ} zW7vfyIH|i^zwnb!3S&0TkyAt_9m3Uh0yQ)=9D?Td(9qCuX;esV-f)PRU=IpXuhP}s zip+EB?)T5$_|xT^U(Wc!Znf9m-Ef)!Ypu2R$_f1MBSu<5^AWv*7J`(xk{J}e>uz}Q ztL~m2-FUPMC6fX?gpv|Kh>d{Zi|`f6Qk) z-J+<@?bwo9+ch5e00_o`NBmq<_Oek>oY2KYs!^JZbthwXhT_!dp7IY~yZt9`=xRX) zIXi}-ZybPzhK7fwxji&AG+dfwm^jMpVmX>%GzqBn<(NU6<>A>oe*LHSUh!f!?rgb4 zm|nbxT3zSL@dO;StqeRZheHCU%nb;Wd?o7YYjq zwr%NV^%Ci9_6wErToXe|~~7r$)sV`7#k=d+DFMz4SQKmGDg+_+-7e}g_KRy>tGT%)mu zhK8$&t0}zH(9m!gqA+vJU?pOWqp}EMwsVr1>GG*Q=ZA4S+_HRb_{LwHeBk|^|Nfn< zJf zBC8|`(gI@;gEb_biO%R$;wQy$rEef{`|dN(bZ4)4mAiB5p8GW%&#@oHk9@RnN&6|G z3JLL;9A|Y|62wKaj37!bSV;j_WW7#?9qwA0<@N%9{N{gt{V%7jdscjf(@7Dk8J#up z{WaYlPc}BY9e4RYn^Cel<;VdF#zdt8g|^?z%+NV!#VJ%Ui*%|_$@lL6)7Nf&;2o>~ z`78L8=g?ZsN|Q|A(Il%t`$Z`1bLbPdxz{`{|a`=8l& z|JBXod#X<9Ps0OnW;t!_9$OyxIC%u^4;mU8t_B(h;EF;oY91qr+Dg&IPf}+YlN1pH zn8Z9%c5xi&Kz1%Io-p&oR+;~Nxrc*Eq=Z3@Rp)DEI>TIWTR|d{jLu(u@D>eM2m%VF zHEk=Xsgtpt;;kz$3`t}im{$F=+IjC^-S-3E{bF21gX{Z_P#(K=jK%>3W^=l!tXU-Vvjk?ncO_n3b(`}YS!fmQ@h-EG+$jHJc! zCJvgTX|2$Y1*a42kO$u%f9>b0+yDN?-3P6f2!$bvEp2p?%Xm^vCf$CUR2<^7>f+c8 zs)<^~zkX&`4AzeAR^@m)dfZwb?kils%f>c6PWLD`Klp){{!nhD@_)mX(-`~EY^-u3x+B(~g+nng^Zk3%r z{-kAVXT7sLn^v}I1aJi*^YhJUeSfQ$|LTd}APGyb0fi*E7{N+9WG{)u8(nmHnuF&) z{EAkC1~E=Rk%Ujlr65u-kRF&5q6U>_e!sG49DpkfsY6Fno7V}&Ml7TNJ_QmQG|NRu zL388KM2aXE+W`q8`(}%{+5w1*{*;$}4cFD7h0-!GN`0eD!Q(oE6lYLj0w7w?;%PpA zH(VjONWZB6Q+F?_BeO_CtKbdd7j}1xJ`>%#{hz+=%WnDNuiy*63b&p*%VV&R)oIgO zU<+Krm#nx5vxlAxqSQlgL)rjdV$Xwx2&;(I?&!V6yU)Jon{R#ccf5ed-7>{g zKF>{iJi0LG^%F57j!d+Ll7!l@b&%E9vL<3$ysw$Rd+k6;QVJ-*NUcM3x$KAH&HUz} z4~;L&MfVUP2^FM82HC|c8M^;MU05Os#7Hphwik$rA_eDAi?uiuBg8;eQ9{36)TQZL zw{?4w_q_A=SH4{S@$EMax|p2%N(ST>yn5qJ6@}2w4Pp97dVv9okdWfQT@sb?_DO3H z(r)3pPz_lI0~OYC(xl?SJ9mEXp7KqviDI%&cj4=bsqe;^dO#1OOq!5H2zC|-RnX8u z2O;IXNEI3F4BGXT5OEMjxggqv|F0zKbHqk7Zy`4igg9nOM(nZ2_UU$y0(B&#hwBxt z3!lQEhJ#`jl0AqWT;$j%@QlVg>-_;CFbm{{S=Ce2Oe>2DNid3wj#yhJvGD<}AQ}hY z3PTjF4H{X@y$R~cL{WoSi3VrHBE*CyB%$^o06&kECY?{b<{&PA_-K)W)*-CCt0`i^ z`V@3-bYPqoNtX50a&Pu1d@upW?c>CL)_^mJW zC!Vy{TZ%A^Fb(Zq4w3P0rO6MLRD6-hvHN!+J(!SS9s{lo!>FV<_XOrIkVSM>z({?3 z^S@Gz%pU2++zQ5vzQ-*X;nq zcm3p#-~NZc|I|+Q_!BFfJx>AGw%DBksHuaght=D;Btp2ze@IqS`(lk&n*d!zW?HFg zUDR>ROdih5a+iP86%q;>NtzNOb)RB`G1xlPa_~|iT>jER!x3SzSZd}SqxY{S>yfDQ z3&vxJXe1eueFQ524_yQVw7xp_t^a*fp(sQ&iWuXKNhF#7r9%y&?un6{q`KN9HS_zG zMdJW`ykGz|1~EobG>A1OhG4}o-wup#Gtb`Hw>#27ro`c{-XtU^RunQ{B>EX-S(p?q zpC>6XcM=vU5Y64;;};ZwObLY++wWTcEpO2mXD0p}Ew62Q%^|ApP@9%|eru;L!c`7G4wH1+zJJqUH< zOT+<8ONX@R9p{t&opG%b=ZkWDuIz5ldQrk`8tI>eNdj-8$*3?fI;8fq519q$wA#7v zwp-RthFAQYyzOoF|9;`p;N<VX%i!1{%R!q3a{zwoF-XN*YSt^iO ztD6fd6gr+-%`?{{nIaK72F34eW?A9xf6wfX-|+4~f9sN#pRu&Ol*WuUX+Z|lnRY1* zl>zXPEE!Y#gdhEaic5aIFU!XLsYD$rZumIhAxV&?UT&S^1aK9t z%;Pis!9{mC%tLNL`}athM^PSX1{kPj&I&0(!Wd$Jrl{oOhsFW8l9-#&dQmj%AR-E? zA{b**6-Cq-%Cc;Wsl!3@7cYXQR_bTX!LAQ)ni~+J1&t2T$~YW&n{>)tqV|<<*;i`L;iO?Nh$DS4Lq0CAB> zQlHDUWJ(62b=M^`KijoFkrk@>tM}KbMZ5q;=PO~0x$zN1K0BsjA?JP@zh4q13R@+ag}NZ9+x_LvBesv$mZQH{$DFb;s|$a=jSexL2*XOtOSd(1?YM$}qD8At6SM zOZ$sMkDBFjNgb>@t@=>AvBsdWF7r@Dl^6k>|JOLmhDR5fC*s!W^z&8yde*lPpd@Rx zu)aQPpp#`Be7_AErJ$h%X-Y5-$WEKs#bQ50<K9g;X z8k;VTENXp2X>JW4_oxdSMZP?MaWyK+?Xyq0>B4>A@x|AE{uk$;_22Sqp0V4#<{b1h z*1hRW;Qk>ey6RJbsVh(%CaV)!QZ1DOjv({;6bqJs#`#+Fe#NaK;{5ydqpH-9j?U`%9wWzt+fGe{fR&OtAGBLpZ+Olu8qanVlNJsq#76A&Yk0k zm)JG9Lco-Hnwra>wi67p**nhmKH*q#@B2%VTW|QDmy&(*q;1IQL_^hLVlim8 z8-<*K1tmpbk=pA?iBRFDi#vW_92KY@N{L<;6-Nka7mE;tIA6a>3QAINs6|v-?Pa``zWemzkAS)m2^9yWDE+vf8q-Wg}zDD`o142-cMf?0@Q7|6gpDo!0dWjJGRe#>4JY;vFvzV)p!rBgI_A=;An zy}fzvsjAYDvkNZX_bMj|puzKzjTkwRsBWC!zkKb+j&Ho_V#(gtN9_D5>=TcE>OJqA zw$1d8`_9hJ#1{660#!xf65Mdb6fZHc1F<|PS^Lb_&`w&Q;s+^ZM|?2A5*HCC$ia!x ztFe#iOVO9AGB|nFry20rr@qRF1v+?_Mv8=bzX*Js}+Q zMuQX7VwTv%V4~3nWzH?(a6QL+C;9oE;uJJ{n_c_ldw+Ga3dJ24bhhq_#z0bnO67%8 zcv;D?-tXTd4z^rD2=qPKL!+>wLO9MSDqnS5J2C{K1|}pWD<1GLD1$^%qiB)7Eg=rg z5QZek{a>m76FDlY#^I)EimE^YF(@%&HEFiEyt%lt`;$NV&<}q9^5=i%73Xz*lG%n$ zcx;~;oL%V}*YU{iK1HC&S|zQr7q+UJ%IE+3bKE!gV-x|zUHpi0TUAs<(J)?8PXq^T zeL=e*h{=#^7sNfe7~S-)`aAx+ww^>xF_C!dI-sK^yWxE6>vF^4qkg2#-y!Dt-p~Jd zy!^Cut)?7`k|t3q>VWBxE>T4LM!^0Zzu>Fwky~c00KDw@v}c!PR9CH(=D{tsOO7=9 zxe$D{2IzDCGUQP0&>rBp8HlzVhi`d*^yi6h3&c_)yIpGXuXx=&oIvojW(X zaQd-#J$BzK!sY`?+sT5v^QUh7lfM@J-9O*>rtg}3^LKIP0pjM?l2bv&wak6Cwn1_Z z$peB03akoARWW4`8i-IyvAU6ENJFj3K`g9J0$VMIk4G=67J~Mg83T{e@Px%ad<_j+ zBGNBQ+}J*I-v!zW_y5q3KKcXy?Q8E2>G{XwZIE$CJ5}7`o`oibb#acyZ=V@e)(bqO z86LnbPW`?cA9(H`{@IKB59KfW+WjwmTUVT(&X^(MfmG2bP*t%iv_UhLv4BqL3nnYg zzQTk<$?vUmw2EkyVx<^|Qp8o$uM4I@^+5WPg&;tIf(+8CzG5Tj%G)!^da=!Nd#76u z@pM(j8_)Cp|HQAo~wkkD<;Cd64VGY(uK<2huS(;>BHI?Vy zLh*3pKW`i>_!)#2$1>^}#GFS{Kk~w#jJ$m5+m1x?>PU(XVk-miji8%Ik^0%z$6xnl z@S$(`W)(5&t1#e5X3=)Hw@!7Pr(S0k2L*D1i2Crf!RA~1^L=uSe9jpc0530AC#^8J z1ROc#-05|$Zs1wma@X|=zk?Txth(Tavs{n1>T;lazICz@JQk1x=kMOt(0MKnWZQB? zT{LP0)kL5o001BWNkl z-urWBzWxvJJAU8h`7a?AtAja%5)6vG3MIo4S=zzcHVGmc{2G!L%yW z)$+j=z#tna3X!?sP#xsrmkGK0+g zdOfR7t-;>)`G5GiC;!7wmmm4S#pcF^(Bd5}6k^K$H6{?xVb{@3n9w%t&IwAb&>>wU zfjMGCBMu2mwJ)Ls{FYH9<3l;DId1ykL#Iyl|nh&I9XJDT}sDMPWt31S^6~mntN(iJSF?NM?h1snKpegvWwpPjA=|WD&Y(W#jP)@IL{h^QTJ@#|A&th@m zzNRU|Jj%2hBKiz-*mudQQL}1BgF40_)K^&w8RBsk{0a7ixsZCfpqS#Akb7V8NQ!iF zXfUn>?O;EWSE?kjEN0Sn6fr2O9!N&h(I#5c#`)m;7eD@gKmAYt>i#=_?DX|VPsg2D zc5R?3LmM=^iiKLLz?3%Hq-&Lh(FziyN+?qiQ=rpf7($=>k2D2YzbN_vZlae=-10+) zLCO7Vk=0}5Brp`z$wf$tV(O?Xc&OOkp$g|GU-#{N#ankJOoP$&<;Y`6fZVXqzh)2y zXg^V~$(?90tVvCwF@iSR&;R(}KiBOP5`u`djTX*Oz#H0>hZK#txF4Gvbw(6yR z%E-$B!HRx3ofYH>RzW1B989C68EzCyrqjdfsG4`fB%o_8_&r-C5v|FDjOFAA?NLWm43?` z(s$3hMWf6VR-i=}QV?X$U8mXm#ElR9)gP|E;j!0!&tKx)>wIf}e%o}}wP$lh*^Be> zJqsI}goMVJ4hnGvnvW^@%l#l|%t5h8zkd~hoh4;WIk-5vlBKUVE+Px8Af@azq3jnN zm1?(VY3ItcFlwdU=gE)piBEp~r+;?3d#PGHej#6)_HLzt1Z^@Sgj|XR&FUUqf=f1U zu?`{Rub>h#jmAdk6F5Ox^m;K>UktlSaOf^rn4|y6U02hHk;+R5>qBuf6%J zkysaCnQ-j*?S=XIRk6;2p#7xlD#nPBGpUPa!HyoGdSLi-bRj+7++U`Q3xJm=@}lqk z$k(C3r_qeAC3O3}h7P-E9`PF&*`Jept$A9LZo_*8T zY<}bK=r9S9y}Mb05JecDiMPn>AVQ%!el02`8Hm8e`8lJzvCw^?q9QAHg1PX(?@c=2bRYO zy2Xh}3ui4~As5&NJ}ZE*z@cUBG;gMyzvJIN@xezge&?U8fBzq@!VZ&|Cfe>Sr%aed zL4DWCbxlGec=Ue4TFvVAf6IF+UAv8O8G|$$P0^KA` zf)uTgjkclP<=m#08xt1K@C*O8d-vOS9{T_{w(n-G(voNt6Ik?4LlM>;az~osl?82M z*Twzd-L#|Vsv^WzL(&Lju^cQ^M(!;}A<%`P2Jw04SeLjL1yUow)mfD+gArYW+mKaH zg!St2PG0}&*MpW|i>21bj^FzE9fA%L0AHDTgAf{;fJ8K4bRFi=Oox<;z2HJI9=9ie zaRG2balnE*sl_^yh8Vh4&aX8la&tf5ON-B4=!`f;pbB(r?PPPllTQt65(UIXeKnbN z%oCh!d@zOtLmSxhXex7+hK71VELhIz8j2FCX_PtFnhP_~-JM6?@u5fFzr1+=onQMc zcYe*=m^^@1bOn10By(y?QG{4d4In99Zx*`hXf+7J;W2htdOA*yTOb^s6j8{;zEL%i zN^E61bkKGTxkDpT#hhYly{Z;9lI8!&jcSr$2aca{0#P`ROxVya-oe?HHRA zv(9p%p7De>Fo!@6cw}AL%Ux{H)9tjXU$Ot(6L0^qosYclO+WB`9z;%`FE>uLaO2wb z(_vOlD>`Dtl(g#e3$EDlc29sQ2Bw2=kK%)gP!%)b#;N9v5NUVxhyAB zjLH5kweyZ&c=Q*4YX4*JJJ(*iL-)_l7c{W8hZIObGRxp-pTh667v3PIVk#M3NWU#f zgGm)s0w%av7c$}@4Czi&d>GVw(DC%e!FW9!If@M7xH{1^x{BkXU`4@pYM*d_{iMcv zrS3~<`{<_&4AW9pBt#pGyo8*=FpF-ox|aItEq=q$-^bPL%aCya@bc%yr`+l% z!4q3s+?IOxXw`bg9coVrMLn_Inap%9Ag9aW2U6|1U6`(;2*7UPSL+=E!}mNl}11ykt7?Qs|c z91R@Fc+iA}1BFmRy-o#6w}F5+((O#l_gs8(_m}@K|K##d{oTiZ=0{&MeT)UT=7|LL zTkn&TjIEaVRlk;obo|!N9_LdDkzvf1IMIh8 zc|(u9vcT8g@OrA!1HmAK<61u*ob3HcvHFe-t>vidctC|j*W!WQox=QZop7L_JMdZ_ zjXhrGj7`8NjHBnG&Es@-?;H4%*Wh55W0CqkJSc`igAU&Jk+~csAdZ77#2Y(aPer}h zoXPy%KQU{T4&ud18W@Chvsb{#Nkjs&hKk1}iuUR9e#IFJmbU27l6qEzSXk$|%Vavw zAyAYQ&UDFSJC!?I8*#q#p(%Y1y+!4q(?A13dz*U+1Z||~2u6_!bf|$W2pyVK%Uvy{n4G`k zmFG7$Z+!eC^XG0%&uq?{WfAlkrnu&Gj%NzGNDh4lPmrRxa0gA(%=bd2)#kJ)l)P8? ze!PD9Q;$Bh_4E^`&TOoozr8}lJQOwV=+LDn(&z7A!uf7w!yO5TqM=XxXDDL`c*$~& zW}R-`o2l(pSDv3RDMfYbndN`{S0DZRf9+HM;754RzuUa=$<4)l+O$=dE2smgHYqIT z?b_xvmWYZ7N|b)kNQPJvGI2i{KvYr(ZWar^uUB3J6)3n>0Dy&)oexs?LM`nGFNA$~xu>$b&=V%YW(b&QX&f~xSYxjS{ z@1ct1R`EoN6v)kG13#<)92-~AvLZuJxc5~O;?a5IxC-M{;kN{B(e12V#dV{JWecs~ zjvCRNZeG&~MWg^x4}}GH!qlzEX_^8;5$%nDk}_WjU9`h} zA+ZS|BfunDdFtwZwJ~FMk=K3u+3&sUsekkL9(~upd+jSGY%PwlK?=n%hq&l;uMBPB zUgqdKak(=q%h(qCTV2`gm!~Q(xpp<3-AEVa&+h%wFI{=;^7-HXMEv@1qtcB`!!#c*0{} zqX>seu+>P26tEI8ikI9SGBWb{rT5eYLZ39ra_FF)pa^Ha{K2cRo~gnSi_l{-7=Rv0 z;TyQBLnaGKN{C|l`a=(g-W>G6EBw>we@0%Wj0=F1$m$NK%v1r(A;u-P_$Lb;D%u z+2>q@Kkxc~*kLP8WMaKR!-HLGZhLOFYZJHF|j zGsR=uAHRC-A_4ESqMs-+p3(cP1ou6 zo9!l7+;%t2sg1hbO`mw^%5#^(hd+4ccYpijtzYl>f=Qy#eon9tBhS!-yZaFV;6Zb+ zA5QUefEXk~GE}e%6Ec>_9Xr>Efo6vfy}$XD_iR7$xNYAky6aQ9y5aj3PzVe68%ThX zZb7V(N^xmZc289(Wis)tJ&DBCc!EY~Xp^-PW@3t$;;L@Y^jqjcQiAtWOw*yV*^XpJ zhMk!{7svR>$mfebH}B8|kC@N_cx9N>wyk=;E)&-5X*KPyJI71e9jxD1b%tT&Z-A2Q zWML6{*Jc!7KKaRy+@tB}%l|WNf}@|+%MtN!{z7lU$mf@!;S1C)5v6 zt`W&0Ir{+@pA0r0LzXP`!iVE1CP=X5&6*T-*Wg8JLyT8>>L(ug^MB%w9ZpZDG?`L& zCwaNup4(rg3XeBwY~*Ew32g)@ld36Mpbu%S&!_hXryj_29EdI=?nfjYH{*Q*UQINs zXffMqa}%OXHx|{bIDf~zU;Pby-M0|dnVd$~mKK+F(JBorVU}4B^veKCS#nzy5g;3$ zF#|&b;=Q&fb*fSf`WS|#gUP|Ps(x6e8FUcPwUu=@k`A+K=5#GZ0GRJ#3(Ag9e&`cF z_J76q{l|N1p_SZ*U^PXx?3Ol>Mcuk|m06uAx`X#zZ37^hMYHxF#A>O~+aZ~YxsVkN zSWD5*^Xs@G%Y?eNq``0%ek`Tlo>ooo5}CEeStQd_%~Ld3)t;wGP_JMgB6Vekw% z6bkk(sKW}xBZ#`Ho2>en`ezPGucJ+kFFu4^`{qV|b0k0q^@q>+b!6m#{utiS=Xb1{ zgwtf-LDtTu7_QbgE_~-7(Gujyc3Q(b=QAuh#kGUh!b8s16P3b85ClJuGE5CNYHIb&&E66+wC2Q=nnP07TjL653LVphn5G|y$;-BuN_cM zw^Yx5Y`)le&-Z=s&AbCM`mU!R`W3tK7w&`Kj)=Gp9mAjQZ+la?@WLLU zgFcP`pEiGgbo9`tJBn`V82C*=Zu#rT$Wa=|R@B7G$w&c<_NkrS?N{A);dNihsdK)Z zLsf3DBrfRUu@9pT4<<#1uJ`lpOM7%m7Z5BAile+A+Z`dj;FP?Hn?HPv{$F;C3xJbM z^fcYO!G}M{9dApKwAF=4k+ei&B!W8~1fd!#=EuC41eidD($q`~ul78+oPOZU>%Y1A z4?kJ0f#>}$S9KJeSssh|z zx1GEF!LQ)U-pT`Sp*lsZ@QOTXLa|%U+E6SZL2xEnPl?V1LX;_ci(RS1q^@F(AS(&E zSTy(&4Avvo}e#oBs@LUcT@CSf{3VK>#aR~x0$((E_&wBk$77T^2YZv7uT^OHaR zs@t9CKE?)3vsF*28)R_$kBiVoT@<-HwsWqBK#7Kh=2B8DQq;WBu>RDg3+tEWfA0t9 zZ~yV>xBn5o>RZFzF{1q9Y4&3zh~#K>-Fw-@DFd+%N6 zK63Y$a^F{@XZBk=H33kH2~l1`J>8kCUN$6O1Uv>2a)DP~A>ERvpE|X@UF8?2ZAMNG zqXg(Ala-wWU;VpI|HXf?Gh3ftBd)V7TaelXa+ZCkiZ&Yrz?wK5@BNu^Ft^Yt`!J!c zcN1Mj0Z#wha-^LrhjA}+PAymC&-H<;b4O7|Y7k}!ZAO8L~-qCS= z-vcs*C7#uMBU6}Wm8P`)W2;0w;x(aa-5YCT@JT78J@x^pV4uD7ckI3Ttrx!YdwJlu zG2LL<;)xQXp$QgjKc99kJ^9G{wm$yQjYmFETzTeh$#+#+=8mPIa08aG1~cejA38X_ zs#-Xt&>|j6RSmWr7XTw8w}PWmPuk^v5JH6QDLJy?^R)d>Pe%+BTJmUi3 zgkud)-F5GMKlSa!KC0?;KZM9YA{Vs2%vvP8r4T=~$4|Lk|a za_@2(USg%zRolCQatky_(u7Bb(SEu)! zfAE{{`;Ons+MK68%p)Iq=HricS1#4v{(4ALX`8)89T`d>ExE%SSIRYVhk^v?=#~@; zYyA*lhUVx1p+F17uy*v_9~rq7Otcd%q9`3VpsP7^5xe%w`}UTferRj`E(@^^OlX?j zd0n4|{;qxNpU^==4x|Y}E&)OUNglfS)_fMu5_qEI6>;m*pZ>kKf9!ppmM_g6aO7pd zxBxiOI0(;7XLtVNN4C%0d#a_|r#+3qItiAE#;A)t6YDP}i{4z|R^Q*C$yh+4U@JCz zm@v6B8^83gfBAd9^DVEhDVtAT@(ZuI?eeo%Z<`j?vKtowBQFi7kg$OV?~Qwma{5 z-IrIV&*|CooIXvpjs#3WStN>zaz?D+h{KHSK?8#J{kT9tm7+kj>5@TNlt7odQVTVf zEi$D_PqF>%wZHkp{_bD6t=p#_JZ;3Gix50S6B`VTZV`h$sG*o(y63eQ0qNX!3i4zF zT9$KmTGq~#E9*E?whr_9=$bH1d&JP1HR3P4r&*5K;A@vXBj`)U>+WZx$x zVol|gUWn&0BRKNX5IWLzcNdXRM^x$dd||00WvWTm$*e5TxmwrCvQvw`th(wflY(VO zH%D6PNO9YA`^sKb&C9yJE5zHgHJ6{u&p#@p>Ye{cA*0JI3#wesSU+oPr!T(l&1~Mz zg}b?MFQ?B@&LEPO*n->wh!QHwnphG_=1x_`W>Hm=5DWZxMx!-f4G%$F;1T6%Db~)A8)|nVrjp zwzEw+ueP{yc`aYws5n=KPAaviKo&Bn6P?@7v6$!i(vnM6fHuq2?56e2vt73B>+`Pb zVw}!qlQO7VGL}IzBqZaRzJXz6WaO3+EJkVeaWAASsOEcH+_?C_`gi{sq?#%V$03(h zMrdEEr}nA`edvoHe6gysDgc9XrP||aF?h_px(*cTHmK3inYG zF!EWTF5bIfcC>hhloXrO0%d=h7dxSxRH0BaL_%E`#jjMHhk zajHIbx>(<2I-{Pg-F;suC&7hNXJT1JoO(TY#g)b8>CMekwU^4?&bhaK?YVPj`H{bZ zRY>aNW)q}$={QasfD2NRGSU(}A-mCog{j5K_I5+qsHVk@>(5kECMA@x2jrkjmBKw_ zA|XnMRB`9hZdq03bW>E5H)c7+dcD-Vv#g4$iff64YUyQa+Wq;wiekY_aZ(~5DH^n& zpTl5ewcRo_X-qf9q$`>5ETgZZ9ai zt|<0_%w_`#B22U4MmW|Qp!Y+krRrr05lR{?(apI0)b@{jcY64j&Ypz@d8uJ`j_x|r zeSUt?k>3IwM8p1~Z@78<(=g3mrBsMrU2Bb0^;6 z4Uz_5j^pR{OtjU2c;P7=nI@J+Th_9ajs%*>UV-(K4_YOGxQeS<5Lfje!+>4~Gcnf; zW@=?dhxL0zKze6=UF|44UdO`7$jA{~*zZ^?0xcB2=eGU819$%Ef6V=FC4t~2a~afm z>z*+0yN_=96B0BKu_{Y%z)WO6K-wu}t-Pj8V14)bU-<8T=WpBk;97v?DB(NFj1_u|$}`K3iRBO?PZ7M947Z}jG$WFrf?7+xuPu=SLTm|%#xcvdwmgHBYx zbpQY$07*naR7pXsf)@Q?G9f95r$81fLkhEmxuXp@6~3MiAn zskT8HY;RSDFD%4F2wtmaEFqa_CdX3%iH9Oh5L4!e4b!F|m`!|cm{Wp^6hbpJ_zEHj zrdW_9D`&uduBQvy2layYDZ^nW_wL|n*x}m$XD&Az^N%W^k&#=*(aCys{n^Et+e()0 zCr=e;zv}CG;MFE*q8|_v4@P!N@24ThFzo<{j&^!essuDn%Ou=@8Swm5uPG%&Y!5BQ zv-l)4E&xt44q1qq^_?x=^LD-eEd^!hAofF=6z?Y&nbAOX%u5OVFcCv1hn+|X7hEY} z(aLvx&(-(+{Jo2x;}YSH+uO^#L{OtJbqXUoxb6_GpLx{>?dpAw99@m3IywlmOj;al+wi`I1ByWC=j#ck z1n|}PVW(4aM4gyb4b4Hl7yKxK2Ty7)6n+fbTrm&HhBwjGK(Rsco7DHP3L+LkaYJ$$ z(oJjfgBew;A7&v_xR;s2rKze#KNihp*gyUExXH>Z>83Tn$jHd8;b``_dA8t6%bn#D z=U@AVKlnd%Dv=K9&o?i_;C!6W0CK!rcJI_X3@u-|d}&`UH3wnJKEL{l7nZwAWmj02 z)k!^a5*b@OPBJERLbGJOqWh(vCSRKwW$4d!bwYou4p`{Z3mi8+ubBuT&?g)lXh0!A z&H|G&U-`%W{D-f@6vRT!m`@n_>@Y}3LUJGO`-}4I2Z5;xDK;tYcd^OQJRD5D8J;AW zkSQ`n(lTi@6S000hWB3uJ6KWB&&i5L;S}zbdxce!3$a415HG|7UKoW@WG%83U8p*( z+M;TUD#r=325aV%>_w88M6)P3-rx(QK|2eW1iT12_G5;RvvWGUqxbX4kouvXtNlVl z--Kg*{koKyFx;pkdapCN(f+tOgQ%4)Q3W5UjYc9Xy57^oZE1*8@uoL8M*R| zWhqaIkEig7W~>05Y}BRo`-g58n{-c-P`L8FtH#R2fDUE}`MqVoB(FU(fU=_~~#MP8IT%PgZB}<_Rd`3h!KW`4ccK& zzs`|NOvC;($Pp7vhX7w3O`?R5f+n<~w`2JmDa)z7lW z^N%l|`p|k_lB1MUV=s(dJtvp30&tQs!m^Q~oY65YbNYpU#qtXK+n^mqOZ366Lkr@{ z(&re+!PEc;hB(GWlEit}X)&2pRksWq-}gh$Uii{$l3Yelkdc?pkn$H?IY>?2B)HE* zg@6Pdbc94Wi2fbCFHiM{Z5-xa_tgONB2%T|QDn+YnJJ8zS3(_Aam4$O){tb{xh`Fs z{(&?|BhsNsF%eS^A4tkEdFaGbFe|$dOP3=aUuihxEw3rr7^%foTxa8sDN z%0^?j(gpgWw;F053^Au$C9M0!gJOLHK@lXcHLy;e}Q}Yy=Y$-q#vdXY|li7{z;M5>>aMOK43#Q(I|{%+HTF09UjFB*y%=cOv3KM8 zyMOVtbSR!BYOO;mW#nWsre{tv;>=>1+pMSP7I68KTz;BzeI@-zNjjX~E7kLH4hcEP zzltM@#6B?rtW~o%`}*3%mh39ko4@X!Z~BAJDUE_h_X?Yk3eqaD2;@LkHHp58y<9LE ze&YYx4O^*^$K&}VBd)#3UaY`_Sio10K3Oe&6RjekiYQ)URX@+x1yhoe!tk)+bq7n| zl|aZMHdM@4Us(mR)<3`Z106hbWcAHK1MR9^SZt6Fsj2$W)o(vGE17scu+KawWdPcE zXb(5+Rv1bg>S$K$f^{La(UPv5d{!BK2U7zVALBx;Q+N(&=FbfxBk46x$R! z)9fJ)RfU7v!V#a%^?)Wv+0!8l0gIsNa2LOCs<)3;$0HFiVDi?b}7!>`0yheBF3ir46WJOBf=Vu z(nOL3qfqF3F-^%5jKWbw1Z0&>J-Q8!y7Z6Lb4E@k{himOcb#8-l|ITo^ypc|-F@y_ zQy;STH|~SJRb4#=7#5Gg34Kp1gJ}LB0j@)z`>JZ-vg)Th`pK*Rd9b~QTaF-jU$qxj z+o2ZR3-exdq`qpQkD$mwO8*vFZID24i|*x0$P`~77!cH5968)GrcR*mUmhOOh(_?$ zk_J~t@!&3Ea*+5x68-nPNN}WIbl6z(8#x)c&_j*PxgY*RNmS)w(VU*`91(di^(E_^$8g&M!fOwF{Y)WyF$|8X>9_eU?o? zdIh}g9t3z|u$O&YW0G(`{ zQf;SWVUj3Qnm_YN>c9@gZ8)^c9T$sL6^coiti~rDi<<(dLvMlLrlM4lE|U#W?s#zR z>+9#<|DN3&Pw#%>nTz#Q(wvRRP9owHObD2e)K{SufEcO*epC17i!nh*&w`VW9aZA| z#((d_pV|uo=%Xr~7e4={T)Q296?@@NUhsyu8sFOCM-M@Q0l`*H%sqP3^N-DtgEw*X z)8DvPd%%wVMBp>t>-%?xPxD)^eksJpQ*q?vag(=|AJp8S|G6BwMXfG1t4oAu$9!-n zTU=pML5N(wa^~K>3iPbkpwl=trx&M)ok&%(l2hvZ_$%MY0 zW~dF?u!s-l>ZX>1<v#U`|C#c#HM=bc^`x4SjJ8==w&EpK z`+UgO4~>ugSJkfTy0%3{Cp95pnOJiBy}#rC{5uctEiFJvN?g5uEv}!*c1qHwEz>)i`b<8+PCBung$n&5+o-}Damh; zm9yh@2eI1PK%&#!25U-+Ok5hId3|cCnK_~)ljdQt} zaQ>BV_~F0zP`rp&Wk+2tWp<+r(s7D(J9(45Qdz1aN!;XSzq3O-NTJsSt-7qD?5d{WAW(O=Ra`& zU1z8Y&TOvDXm8wj_WAvB0dTSz7XT+2hiXbPaN3q+wtw}?oA2T2zxyM^otjiqlS;gx ztUud`zV=Q3`#=3u-ehAvbWFPa$d2jKRAGWl z(IN-w4g`otqyM3O@P`RSU+2NMwZ)y0(-I~SQuZcg4MkBDF@}_GZcjSwO0r|!^7@V_ zElNnV9ZM}KBj7h4`ICR()e)rG+wFLA3qd32E*!rnaO7phxBxiWXgysU1_&w(@8)yp z*njvkAARpBZj_-SOppqRC81;aIXT}2QcCXbkSupOp+XD+!o0or^xe-~YPsjlcl{s# z?3b78lloMAj&_NBUuK?}Cf298JcfcVuK_WaKxCBWWfR z^59hs5LN=AV)Y144$ZQ#9M>&uYI1^`@=Y0GFcQng5VSaUQ?XFGEuT#cr zS1If1XSugVzQ`GEKu*wzJ?O(V5$iuOHUL;2l>9VFIWv6PI zqvgVEuogNrSkvBQL}*HeesiHZVdU7!VeVMq-gHB($%sR(DrdRaP!< zjkx#w=8t$UGfV20RG?CKXT|TtxfPi&D_*>K5%+%kM|$py?)dNj9-sSC&znX(w>vJ> zVo{4mk)RqxSS%WMuj_KPtldzNtm}Dl6APX|YXm{bgh5+|;P8>(<&Cczy!{Parx-As zE%vW8qf5K^EG^sU{fc^)>20WI8F6LqgQ}W43qzC9!Y+P!rf>YUusmWp-%FS%PM*!i zgz)>1`Rlr#sw$$QLAws-7}Ry7nT|KBu;A#?`7&FMd|`E;^giA>0+r2hi6g(*y7*%h$}%1EZ8l5yr5 zaleR03rmRn&huWh@jd^9Km3w~*3uF(6$;QUWdOI;VnV{ zo8?986Jd7LFyDLdmH*b4P=ZlM9bGCWv!fWQ$_w#cL_Ev%-|kt*L@fe-{ACMbJj+@B z@DJf_)iv;SblLn~)cucY1JvOsFLJ|8W=KPx;cVSGT$b!92haYz=YGfcTzTdnOXE$9 zYDjyOFP^U#SFa5R8;cof30>QBQ6#ET#JCE%bi1K8Xm70O>FMd|xh1SZ|JPmWaanZ> z^e$a?7}%&NOIp~^)63I(eE#s^M@Qm=2rX>T)VyQ-oX`6!|8V|{FFc4eL)Zj$j;3hw zgmt)YsQII(wwpj8IBDTJ+ze%DFdRDn@kj4n9?H4}kc%~{tw!~z7JCKYY}0?cXB}~z zm{kpfteP2M1;vUJ*r00Rq3L$j_|fJ1!d5)L$<_u{4Vv3FHK}bHAqnY*vOm4_ z-_z66({t-sx0=toE(F?Tqzyn}p4ne=)DTMU+#NmVe&74Z`RClN)0Ompx!h>K26k&weOYZHgn-Ot_m<1aaQ)9>zI`QUgnLYBay$;;Mq zn^Kd^GD4w*ux?y>{2{yKV3EFYNl#BtPtPr2Rp`gnP2Cg$b%Mci)#;m1paFEzG--NN z3`6_yUbu7ck*n$Q=&t+z`u|aW$;*$z9nF#=K*^H*EZOl|#%PV=a@wD5H&*8pU&qs) z&WyVWoFYboh^4Uq=zD+UAD(~s&E>p7A`})psXz#(rJWN{f_X=sWG4DMs%rz6b4$4%6e3k1$x@)0G;%YI>8Bj zX`r5-o}Qjtho5pi>q%uE(2}}lywQvYM}zu66Jb`|GkD8#=kCA$&z}7gzvD0bdJeWW z7F4snLY7KX$v84B80V-i4f=TX{#P}B)NfpEe=kjY#L$cz&4l0nrNdu)^?1;w1wh77 zTCx+pNk1F3Fej3ovYM;pbWs0Q`Ug|B&8x&P23*B_R0*C@KQ zs4@rwZR-sZPJKqfiCH@5sr62Po}Qkbo=-K7D`E&acxS2)j;@x#KsK^Z#3rFwj_bU$ zbv3&`_w%0dH~$%*^(Wq!#-qwy#jEiIaUC2iPurG zhqNp(rSzd+ISO}HdsiM@j<(0oegR=fS)+1O3V^LcfR3gA$Dfam582ILp@@_vNe_=g z(-I06N~N1`lgZJ1I`Oou)lrjp$^#0ZS)xf0={%^t z(W0lPr>EyrjceEN($#&PR;vzkP^GRdgngC6LKYjtgLC)3;5&bC_=>;c=O36=o5Q*c zOD|O@BW6tJn%lZ8oajjH(h2+`;H%`lQwauk5AqSQ3Wy;lNi_!~AgR-Hdd@cS$v%OeTgh1LCR1_DtKwLusa zBqO(M41B@4O|DImQTYhI8Sfk2v$6Z#|A;rgp?brAdGsA`KH7gsIofbPIi|0=0=Q_> z06{Eq?2%ZxP>*LwU7sl{&#jpMKKma(tq>Qn2%1C6YFS(`b?s_bi?4krCu_}(ZRZ6P zQ(U0y#Fh(OJ7bk=azT6L>xpqRsRByU<0O_FudoYkz#zB=QyyQNRXB+aK79+jJYgM? zo}QkMLR@fNS=?d$93G3^2CE0k0f|TfxU|77fF4K4k3ho$x#HE~=K0+h{DDhf{3ZOs zFJg4xWiOoqd}wK-jI@R)G*WG738>{|&;bJZcs1>;{@oery88{>DDKP2^1f>F3%bhX zUH^f0^Me?)PFj}p%9V%S`@x@k)ibAu%&B*x<>WvS(!Y>=*sawMSp}ntyl2Y+LVhh9x^Jl&V@ZtyIO~ve~Rk zU-=2!f~G*l2c1XsbcF&wDh0s#Xe+|Hp|1cW+*i3%veq|b72zMS*rg#Y!S=cQE?)Cv zANb{0Ze72;JAyq3P(TSWG%}pYD0?2+MDpAc(TS=eiV4{5ZYP!M=4ds}Vr6QT&AVQqC(^$ub7K?6`u;=Hii^c49W2YBRbAsg zo6TCwbzO@{+vb3*%8x)WJ-+5`uzWKn!Kd~8{3)cr4!0v7#L8enaK(g#+ev_ZRH7i5 zwMmd5rh|q}cdvX_+0jV|tV6{?%ii$(g+KbI#$WXpc;IuWHa)HaQo9AFtHHmv%Gt`q zE;tH$Lp|#gY^?ymDQVnp{4uZ;%qbv>k%fhDWpa4Oc(a5&omIntOq|&@=I6<;`Lb7h zn9Ul2Gp-9o5^rb{t6rLK{g1Dpr8rd>Mk9Ai=&t;+!P0 zLzb7BKgJt=VgAdnPLDn0)BQBbIip3;dgNNGwVO;eHLFSaIA_YC=sKqaBqHh}Svu2o zds87pPb3gLkpS_OBIJ^GgSI&;r)iWJ7ctW!3EEWc(x20J)_T_gwJKK40|04(7_t{%Vhlk6n ze*XL@9ZglyP!I!n&erPjUr0gZ?$Z~$PQx*|#u3s(BkB%0P74_n=UwX~pU;X5Thc0vU2-~{wg`H>V#LRe! z7zn2101#8J0Gwrd1>j8MN-jV>CZz3}edIu^xT7;Ft0*_Qeq;~a_0!G6U-SL{R9^56 zu*uOQ6izwVKU`MhyF%bZJd+i;+6|a71vpw2mxzSGL$UZtZs{3*6AVq0))x=SpI^9ln4!XpNDJTpNP#={W?YVn)p7)}AKL3mK`JYX!+1dq}H1o173Peaw z5Qb3PvJYT*iz`~Jo$BUjh86@$9WlhfWi2bHpu#k>b78<^bFN=uysZZZpQ-x( zpLo@?zU@o7a~my4Q_5<4Fz{7?qy;ir@EBJ0hr2Qbw`_I;NOj?62T3;*Ta$WY&qFN~ zTZ1CA`B^Wy`}tpZce}^_`+4`9_^-dV_nx=Uuj~y%C^QJ>?ZR>+=A!PNP27~+MHwkB z1d~DtH#5OKtwROGv3aVt7!HsC?OI$cz+gUMG~BrJZWf1o4<8WNy^H0N3`kL=vQAwB z$V4(lMI*RoV-fJ13ZuGxIo&o-I+ql9i&9^z_x2Zq*2iJQyB;RM{V<1;HsCJA;6hti zEDIlut{)u$r{n!)rBU1*PwV^nQ%HXuZbP!r2C}+1!PaG@4RukCW|lpOh7fBHv9-K3 zs&nVgJ?nWppZ!O8_UEws4C-@M?HpFJgcg=im!mD(?AMEQ6pJy`xAGGh-Ti6n${k83 z8L@Vjhl|0uz~-nR$Se_yD?j@SJ0Ezz`#?g=uw*_TKM?ksTsSdDa=<`DMA6jw7yFc= zGfeLRIMetlg~$cLj%x?x$YEeGs@Y$JLyDp%!_MY|ld$on-?sBjf1U@w)f!=`oZ3Iuq|7Z zi}}U?W^hPu@e#T`n3VOTnO9)}ntZct2Rn16N!XOQV2~CCcqFM&CIA2+07*naR179X zawN4Sy$9eEV2}WixN0aW5XiyXVUgQh9<@ara?~;$z~X9%SIP@{>s(pZrV{INxVcf( zRfbqs*0sNo<72C0>g&SfpX3=mo$u#QA^ml@4GE?($8I4o5r?FjMH>xqJjzvFY;BG2 zxH!7=66fz=JSM<$N(jUu4DbOAiDY52psH8KHGyV1OYLl9ym4#SM>lfDIWfaU7Gi=` z<{ZwbYL-*Bs_E6Mqrv%WKmIQdf9_x0d+=a9no}xUaXxSClFX71<~mvy(kP}xBU&4> zi$$}WnooM3Ui2P-v(8DT(YmUyp~hfPT-#f0ZWakAQ@@O@BaGiO~3Rj zKl2~{(0$wWJwJdMesP%&lm~04H{N1%`)=CRT}3w+e&SXd7Zi!(bzJ-i$}C?CtLEs!)JtG$~f# z7NpoJPlazfsSe4-`^{&Wz#3g6Rn8O8^(I1F(Z*@7>9 z!QhKu{>9(*{rj){;dlP)e|i5*c19J`g*VH)&j|;ZkjteLlWG|tcby_su;9egG3Y%X z7gu#Dvw}1(fSKSp*oAY0Ylm~He0_5G=x5!Z@A}*qzVt6&EH80xo6&%>q$?lVwbRRq zqCC}p@AsjEJ+1HOPa*wvxDAnvBs8xRX}Su>iYv>61uT+@5QU+F!y=+e(5?c%3k{xV z5B3i3x^O{jwql88Oh{Isw={;v1?xgsU6DkvjF%)KGbqUgF%X#U&9}p~cmMGBK70O- zia857S93&CR6}%&ODXfZ-*6W*ELkz@2!kQgsmv9F_>ka(PiFyyw62 zbN~L}*IrW{JX9Cp(1J3rS?Zu}26Yoi8EL2%Ii^(^>;ytvl9VdlMh=ym#Uv&vvf!Fb z+{M5IqETm(FxxEOyzoE%?_Wi;OZ7q+pn#FPGFDidGz5a2UYSoTuzl~&o}N#Vt|g9< zx^6ZCic0swNpUS;T|3ezd9Y91YW) zxY17Suyq@RZ74h;nd+9t|AUi^*2#iER8$BzxG7itsxp|9GgU*8*OLE7^(lM23$rfF zd^_Pn0~rfwgphHV3t0)+u=xnT`u}|3NB_z0Ti>&FU&U<6KHMMnuIAA&MyWz8h~=;l zOxGo|QQ9&ll`3cT+eV|hNnA+E^(p7>*lyaqSWc>1n@;jFEpKTEUG?3Qqj2)nb^E=UuBYesz`Ezm}(RCkHgg zj10+fAt;61vN#Ke>>wOXscK?KOPfTYlrbI~=TNzr_NRa6f3`RLROwgCV`)CpDvk!z zkY(lG?}CH7dVgW{2GT14XPRCCIO`ZFZKPEU%BzOT@5%0!J+C zbB}%H%kTY*e|xe&7~C;DnlI~7(a>fzc^Hb0I@52wl{rpW#_U9(*N^EcW*N_P)2=yD zs5oW%*W<>&ryHi8p3#)9Ntmw#rq1w)D+!bo=El5a4ob5D(;?CPq)=U`mrCM z`XlHKA#-x_oE~@DI^C!PaF#++RM3D561rr7^%2%9(W--2K;>2%$s8WNdN?|_8HA-x zA`ErhWIQmN@|vf8$>|)S+1gET|Gq zDU+H3R@~~WPce;2Ii&%hASsg_%c!qhlvOuPmr(l>ODCV4<7r($5yitvn*bq0Mvwah zobgfc0)di#TDq>yfTV;+pknS(24 zCn*}PCse*420hEUMF_tC)+)$&Je4%8vp;Sc~t58J3nmn?_W{t$2Z^^KqVksUu`2WC8W zg~0_H#fdS8K_?I-kd^eG1ITJky{XK&o~J3{d!O}WpF+>AV=a&gAYJyR2X}EN8#sX+ zXd(!~P$wC+DuvTh&^+=xzq#=TKD)a6nPpKeTAFNi$OCdDX&XUT^2n__|I_v5SAq|M zfC{3B5W~7-Qst0Ztif$Hp|jpPAr(gi1#twV>y381Y`*H{OmtZlL=q(gLNu+7LXnZ` zVt+P}nhW;~p7Y$<2j3;vu0%~NosuBT0&Pf|Lz$yw$9lEFZkb852!jzSIr%{;K_~=OJm5lCkJq)U%KNdGd0knw-}RdX8j8 zK@B~DeUDoZ4yg}V{1ip2wiu8c^N@&NyR9sixyN+d`6Je-WCtYO$YRk%x>(I%1j~^otoopJQJo&iqUx-5 znw~RA?*Ta5=*ffx65JH)toGeQ9T34JmN^WTQB&b9)zOI3J1NlIf$KEMg#K;JAX| zV4R2}!rGm+dQsNz($mxPi4n2&TF_a#4RL~?B9YZrAZ53RAfYQb(J2q7jA-?DpR1b`%7Xcs5Q%sS;t*de%T^(k( z<0*8l%XC7HuBTyD6j&QC)_;t0DsT9B=ajJqC*Df^<*7x6L=vn(r7PhNfD4|`s90^& zBPvOSOhTJB#=5cd>~H**Yk&WH@2+=PUMCVVrJ$V$Kq8vkfGeS2CO#nojZvZ1-5=5I z=l{9C$ctZgaP@F&v{PzRmb5v~v!_Zn>P=cS6$DUQn;}mf2hf%4#@1tivY*p?dOkUv zlL*#sK{1qdw{E({^OXE95Qs`*)p_d%(-T-{Yzr&16`;4Y6R?vO><`)6$y+o`{BT^( zdB|_TR4o+a&KxYSLoHXnU&)f#zCJ3dOrmsSvC!SVn-F)gl1{ivz=)bn1Ha zoHhEz;;bXfL^lSFR&fwlVQ(DHn#H}b|EbC=Cm?j2Gv}S#j^*znn+_(f~_A%2iBD{ZS_~aKE})dd#jY+$l8ciM0)VxlGs<|DRsgKHt8Ti%E zAqz@Lih`@#9p|f3__@8F@?ylGO^gs+GWrNO$TO*9!@K6I_G4lsNjt3Fcl-!!T5#nn9%tq=`Y7NJF}E2S+PBFl@e z@!nu|w(GvQx;N>(H`_M;SaMLxs4Q3)G88xKwC2CE&Y!8|2Gyw+#Df)$-`9{Pb0rlc zCa?GJXdOUXjSrAEWDYS%NHPBr4nb}FbDn`bC`^Ekbm=ty>HF4W1@SAiKYhm~p`Kpg zP}xXtN-N_4JK=BLnnh^6EER0TC}H*}`4N~+4VKxeeUYmI-f5Pv7TD1#(VZf?u<(bv zxzQ<<6hWf~B?JdMu?3=Qq)7C5rvFvzV7SoT)b{&i`&D;b`_RJJoM)Y@NH}2t+$8NTY~OeLT-rm zsVZ9Ay~9SB?O@n+GYOKOk?PBafct{WVWO@HOON)OI&DQ%eln6uB(36mKWkj0-uKL7vD!q_wWu0KYxvi=XCELJC zZ?P4g4zC+bKR0iOV!O*V;r6q|a~-zJu4q&+tXm;L-%Qa-xt+A6!XRA7o$?)P<+YcW z*A&fOX(TV1*`TN_D{}$k*M`U`c39m(U4A$b6MaS71;q;f-R7;ErtS}cuWhFS?b%ht zqY>)!P?$lwGgX?}u6uTzJOCduFUZ_ujFJfw#U8mw97dBdKXjrM^Dax|xU02Q&l5t2 z_L~yK|nPfQLCJX-G8fG8s^LbOZ#qu-)IjRT* zwEVM$dj{Q`f)7WNtWs*@e*)88ulAGchXkDQ=|DEuWP|vXx0TsPCQN?}gg@cftI(NG z4ejK1T<^&lPK_H)5gu1JpDIVmdce(u#)xTIk)xxLRx|lPp+8_@p?=MXcv{c?84cp8 zpD>Z(3&*V!kF(X3`>Uc`q5_L1(emzR2ylt(yxX?D5ZK^<&FlR*Mq-+dLR=G03BVRb zL1s!=Q21zqpS^f#d4Ln196Rp zaXkhug`m)Jc)UBK`g3WOg&f?RAB}xM(&^wHzKw%qy4tYp46k|gF!&qZ*UZcIt(cIb(rU=lSc^R}@gKYGV7k=+ zV+=(W74aZ%$A!1}>}>RZ9w5p4y&pxr5+!bLto(=ByoM5tn8|ORwf4^y^7`SbI4H{0 zrmKP> z$I0HInymw4WV^A|Lyz~Y?xXJ4GiXV7*UR49Smh(HjJS@R$#!U71rtb&AULAQVDsDk zFlYgR8TzkqIH?QTgTc%j$RFMiANuQXWRpIMa1uR7aiul5!r^1`C48%{);F6kr#&r6 zu39pXOr=EqP*WqmuLv#1Y{8&WPUdsK59G24NS(n19ZWFy-ZoWr!1d|#C$;=>*DU3H zXU~oE8%Pv1$L!9Apr4f(}+`{p)d7{f5-_%3SM2irkkeSth%pLi>$? zv6m*Zqi})2fXOM|O<;O|jZ8p5pc(YYOe7=-K}PyFMh#B62yeOra`dH1Enp0I-zjtl z?jiW_w2Oij$=K>APT<5YVXTZg-)8;;tCk@j4TU>Pn)P|F~dP+>3RPdyY*7J=2;U&mown+P5AIJeg#QgBpN8(OEhZPBG-JC^5`G=XyAD9 z`{uk4O2SIhfBGjj+L69G-9Mq)Bn(tihwg+ZacORd3b-o{U)7=H+T`|-zLDh$eC@x7dGe&2a zyQr&chzEtmxhQ`8dNkWJ5J^vCKUl>69rQ-W@$Nb_WS3UA8^YKEh5z+}2=%3jR}H3^ z9>h9LMfJ~6zsqK(sjM8{A6Dd7;yc_YMhKG-E~EvLAdDp19>#0y7rIXm8-k_ft7FP! zWTcsY16Vaz67tD{MZr0Oe-1EzK1&(C1mF6`>8nRHj1P*O_rsx%*+czyGkr^j=d4Uo z3?1p9fCr~OPy&QsdX9Zn6a}bTW|GNSWy*2uHKIyHdd&||cwhwRa~c#78M36UGzlWp(Lx%QFdiJkmRp7_A7sD7<@k95$^ zZZ}n&^YP`fm!q1D;E>k37D9CnqBI%EPyEc#AQV;^+t1EwUd6mTZ6#FJ=&q$wsylRT z6(X>G^-*5>+UPk&p6H9T<^S-pU3TsFK{&6jAAqWbM7kOZf1J@@VNjw7%IYY39DAXE zg^B@}9wY&(NXcJYTY216(ERN&lO(pKe1Fe%ZcDZaJQ#tIU6kI8GH~@!iYS9?^2TSz z4)lUG4Eogb^tBy$)XXLH*02Av)04p7Wa~^t7TjTbDmxqy6^0^CaZJrA`!F}181c93 zV+Vq|!UG`IGbYd8!S))S43_J+j*D>z)+bD6AD>=$;O*gV_^!}j{TA)*A$X2wHTB6N z=_DP3WxVLdmSzfzmX3063oNst1sO&b_Xh$VGF93dnU61Q!h)T|$HCAtOzJwCo{NY* zmjUmqH%&&kgoR*fF5J|ZKS#~n8SzLfE38}Q+)Q-<8-+b`SdilpIM%~cf!RbS0$;3# zS~4~&qP>nBD*#eK2zm310aau@y8SzyXKfAud%={G*=~oGXo|SybIS&}=U=h?oXF>Y zr1!GHT(vhiI=f`aU#Otnx9L;{ryg7y&UEv=DDKHGpaf+v0t1&r{x2JGnVMOhwTDzh z9nxEOCjuN39@DRC-Bsu;s*Vn@iToLL!FpUsIFw>6tFrPy1Iq$N4nsjW8UFY&ogHu+dVU_ti!(k^bKu zfRopZaTZlq`y_Ql(5esQTwf(CQBtxRe5Qv|MN8GSjm?U9~-c)4@rn3I~EU3 zYDvAsOwOn(T(SeT5P^b`Pri9akedrTE>0g}2!C?QW7=ScZwj&TK>v{1v#tI3qbJD2o5pa22ynRS0%&xDW3Aca};U3^(;6ENrmT z*znyU`UPZDqp}VN7rM~9j1A<#mh&Veul%WNZ_;j_Z>Cz=JF)aR?JLk)>pYvY@S8U} z8t+cY|Kapgq=)k+jV-U;ayDgBr5`Ims&1cZjKs2j>eXQI0~*gjF%91qt>5lQ>nr}> zmsSy3dt4U+i>=0niHdDsW{LgIr$3HePH(!Lcmy8$hl}y`zI(8z6Da=hM%EG~4HgZ% zfPb?xU*V#t?DP9e0+~Q(GFz%w7)e1Y1yM*@O#N5@;1B%|GB<8JF`^{2GFrQ@BoQq; z=>{y6^u045#W=tELkW+h29#43N>@6{IRyWA7QoxK6@}PVGc<{u*1dki#joV!hEM1r zJ!fqN2SVl-{X&E+YNDkkBm}%!5vFclAlBXK5X7dtZEyU1iEnyFl8A5C(M@4ooVWcs z2*c@3&t^K#3Igr$cJKCR!G@`{4;f*Z1`)YZX~yVTW5W|KW*neBDbod=Zw z;h~JRO3}J=sKuB*khn+ZPgGz8WLwhQ-aMM81GjeQq}JE1e`%Po+)$6po)qalD?;Er zgQ;>YYKOE&`VTjm0U+uf5BG z!blCMvfofk+p2ZjQeZ3A9}7<#14xvWe?=;yERb+Zhfz|<@{oioq6h+5(&M^XT$=3&rYaXjw66wB`lin{2{76v(0O#SxXR+DM{ zK5G3xl(t@?g&sF1d++-{OYNeKDd?>q4{b?)O2Untk1nFW#M9UYrg2w95eA^NZ`ua9 zGh?D4PS-H8ZOnrQJf{k*mdv=U?}%a@H3}B*H|y(dyhwHJ!G9hB6;~cw$A3~cd#=h$ z*s(G^C+OFM-#-00JA2QY4U7eHwzeW^fnt%^6Rei> zs=|3Kk=NtBT1tq8J*p#VLBgI1vNc_L+Uua+US5K@2LP5gJ|4a0HhPkLBr^{ctwpuG z3Mjd>hQ#whM|eW+#lAFxiRQ52FGKtdDOS_oJ?{jE&ex+_1W_d5a)AB69|&bgmphQS9QL8o>Y=P~H1ce>N^ zqIdqiV9JMJhbYfAK9cJdCpeWaio%ZATF?<_6ff2w!_E>V-!ldk?kk69Gd95ev(9+* zsktA8X~2yxQM@P@mU8+H2fsnfcAw4ldN+77%ZY<#ZFkV7&ii=0D@^D!e5DM#lw1!1 z?&fgRfU;t3T~<@yfvIGflzfamK9bx7_Df#FEd_RiQhbjkr{C88inr9glao0-v*{F> z+7KVW)pmgKcwKwV_4c+yWhY?u*ePdIK!7bB*XqHHf|N%TO|%XrL7GJrjT!$J1lV^5 zXh%vMN04>ecH80VG>jJ8F%75R#?&i^13N20#e80_uY*E3xA*2KS~{D8L11dQqNJdk~s!{%%|fCK+L8IIHZG*Gh_Id zSO*>U+8^p>IQ<{HKV5n2-_o12{N}mF!?QBE&Fn%Z!3K*i;`r z(rt5^7c5{mbJwl!x|?|^!KIa648{Kz8lj&Ydm0dZZ0i@ZBgrg)nivd%frN+cQzjlS zM^{7}Pav0+d`&WLdopzH`3jBTZ^;`lvop>THW8@%Do!QhLUH#LZleWcn@x~bG=F}} z%AE#nPZ`=_ne&npCI(5A_Jm^{w_lN|%4c<>JIjJQ|C62s6Q(8~Q6@)$d0W~~c`-t# zBFlXy9a#Vm-F;J^^WOcLs)b~cfjxD(0ZGU&vfHEdey8o6QFVcvq!v(Tq5Kd6YPamF z;082s9Zs#DP}=7E(L{o&y?QFy{MK_*WHef_JtAi`xTGkWYEJt}Tb~X$ZoV%eS8_(s z)P=*!k+q)RJY%nm7%+vz=nDZv&R zCYxg3@S8yKxFie%OpZwKAg}v%`dQ2&7XOM2(Q>jzoUy4uyBw>~?PAS=hyA?X`Sx?j z-@uAvEF39hXuig42Tt}E%qUD$0po(PaF2a|3+K4K9JL|i(jpn-OejWvL_e+J8$`!Q zqJtaEr)5|pf&LEg`DGZ`5A0mLh_jQlDs0&hqNxyVEZnMrPt_nmD-*e=6MjM%r3YDM zlj)h4aeE?4;1kN){OEW~yS~hcUN0fPtUHN~>K~3{_BDH22fF+JTn_C$u<<*AKD&+B zP4oH%peRzPmD`UYbo3PzKk?x5MAfRwK8B(f(dR2$&!ZY_l(%22vQ}hEY1}pzb)Oru=nlf%+)vL#e1E&@ zaRH=4ubAQU)bh*}!N!)FA|-O@&8SUd&0)bs|uu%WF#^i`V>4-WUXzt zQ7i9fy}>2JYYN1lH=knuFa8H^*V4mMb&Z!afuIOjS=Whm11ZsEu~HxW+4-pAJp~n^ ziTI2D0fBdB>$)8+j)mHw2+rh;3j!>&On!Z8abs4mJ01fbCu zaxQM#QhiA-akpi0_rK#Bh=D5)zo$bgpwY`x>iZ`duicYWYZ|zVt7z%A-C0+i3vQ~M z4fvW@3TF_?OZNLx%yaaJ_|2v>Dax#npi4YT-n53+@d20|U3`Kj-07@lw9f%S#5*$V zTF}EC&Y~;r9W6dDbI?LF8jUgT`$K>1TYR@u{SSA#uy5W|lS{7Y4HW)L8%HrKx+~s2 z_*4LCAsY0G+zW$3)bxo7LZI04hq1wn#uZE)=veht6TXLqoHRNKM!hW9*~KAOU4(kw z&Ex=GI$pDqN)E1S$)7lUslud10%{7sNt%m&yE!*w47Sf|bJ<_k2krLKz;BR-*4)k0 zwxh+$N6QTmSw=+=xTSh#c$-V^x=H1yB_qVcV@Ct8Gxp@+f2#eU7W`cA{=7arUG%zk z_H{J3;oQDh$pfkxAyMy$)hnr~#{B8C9WvWVAH0?9JRORx*)G-*z;(|m#<-&t@E-cl zt7K^8VxprTntKx>wGXQs_9@SMUC`ND-OrdE2OJw8Anolxm1NI}WOJzJjg}mm;UVK7^u^#@iRg_(c+15z z>;1ED(~49b_|_xqr?S>0?gOr=WRz*+@Yf5aOM~g5H=WpMMc=%mD^oLf359yK{J9Dy zOIw-}MH(r&#n#+jV%y}C-3pP=7b@4;#alG{9w89GoVHk4k6$})K+7U9Ye{RHfHE5Adw5GN-`2X^&ThY+bicoF zuRd;N{Q2W~t-(=*(RaL}V=k&ZXNL(wLChiE>`05mdu&38!!<>G>a6TKxJd0@v3D|d zSF?iGeN|cQxs9ASq`ZAL?}yb&@UzO<*xAAD!BQ;_ne)06@O~}m2avlyn*8^EY;A^Z zQ{HS&1(x@2l;!g^Azy)qH z#Cf%=ij3mxxkD5SBnm+bOcP5RTV06`t5`%5ODoT#d-{{UO-neoAOqt23+KL#nM|1K@{GZ$fVm z@)!Q|XV5$)&XUJ_0t_LAau}ruw@$JUDXmE4a|Ci#c}EFk>2;1cx0_cFIx!FMxC^)# z_YvlK25Vuqnae(2ClpT+HH{7eBFM|8$D}5!j=9AbQ5Br0ij4A|CkHW+cCaVZEYha3 zH#E#}Ukg#bEO&A;<)h#>6t**th&)tfV5w*-(mSeAL2^yH)F?(sXFKgUm04~-l8V&bdQ~c9%l@8$HlD+--PKP)p`3Ny z{LpoPX)ltJF6107pZGB=DlcK(fn3?#yQhrpi0gj2aHY8^zV_r^Vd`apzTz0t;{UrI z(34Cn1{h%9dNUB}!{6GB3{6^G@wp+=|YW%!}y@TYAa$S`xMs;(1E0g zrh*(0qclXPnWy}gYyFgF^m6mHTc;>ah@o9s6fwNe_1tLmB`vNQc#A9xDvMGOoDW1d z43aoEE`%`m-=g@NWWrz5*Q~uRp)6ym3Th#Z=8&yzOo*4AU_&Qar{QI+T1$cE48C*m zC-t8TEpSOe`zRCVm#77hRsQ(U(wQq0jaG!h+msa6k`ePYcwdMs@9W)2uEP06rx17o*t0BMc62-mJ!7c>c z_@>%Jlt;jx0jR&%r$~)yvC1#6;35+0_FujV2;3jLFjX4B1|A3<6*+vbYgJ|-Q1rnp zQ`LHg=>k&f7*SH>3d6!OR$<=!c3ac)e^a7fZ(+p2L!(sY7=VmUcV0=ZQ)+p}zy3_A zrqT83*Z3I#pJNQb0QDdLzh?S9Z6wK~n?w`9O$!yuZ9xiQ2k!zV1J6<6D*V@W)otFr zgh)4{U23{SoyYMp11@; z^vpFnhs!#brW>Or?Pw}=X@C8s)9``VCp|bvCU*( zeCpcP%D0-q$XOmk&(!fO<(H(@@n^T}&kp2uGx}1~)Oy>--wQbot|{vLT1i2oGq196u^rAfz}p)&|w8r@EzBB#q1V$YD+7$^`%Q_$nMr_ zYS^b^Gp@KB*kx=|RK32UYax@Eu2zztT%oU;*azEX$+s3OQJ_Ml2umoOpn=Gw0x>WH z^TEVL`XUIW?S>KmXrQDsY2!PkO);L$`Oi{3qh+2kbm#Edtu1TV5@0GA6l8=!Y6)|g zG}5AICd))H)+f@8wPI*hxuweCfZnwF?Zr2Vrzdt#ZIKAYp$c^lFR z3Pk9#vvlsDD}vCt9?8`#ycF97W1}0Ddi;ZlA#166`|}BSL7&3v*WT`_Wgh|U3?v5C zGtE8^)N>j+Ww8{iM=;f!gbC`$Wr@~N(|ApEAC>A#gpE>hK6)RWl^T^;>o8^a)Su5< zLXYUcL;P}`x3U7~)CLWL=7Q+)XHmo4&Ece%`J4LDIt%g_0stiXLbwPVY(D8Y3O+%a zMK>jFGK+MQZ%#KH6r>cJ*<$)PUS28XOja1BttPaGO^`w5zuib*iDbfX`6Jfu`dLbn zK*fK&ls3m586=l4V{qm|iTX-kkQYD+s-sY}_6oLHO*G=QKoomRsk#?~W0@M!4_ios zN~SBEmyF9;CIJCCrxvU4pR~RsO(wzc(jv$z!*cH$P5%biZtmYD^4?Lg;^3Spwmn)O z#Qt$!xs{;&bxl1W2t`A|@ke@+J$%21!W zYfIZ@bvBgt^jRhL)0>4{DJfyPW~zaA-Q+#Tvfm%kq@meeew9e~1qpm?OevoSA%ge* z9Iq~-o0EJWq-fJ8aE_PflGg7eg$M>0MSBzhSEqOp2vG(cSEP%4d<7R)hnK}z6vwn%yrUe?_WRGV z(*No%i>8Wq1GF@+T`q%G;_fKHlxTlBek?>VlTfAa4zttRa1*!cczTawA2Bm^Xn5HG~IwRaHA3 z#a{86zoy$lumoq6XOX!b4G8=kWMm*eL%F$?X0qeHHknj`vtaj%sUOeo+Kt|P+E|YK6g3>W4jVrF62m`7gRoIm-{sf5;8UOEfbBSMaH~CRk zVwOm2PYVX?(8JJp9+Jo%nbmIv9hVBWans?edC2HZV>WLKr`KmGn(K>%+^z1IouAFE zpWAMI)7Ev}kR=w|V0}C3&C^7yQ9agi`54{6T^J_KSjH{HK#3vz8GUlP^x(QwfO0+dgYwshWW^+?m|cc z38ap}`w30DCDv(2`PzO~mZ`0;k4cbS{-9Q=@XgTa_2!J~WaQBp#K=%fgE!&1Nq z8(5(dgt1{CV9Zm_SDbbokG|i^6;!gt70)C4tpjc!jidz9q9|O)9k5#JLW@)$%mu0t zt3ywA3&HIZF|_bQE32`#cG{7uljLe}&Jsdkvs286vz@0|;-3WHx0*XA2u+5F)XghO zMCsT$#u%(jm3W#N#_Jf~z??zi%~$Kyg{U~CJrbh=6=WvsXz(LdrM-Q z2@Ir>KX0#(<2r0O56D1Q^6~O`v*wdAzzeS@myT~NVb2dL(EozOW2n78^-SR~fEftK zSckj@SeH_?npyqED$6yV>3P2+7rNO>Wqfj~L2hS=3$6$o9Xn9AIg^w?kh*IPk^VA> zyO^RgV62XzeV&4}oGNf3VJ!rz?8or!#g*~xz^&y-U`5pR$M>yQPRacW1hD;t+VAYW zHWIs}$~eiB-(d;GG5C*^GF#Ujz80`W3v-F#)6tB@#)L(BK{tTfYO{n8`rmZ>AM<5b z{6>1C=m;1L>iw{YuWD$DazcqO_5D3t!{nZ1u9IT!U(*5h&n9X?Nz(bx(P`uu(plo2 zI+Rs{_8Vx5m$qMPMt2{#dybAm3!)!~48Ti;vGe+N3AOozmTt|U;H6JM-bcq?gpx%U zciIC)A(NpEM1QdpU8hR0mL^H`e_htQe$OKI{!)4uk@p2?z8Z^$wm(d(t_)Tf&)XPJ zNN_{NW-**mZ@-S`;-4TLud^uW+G;W;3k%b>q$c`XSEbFg;kc5fx&08_@e-$WUMbE|?m8C%%!vw)6dzA3=S9JF_xS@Axs*z6YU#V9T9K7ndk+=_B_@S*-5FPs))!>P>+rwGfnhwm(JVgg zcghHoRMBM0y%&}THF)f9mC9okFs#{^Ihe6}Kx7q#iyVRlMY-3;)m1v0vcX}Z=IrQg z5EETJeMPYmWegO7oZ_-!YCZ_MKJ$^WtE0&o-A34SjzJ~Jr$H@Ux} zv7f(EnTniKJFsYR^ngzI>sVG1N4)#Q^W6u{bKz206vQwa9&j>N!H337B3>K=w;Rk zC$2cqn`*)D3D|XhX~Ec z)&>*xm-_7r<`rLs$EI2)aOQfExjoL|!>Q{m>lbGX%EMUU8WBaIUh=Ds-KEB><^mDD zNS^%pO~9l6TO`y5Y<>ibD|_x7D+XTN?$iZ@BXr!p1@Y%pbNAKB@3ye|nnE=b*)g(K zX$03u;Xe^X;M6E0k(4ndXG@4*u>Eq4`*Bd=6!U3SSVbPBedmc>vPLSmms0lXk0;`t z$?ewTp&FW#ri$OgtpRQ!Xy?$c=bH^tPkMd^+e$mS@W!NLqs?IO4dRXYvXr30g|HWd z&VaBP{nsL)uVJtg04yQn5*j_2IER8<;}Ga53rtH$qT4;Q)V`HlR`&mZBsUW*=?f%D zbOo36YG*O+?r^GmyW_*vANaud@xeXiy~9L@ulYFMA{D>OBe$*Lzy*&EC#UQeKi;6M(L*dma^mt*EQ3;2 zXu_?V?1R%J9#`cV4c8!?^a_xFVC5qDk3;z=(}*v!ymls%m5d(N0sdxH$R7hr_cO~i zPEBk>EI;;e3Y+e>)KE#$a$Ur~N=37A06yulM9(LaTA-^?ezyo1lkz~@4J72IvRw-+ z4#J$Pw*E)+wb!`V;V*mEH;6klq&RGgEAQ-ddNQ}%8n?*lPxgfP2LEPyO9GAKaJ#$| z=F@-9ft~VIT4wNeN3+#-_IaGUg73cA7V>(31zzRc&uOuhTE$UMC0gfS;}r&gEntlc zT-!j4Q~sQAT#NhEb7Wz-u}XGBkA!VZEZh*cD*lvZbhF~K0xd#!BOtmzHR1uN3B8x^ z$GJdSOZr>ZH48PWGH1O#7<7>g)m390L=tfffYDex3Gbf{X!RmuVgA67+mJCy_~$Kh zs{f*2yUSlVR}(N2-}8!3yH4We1#s)YLTv#aH-LXfjn798@VsMBffcg~g<`IXsM0Y+ z<8h++uP>SBhP9PChNtuIhHWsCAU(tv4pPt<H_mt)RBK-5bxnwqpw;UfzE${^6catdcbQGMdrY ze=&%#kK`$m9RfOtO&?mNjL@49OpMovN2}o&8ESv_ZfwXHP-OIJ0EDdeQNXKJs{J*| z(n6?(Caf9yp(ok{VWdKXq`{v{1BQtKvP=dJ31>O`LdQ5l@Vjss>YO|M^sh6Aq0COD zi&`FSMoa8I ztqR1+GR1$OgCF?^I**8RJOkJPh@Dr45BMQYc?!n)zgClNYSZ161B~~|$74XoTub_~OK#_NQ?9PoaOBGyUcfS!joG``yumfsmp@?@vVb3QXhE?fl#h<5OfLMH3;b~WW zCVt^yv*oL=qvLKNElc;x*n$ygR?^#Vp2?VsaD_{pnLz}7wN5zsb^vyk_oVNM=m znzoRcb-DZ1P42q(JO3;&CF`mYS0+xBgtc2;>>X?Q8m{;D{tuISOt``{I2?4}2B>UXB+HS+BeS1liJ%1;PWDsUX( z*^tHTKn)2(Y0(>qLke?tNSA?ctS9%^i#Lc>=hCu`16U||rG>89BPK&H{Sbja4^92= z@UM;hynGr8Pg$0W)$Dk)Z2xLneoIXB!2ORi@l*cAvv$+8r$JsNtui`WIKn->>ha$W z(D&9@*V`eo{vYJTzW2a)n_t(FiI?LIutv(7mexla1jZe+aA< zHcKORr9ay;bG{(S(C&E$_s^LS3@+;)LFV%8RF^H?W{OJ9(}J0WoCgi>0YFqffb+G> zQ~@D+DPdI&dnBZcbQq4ch-GeIVbsrq19Y;Ad)SlwqKrI5Obl|<3RAI;@Fel%@4e!* z7SKXKJ0n2)CSq0(`i;4(mRKvFXxrQx-H?cIK3b%#vZ^7($d^lJLwQ1eDGa_~9K6!R zl-qCInb-OP%ndG@OhH43PgcIqUt{vypW8ogVi3-BJoJZ2!`hN3USXc z3*WD+Tn|D@P~pZ<5K%J({qI|_z7n>&i>cg55#@y62#6}Kr_ob?W@7qPJG}D=g&s_W zrlPk-c3kHTaeqmYph87{!z>iHRKY=Zqz(EG6(woeJC5CWtQjdAuB1*G8cr94vjraQ znN*9;x3>$t-UGe@h&t~0z>yrIQZ7~6oqo8gGabpv`2{kee?qy03&zdyh@DAsOscds`Q$f{n3&yMImARgt#0SUu9+mh%WXt8ykWu_~ zthD7WYtzwljYbUj)XkHZw5shR}P=q-8;*Iwd4}KH5?N(Czp1L4@)74?|y&_@x+7#R*k|WnZBkiNrBZOhpk# z2`B6G9vr6Fa3|o0(C0^WeKbK2MA8n7OhU^yt4-d_MoOvyFlg=Yz-hgPe`Hr8_dg-y zV$LvsqbRG+t$54d)yXRY(f#LJ&f(1uF|m#Mu|KzCFtHs^OFd0<8s%Ug5j}Nfd9Ilp`M~u>`>*er;dWLj!|g&kbu6^c3phMc}R#th9vvjV4KSjh0PSXg_+VQ_&K$lfQ{zv6tw!a7s`~&IuKdrY(D*yf+zxle= zgVpr(5?U}f*>w2xI<@O|(t$t;cVZs_u=7;p0^NQ%B4=4a_1#UV@tV{V z%~g_x0K*kBizMvmf3)vBN%cQ|A6^l3JL>O#9GO~$PQQDQV!jFLeqpl}n!fV8B2)1q zY*i?@(p9K@mSmV%?DA=1-#%Qg@LkM8ardx@|p^WT3d*zJ$Y*T73DgS9&Pt`p+@% z4>7+of-8h{(UtD!eDAZv4d0(QF8>RhtA5ew!(#&TIHr)JEq+aBTAn$83zRO zp6Lb1nyF9e&IN1bnFQ03wfcXbD8%FNOh7RjxpQw__bPUvqT$%0D4C8y{|h}j|2eH2 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 Iu*IAI0u+`2ApigX literal 163676 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�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