[READ-ONLY] Mirror of https://github.com/probablykasper/k5kit. Utilities for TypeScript and Svelte
0

Configure Feed

Select the types of activity you want to include in your feed.

Add utils

Kasper (Jun 26, 2025, 7:23 AM +0200) 073cbd6d bb07fd2c

+4364 -3524
+1 -1
README.md
··· 1 1 # KUtils 2 2 3 - Fast, tiny virtual grid 3 + Utilities for TypeScript and Svelte
+3531 -3520
package-lock.json
··· 1 1 { 2 - "name": "kutils", 3 - "version": "0.0.1", 4 - "lockfileVersion": 3, 5 - "requires": true, 6 - "packages": { 7 - "": { 8 - "name": "kutils", 9 - "version": "0.0.1", 10 - "workspaces": [ 11 - "kgrid" 12 - ], 13 - "devDependencies": { 14 - "@sveltejs/adapter-auto": "^6.0.1", 15 - "@sveltejs/kit": "^2.22.0", 16 - "@sveltejs/package": "^2.3.11", 17 - "@sveltejs/vite-plugin-svelte": "^5.1.0", 18 - "eslint": "^9.29.0", 19 - "eslint-config-prettier": "^10.1.5", 20 - "eslint-plugin-svelte": "^3.9.3", 21 - "prettier": "^3.6.1", 22 - "prettier-plugin-svelte": "^3.4.0", 23 - "publint": "^0.3.12", 24 - "svelte": "^5.34.8", 25 - "svelte-check": "^4.2.2", 26 - "typescript": "^5.8.3", 27 - "typescript-eslint": "^8.35.0", 28 - "vite": "^6.3.5" 29 - }, 30 - "peerDependencies": { 31 - "svelte": "^5.0.0" 32 - } 33 - }, 34 - "kgrid": { 35 - "version": "1.0.0", 36 - "license": "ISC", 37 - "devDependencies": {} 38 - }, 39 - "node_modules/@ampproject/remapping": { 40 - "version": "2.3.0", 41 - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", 42 - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", 43 - "dev": true, 44 - "license": "Apache-2.0", 45 - "dependencies": { 46 - "@jridgewell/gen-mapping": "^0.3.5", 47 - "@jridgewell/trace-mapping": "^0.3.24" 48 - }, 49 - "engines": { 50 - "node": ">=6.0.0" 51 - } 52 - }, 53 - "node_modules/@esbuild/aix-ppc64": { 54 - "version": "0.25.5", 55 - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", 56 - "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", 57 - "cpu": [ 58 - "ppc64" 59 - ], 60 - "dev": true, 61 - "license": "MIT", 62 - "optional": true, 63 - "os": [ 64 - "aix" 65 - ], 66 - "engines": { 67 - "node": ">=18" 68 - } 69 - }, 70 - "node_modules/@esbuild/android-arm": { 71 - "version": "0.25.5", 72 - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz", 73 - "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", 74 - "cpu": [ 75 - "arm" 76 - ], 77 - "dev": true, 78 - "license": "MIT", 79 - "optional": true, 80 - "os": [ 81 - "android" 82 - ], 83 - "engines": { 84 - "node": ">=18" 85 - } 86 - }, 87 - "node_modules/@esbuild/android-arm64": { 88 - "version": "0.25.5", 89 - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", 90 - "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", 91 - "cpu": [ 92 - "arm64" 93 - ], 94 - "dev": true, 95 - "license": "MIT", 96 - "optional": true, 97 - "os": [ 98 - "android" 99 - ], 100 - "engines": { 101 - "node": ">=18" 102 - } 103 - }, 104 - "node_modules/@esbuild/android-x64": { 105 - "version": "0.25.5", 106 - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz", 107 - "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", 108 - "cpu": [ 109 - "x64" 110 - ], 111 - "dev": true, 112 - "license": "MIT", 113 - "optional": true, 114 - "os": [ 115 - "android" 116 - ], 117 - "engines": { 118 - "node": ">=18" 119 - } 120 - }, 121 - "node_modules/@esbuild/darwin-arm64": { 122 - "version": "0.25.5", 123 - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", 124 - "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", 125 - "cpu": [ 126 - "arm64" 127 - ], 128 - "dev": true, 129 - "license": "MIT", 130 - "optional": true, 131 - "os": [ 132 - "darwin" 133 - ], 134 - "engines": { 135 - "node": ">=18" 136 - } 137 - }, 138 - "node_modules/@esbuild/darwin-x64": { 139 - "version": "0.25.5", 140 - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz", 141 - "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==", 142 - "cpu": [ 143 - "x64" 144 - ], 145 - "dev": true, 146 - "license": "MIT", 147 - "optional": true, 148 - "os": [ 149 - "darwin" 150 - ], 151 - "engines": { 152 - "node": ">=18" 153 - } 154 - }, 155 - "node_modules/@esbuild/freebsd-arm64": { 156 - "version": "0.25.5", 157 - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz", 158 - "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==", 159 - "cpu": [ 160 - "arm64" 161 - ], 162 - "dev": true, 163 - "license": "MIT", 164 - "optional": true, 165 - "os": [ 166 - "freebsd" 167 - ], 168 - "engines": { 169 - "node": ">=18" 170 - } 171 - }, 172 - "node_modules/@esbuild/freebsd-x64": { 173 - "version": "0.25.5", 174 - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz", 175 - "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==", 176 - "cpu": [ 177 - "x64" 178 - ], 179 - "dev": true, 180 - "license": "MIT", 181 - "optional": true, 182 - "os": [ 183 - "freebsd" 184 - ], 185 - "engines": { 186 - "node": ">=18" 187 - } 188 - }, 189 - "node_modules/@esbuild/linux-arm": { 190 - "version": "0.25.5", 191 - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz", 192 - "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==", 193 - "cpu": [ 194 - "arm" 195 - ], 196 - "dev": true, 197 - "license": "MIT", 198 - "optional": true, 199 - "os": [ 200 - "linux" 201 - ], 202 - "engines": { 203 - "node": ">=18" 204 - } 205 - }, 206 - "node_modules/@esbuild/linux-arm64": { 207 - "version": "0.25.5", 208 - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz", 209 - "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==", 210 - "cpu": [ 211 - "arm64" 212 - ], 213 - "dev": true, 214 - "license": "MIT", 215 - "optional": true, 216 - "os": [ 217 - "linux" 218 - ], 219 - "engines": { 220 - "node": ">=18" 221 - } 222 - }, 223 - "node_modules/@esbuild/linux-ia32": { 224 - "version": "0.25.5", 225 - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz", 226 - "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==", 227 - "cpu": [ 228 - "ia32" 229 - ], 230 - "dev": true, 231 - "license": "MIT", 232 - "optional": true, 233 - "os": [ 234 - "linux" 235 - ], 236 - "engines": { 237 - "node": ">=18" 238 - } 239 - }, 240 - "node_modules/@esbuild/linux-loong64": { 241 - "version": "0.25.5", 242 - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz", 243 - "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==", 244 - "cpu": [ 245 - "loong64" 246 - ], 247 - "dev": true, 248 - "license": "MIT", 249 - "optional": true, 250 - "os": [ 251 - "linux" 252 - ], 253 - "engines": { 254 - "node": ">=18" 255 - } 256 - }, 257 - "node_modules/@esbuild/linux-mips64el": { 258 - "version": "0.25.5", 259 - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz", 260 - "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==", 261 - "cpu": [ 262 - "mips64el" 263 - ], 264 - "dev": true, 265 - "license": "MIT", 266 - "optional": true, 267 - "os": [ 268 - "linux" 269 - ], 270 - "engines": { 271 - "node": ">=18" 272 - } 273 - }, 274 - "node_modules/@esbuild/linux-ppc64": { 275 - "version": "0.25.5", 276 - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz", 277 - "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==", 278 - "cpu": [ 279 - "ppc64" 280 - ], 281 - "dev": true, 282 - "license": "MIT", 283 - "optional": true, 284 - "os": [ 285 - "linux" 286 - ], 287 - "engines": { 288 - "node": ">=18" 289 - } 290 - }, 291 - "node_modules/@esbuild/linux-riscv64": { 292 - "version": "0.25.5", 293 - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz", 294 - "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==", 295 - "cpu": [ 296 - "riscv64" 297 - ], 298 - "dev": true, 299 - "license": "MIT", 300 - "optional": true, 301 - "os": [ 302 - "linux" 303 - ], 304 - "engines": { 305 - "node": ">=18" 306 - } 307 - }, 308 - "node_modules/@esbuild/linux-s390x": { 309 - "version": "0.25.5", 310 - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz", 311 - "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==", 312 - "cpu": [ 313 - "s390x" 314 - ], 315 - "dev": true, 316 - "license": "MIT", 317 - "optional": true, 318 - "os": [ 319 - "linux" 320 - ], 321 - "engines": { 322 - "node": ">=18" 323 - } 324 - }, 325 - "node_modules/@esbuild/linux-x64": { 326 - "version": "0.25.5", 327 - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz", 328 - "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==", 329 - "cpu": [ 330 - "x64" 331 - ], 332 - "dev": true, 333 - "license": "MIT", 334 - "optional": true, 335 - "os": [ 336 - "linux" 337 - ], 338 - "engines": { 339 - "node": ">=18" 340 - } 341 - }, 342 - "node_modules/@esbuild/netbsd-arm64": { 343 - "version": "0.25.5", 344 - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz", 345 - "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==", 346 - "cpu": [ 347 - "arm64" 348 - ], 349 - "dev": true, 350 - "license": "MIT", 351 - "optional": true, 352 - "os": [ 353 - "netbsd" 354 - ], 355 - "engines": { 356 - "node": ">=18" 357 - } 358 - }, 359 - "node_modules/@esbuild/netbsd-x64": { 360 - "version": "0.25.5", 361 - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz", 362 - "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==", 363 - "cpu": [ 364 - "x64" 365 - ], 366 - "dev": true, 367 - "license": "MIT", 368 - "optional": true, 369 - "os": [ 370 - "netbsd" 371 - ], 372 - "engines": { 373 - "node": ">=18" 374 - } 375 - }, 376 - "node_modules/@esbuild/openbsd-arm64": { 377 - "version": "0.25.5", 378 - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz", 379 - "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==", 380 - "cpu": [ 381 - "arm64" 382 - ], 383 - "dev": true, 384 - "license": "MIT", 385 - "optional": true, 386 - "os": [ 387 - "openbsd" 388 - ], 389 - "engines": { 390 - "node": ">=18" 391 - } 392 - }, 393 - "node_modules/@esbuild/openbsd-x64": { 394 - "version": "0.25.5", 395 - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz", 396 - "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==", 397 - "cpu": [ 398 - "x64" 399 - ], 400 - "dev": true, 401 - "license": "MIT", 402 - "optional": true, 403 - "os": [ 404 - "openbsd" 405 - ], 406 - "engines": { 407 - "node": ">=18" 408 - } 409 - }, 410 - "node_modules/@esbuild/sunos-x64": { 411 - "version": "0.25.5", 412 - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz", 413 - "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==", 414 - "cpu": [ 415 - "x64" 416 - ], 417 - "dev": true, 418 - "license": "MIT", 419 - "optional": true, 420 - "os": [ 421 - "sunos" 422 - ], 423 - "engines": { 424 - "node": ">=18" 425 - } 426 - }, 427 - "node_modules/@esbuild/win32-arm64": { 428 - "version": "0.25.5", 429 - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz", 430 - "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==", 431 - "cpu": [ 432 - "arm64" 433 - ], 434 - "dev": true, 435 - "license": "MIT", 436 - "optional": true, 437 - "os": [ 438 - "win32" 439 - ], 440 - "engines": { 441 - "node": ">=18" 442 - } 443 - }, 444 - "node_modules/@esbuild/win32-ia32": { 445 - "version": "0.25.5", 446 - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz", 447 - "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==", 448 - "cpu": [ 449 - "ia32" 450 - ], 451 - "dev": true, 452 - "license": "MIT", 453 - "optional": true, 454 - "os": [ 455 - "win32" 456 - ], 457 - "engines": { 458 - "node": ">=18" 459 - } 460 - }, 461 - "node_modules/@esbuild/win32-x64": { 462 - "version": "0.25.5", 463 - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz", 464 - "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==", 465 - "cpu": [ 466 - "x64" 467 - ], 468 - "dev": true, 469 - "license": "MIT", 470 - "optional": true, 471 - "os": [ 472 - "win32" 473 - ], 474 - "engines": { 475 - "node": ">=18" 476 - } 477 - }, 478 - "node_modules/@eslint-community/eslint-utils": { 479 - "version": "4.7.0", 480 - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", 481 - "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", 482 - "dev": true, 483 - "license": "MIT", 484 - "dependencies": { 485 - "eslint-visitor-keys": "^3.4.3" 486 - }, 487 - "engines": { 488 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 489 - }, 490 - "funding": { 491 - "url": "https://opencollective.com/eslint" 492 - }, 493 - "peerDependencies": { 494 - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" 495 - } 496 - }, 497 - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { 498 - "version": "3.4.3", 499 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 500 - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 501 - "dev": true, 502 - "license": "Apache-2.0", 503 - "engines": { 504 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 505 - }, 506 - "funding": { 507 - "url": "https://opencollective.com/eslint" 508 - } 509 - }, 510 - "node_modules/@eslint-community/regexpp": { 511 - "version": "4.12.1", 512 - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", 513 - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", 514 - "dev": true, 515 - "license": "MIT", 516 - "engines": { 517 - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 518 - } 519 - }, 520 - "node_modules/@eslint/config-array": { 521 - "version": "0.20.1", 522 - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.1.tgz", 523 - "integrity": "sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==", 524 - "dev": true, 525 - "license": "Apache-2.0", 526 - "dependencies": { 527 - "@eslint/object-schema": "^2.1.6", 528 - "debug": "^4.3.1", 529 - "minimatch": "^3.1.2" 530 - }, 531 - "engines": { 532 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 533 - } 534 - }, 535 - "node_modules/@eslint/config-helpers": { 536 - "version": "0.2.3", 537 - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.3.tgz", 538 - "integrity": "sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==", 539 - "dev": true, 540 - "license": "Apache-2.0", 541 - "engines": { 542 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 543 - } 544 - }, 545 - "node_modules/@eslint/core": { 546 - "version": "0.14.0", 547 - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", 548 - "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", 549 - "dev": true, 550 - "license": "Apache-2.0", 551 - "dependencies": { 552 - "@types/json-schema": "^7.0.15" 553 - }, 554 - "engines": { 555 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 556 - } 557 - }, 558 - "node_modules/@eslint/eslintrc": { 559 - "version": "3.3.1", 560 - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", 561 - "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", 562 - "dev": true, 563 - "license": "MIT", 564 - "dependencies": { 565 - "ajv": "^6.12.4", 566 - "debug": "^4.3.2", 567 - "espree": "^10.0.1", 568 - "globals": "^14.0.0", 569 - "ignore": "^5.2.0", 570 - "import-fresh": "^3.2.1", 571 - "js-yaml": "^4.1.0", 572 - "minimatch": "^3.1.2", 573 - "strip-json-comments": "^3.1.1" 574 - }, 575 - "engines": { 576 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 577 - }, 578 - "funding": { 579 - "url": "https://opencollective.com/eslint" 580 - } 581 - }, 582 - "node_modules/@eslint/js": { 583 - "version": "9.29.0", 584 - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.29.0.tgz", 585 - "integrity": "sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==", 586 - "dev": true, 587 - "license": "MIT", 588 - "engines": { 589 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 590 - }, 591 - "funding": { 592 - "url": "https://eslint.org/donate" 593 - } 594 - }, 595 - "node_modules/@eslint/object-schema": { 596 - "version": "2.1.6", 597 - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", 598 - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", 599 - "dev": true, 600 - "license": "Apache-2.0", 601 - "engines": { 602 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 603 - } 604 - }, 605 - "node_modules/@eslint/plugin-kit": { 606 - "version": "0.3.3", 607 - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.3.tgz", 608 - "integrity": "sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==", 609 - "dev": true, 610 - "license": "Apache-2.0", 611 - "dependencies": { 612 - "@eslint/core": "^0.15.1", 613 - "levn": "^0.4.1" 614 - }, 615 - "engines": { 616 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 617 - } 618 - }, 619 - "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { 620 - "version": "0.15.1", 621 - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.1.tgz", 622 - "integrity": "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==", 623 - "dev": true, 624 - "license": "Apache-2.0", 625 - "dependencies": { 626 - "@types/json-schema": "^7.0.15" 627 - }, 628 - "engines": { 629 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 630 - } 631 - }, 632 - "node_modules/@humanfs/core": { 633 - "version": "0.19.1", 634 - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", 635 - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", 636 - "dev": true, 637 - "license": "Apache-2.0", 638 - "engines": { 639 - "node": ">=18.18.0" 640 - } 641 - }, 642 - "node_modules/@humanfs/node": { 643 - "version": "0.16.6", 644 - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", 645 - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", 646 - "dev": true, 647 - "license": "Apache-2.0", 648 - "dependencies": { 649 - "@humanfs/core": "^0.19.1", 650 - "@humanwhocodes/retry": "^0.3.0" 651 - }, 652 - "engines": { 653 - "node": ">=18.18.0" 654 - } 655 - }, 656 - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { 657 - "version": "0.3.1", 658 - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", 659 - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", 660 - "dev": true, 661 - "license": "Apache-2.0", 662 - "engines": { 663 - "node": ">=18.18" 664 - }, 665 - "funding": { 666 - "type": "github", 667 - "url": "https://github.com/sponsors/nzakas" 668 - } 669 - }, 670 - "node_modules/@humanwhocodes/module-importer": { 671 - "version": "1.0.1", 672 - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 673 - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 674 - "dev": true, 675 - "license": "Apache-2.0", 676 - "engines": { 677 - "node": ">=12.22" 678 - }, 679 - "funding": { 680 - "type": "github", 681 - "url": "https://github.com/sponsors/nzakas" 682 - } 683 - }, 684 - "node_modules/@humanwhocodes/retry": { 685 - "version": "0.4.3", 686 - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", 687 - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", 688 - "dev": true, 689 - "license": "Apache-2.0", 690 - "engines": { 691 - "node": ">=18.18" 692 - }, 693 - "funding": { 694 - "type": "github", 695 - "url": "https://github.com/sponsors/nzakas" 696 - } 697 - }, 698 - "node_modules/@jridgewell/gen-mapping": { 699 - "version": "0.3.8", 700 - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", 701 - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", 702 - "dev": true, 703 - "license": "MIT", 704 - "dependencies": { 705 - "@jridgewell/set-array": "^1.2.1", 706 - "@jridgewell/sourcemap-codec": "^1.4.10", 707 - "@jridgewell/trace-mapping": "^0.3.24" 708 - }, 709 - "engines": { 710 - "node": ">=6.0.0" 711 - } 712 - }, 713 - "node_modules/@jridgewell/resolve-uri": { 714 - "version": "3.1.2", 715 - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 716 - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 717 - "dev": true, 718 - "license": "MIT", 719 - "engines": { 720 - "node": ">=6.0.0" 721 - } 722 - }, 723 - "node_modules/@jridgewell/set-array": { 724 - "version": "1.2.1", 725 - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 726 - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 727 - "dev": true, 728 - "license": "MIT", 729 - "engines": { 730 - "node": ">=6.0.0" 731 - } 732 - }, 733 - "node_modules/@jridgewell/sourcemap-codec": { 734 - "version": "1.5.0", 735 - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 736 - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", 737 - "dev": true, 738 - "license": "MIT" 739 - }, 740 - "node_modules/@jridgewell/trace-mapping": { 741 - "version": "0.3.25", 742 - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 743 - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 744 - "dev": true, 745 - "license": "MIT", 746 - "dependencies": { 747 - "@jridgewell/resolve-uri": "^3.1.0", 748 - "@jridgewell/sourcemap-codec": "^1.4.14" 749 - } 750 - }, 751 - "node_modules/@nodelib/fs.scandir": { 752 - "version": "2.1.5", 753 - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 754 - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 755 - "dev": true, 756 - "license": "MIT", 757 - "dependencies": { 758 - "@nodelib/fs.stat": "2.0.5", 759 - "run-parallel": "^1.1.9" 760 - }, 761 - "engines": { 762 - "node": ">= 8" 763 - } 764 - }, 765 - "node_modules/@nodelib/fs.stat": { 766 - "version": "2.0.5", 767 - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 768 - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 769 - "dev": true, 770 - "license": "MIT", 771 - "engines": { 772 - "node": ">= 8" 773 - } 774 - }, 775 - "node_modules/@nodelib/fs.walk": { 776 - "version": "1.2.8", 777 - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 778 - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 779 - "dev": true, 780 - "license": "MIT", 781 - "dependencies": { 782 - "@nodelib/fs.scandir": "2.1.5", 783 - "fastq": "^1.6.0" 784 - }, 785 - "engines": { 786 - "node": ">= 8" 787 - } 788 - }, 789 - "node_modules/@polka/url": { 790 - "version": "1.0.0-next.29", 791 - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", 792 - "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", 793 - "dev": true, 794 - "license": "MIT" 795 - }, 796 - "node_modules/@publint/pack": { 797 - "version": "0.1.2", 798 - "resolved": "https://registry.npmjs.org/@publint/pack/-/pack-0.1.2.tgz", 799 - "integrity": "sha512-S+9ANAvUmjutrshV4jZjaiG8XQyuJIZ8a4utWmN/vW1sgQ9IfBnPndwkmQYw53QmouOIytT874u65HEmu6H5jw==", 800 - "dev": true, 801 - "license": "MIT", 802 - "engines": { 803 - "node": ">=18" 804 - }, 805 - "funding": { 806 - "url": "https://bjornlu.com/sponsor" 807 - } 808 - }, 809 - "node_modules/@rollup/rollup-android-arm-eabi": { 810 - "version": "4.44.0", 811 - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.0.tgz", 812 - "integrity": "sha512-xEiEE5oDW6tK4jXCAyliuntGR+amEMO7HLtdSshVuhFnKTYoeYMyXQK7pLouAJJj5KHdwdn87bfHAR2nSdNAUA==", 813 - "cpu": [ 814 - "arm" 815 - ], 816 - "dev": true, 817 - "license": "MIT", 818 - "optional": true, 819 - "os": [ 820 - "android" 821 - ] 822 - }, 823 - "node_modules/@rollup/rollup-android-arm64": { 824 - "version": "4.44.0", 825 - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.0.tgz", 826 - "integrity": "sha512-uNSk/TgvMbskcHxXYHzqwiyBlJ/lGcv8DaUfcnNwict8ba9GTTNxfn3/FAoFZYgkaXXAdrAA+SLyKplyi349Jw==", 827 - "cpu": [ 828 - "arm64" 829 - ], 830 - "dev": true, 831 - "license": "MIT", 832 - "optional": true, 833 - "os": [ 834 - "android" 835 - ] 836 - }, 837 - "node_modules/@rollup/rollup-darwin-arm64": { 838 - "version": "4.44.0", 839 - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.0.tgz", 840 - "integrity": "sha512-VGF3wy0Eq1gcEIkSCr8Ke03CWT+Pm2yveKLaDvq51pPpZza3JX/ClxXOCmTYYq3us5MvEuNRTaeyFThCKRQhOA==", 841 - "cpu": [ 842 - "arm64" 843 - ], 844 - "dev": true, 845 - "license": "MIT", 846 - "optional": true, 847 - "os": [ 848 - "darwin" 849 - ] 850 - }, 851 - "node_modules/@rollup/rollup-darwin-x64": { 852 - "version": "4.44.0", 853 - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.0.tgz", 854 - "integrity": "sha512-fBkyrDhwquRvrTxSGH/qqt3/T0w5Rg0L7ZIDypvBPc1/gzjJle6acCpZ36blwuwcKD/u6oCE/sRWlUAcxLWQbQ==", 855 - "cpu": [ 856 - "x64" 857 - ], 858 - "dev": true, 859 - "license": "MIT", 860 - "optional": true, 861 - "os": [ 862 - "darwin" 863 - ] 864 - }, 865 - "node_modules/@rollup/rollup-freebsd-arm64": { 866 - "version": "4.44.0", 867 - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.0.tgz", 868 - "integrity": "sha512-u5AZzdQJYJXByB8giQ+r4VyfZP+walV+xHWdaFx/1VxsOn6eWJhK2Vl2eElvDJFKQBo/hcYIBg/jaKS8ZmKeNQ==", 869 - "cpu": [ 870 - "arm64" 871 - ], 872 - "dev": true, 873 - "license": "MIT", 874 - "optional": true, 875 - "os": [ 876 - "freebsd" 877 - ] 878 - }, 879 - "node_modules/@rollup/rollup-freebsd-x64": { 880 - "version": "4.44.0", 881 - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.0.tgz", 882 - "integrity": "sha512-qC0kS48c/s3EtdArkimctY7h3nHicQeEUdjJzYVJYR3ct3kWSafmn6jkNCA8InbUdge6PVx6keqjk5lVGJf99g==", 883 - "cpu": [ 884 - "x64" 885 - ], 886 - "dev": true, 887 - "license": "MIT", 888 - "optional": true, 889 - "os": [ 890 - "freebsd" 891 - ] 892 - }, 893 - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { 894 - "version": "4.44.0", 895 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.0.tgz", 896 - "integrity": "sha512-x+e/Z9H0RAWckn4V2OZZl6EmV0L2diuX3QB0uM1r6BvhUIv6xBPL5mrAX2E3e8N8rEHVPwFfz/ETUbV4oW9+lQ==", 897 - "cpu": [ 898 - "arm" 899 - ], 900 - "dev": true, 901 - "license": "MIT", 902 - "optional": true, 903 - "os": [ 904 - "linux" 905 - ] 906 - }, 907 - "node_modules/@rollup/rollup-linux-arm-musleabihf": { 908 - "version": "4.44.0", 909 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.0.tgz", 910 - "integrity": "sha512-1exwiBFf4PU/8HvI8s80icyCcnAIB86MCBdst51fwFmH5dyeoWVPVgmQPcKrMtBQ0W5pAs7jBCWuRXgEpRzSCg==", 911 - "cpu": [ 912 - "arm" 913 - ], 914 - "dev": true, 915 - "license": "MIT", 916 - "optional": true, 917 - "os": [ 918 - "linux" 919 - ] 920 - }, 921 - "node_modules/@rollup/rollup-linux-arm64-gnu": { 922 - "version": "4.44.0", 923 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.0.tgz", 924 - "integrity": "sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ==", 925 - "cpu": [ 926 - "arm64" 927 - ], 928 - "dev": true, 929 - "license": "MIT", 930 - "optional": true, 931 - "os": [ 932 - "linux" 933 - ] 934 - }, 935 - "node_modules/@rollup/rollup-linux-arm64-musl": { 936 - "version": "4.44.0", 937 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.0.tgz", 938 - "integrity": "sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q==", 939 - "cpu": [ 940 - "arm64" 941 - ], 942 - "dev": true, 943 - "license": "MIT", 944 - "optional": true, 945 - "os": [ 946 - "linux" 947 - ] 948 - }, 949 - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { 950 - "version": "4.44.0", 951 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.0.tgz", 952 - "integrity": "sha512-xw+FTGcov/ejdusVOqKgMGW3c4+AgqrfvzWEVXcNP6zq2ue+lsYUgJ+5Rtn/OTJf7e2CbgTFvzLW2j0YAtj0Gg==", 953 - "cpu": [ 954 - "loong64" 955 - ], 956 - "dev": true, 957 - "license": "MIT", 958 - "optional": true, 959 - "os": [ 960 - "linux" 961 - ] 962 - }, 963 - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { 964 - "version": "4.44.0", 965 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.0.tgz", 966 - "integrity": "sha512-bKGibTr9IdF0zr21kMvkZT4K6NV+jjRnBoVMt2uNMG0BYWm3qOVmYnXKzx7UhwrviKnmK46IKMByMgvpdQlyJQ==", 967 - "cpu": [ 968 - "ppc64" 969 - ], 970 - "dev": true, 971 - "license": "MIT", 972 - "optional": true, 973 - "os": [ 974 - "linux" 975 - ] 976 - }, 977 - "node_modules/@rollup/rollup-linux-riscv64-gnu": { 978 - "version": "4.44.0", 979 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.0.tgz", 980 - "integrity": "sha512-vV3cL48U5kDaKZtXrti12YRa7TyxgKAIDoYdqSIOMOFBXqFj2XbChHAtXquEn2+n78ciFgr4KIqEbydEGPxXgA==", 981 - "cpu": [ 982 - "riscv64" 983 - ], 984 - "dev": true, 985 - "license": "MIT", 986 - "optional": true, 987 - "os": [ 988 - "linux" 989 - ] 990 - }, 991 - "node_modules/@rollup/rollup-linux-riscv64-musl": { 992 - "version": "4.44.0", 993 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.0.tgz", 994 - "integrity": "sha512-TDKO8KlHJuvTEdfw5YYFBjhFts2TR0VpZsnLLSYmB7AaohJhM8ctDSdDnUGq77hUh4m/djRafw+9zQpkOanE2Q==", 995 - "cpu": [ 996 - "riscv64" 997 - ], 998 - "dev": true, 999 - "license": "MIT", 1000 - "optional": true, 1001 - "os": [ 1002 - "linux" 1003 - ] 1004 - }, 1005 - "node_modules/@rollup/rollup-linux-s390x-gnu": { 1006 - "version": "4.44.0", 1007 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.0.tgz", 1008 - "integrity": "sha512-8541GEyktXaw4lvnGp9m84KENcxInhAt6vPWJ9RodsB/iGjHoMB2Pp5MVBCiKIRxrxzJhGCxmNzdu+oDQ7kwRA==", 1009 - "cpu": [ 1010 - "s390x" 1011 - ], 1012 - "dev": true, 1013 - "license": "MIT", 1014 - "optional": true, 1015 - "os": [ 1016 - "linux" 1017 - ] 1018 - }, 1019 - "node_modules/@rollup/rollup-linux-x64-gnu": { 1020 - "version": "4.44.0", 1021 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.0.tgz", 1022 - "integrity": "sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw==", 1023 - "cpu": [ 1024 - "x64" 1025 - ], 1026 - "dev": true, 1027 - "license": "MIT", 1028 - "optional": true, 1029 - "os": [ 1030 - "linux" 1031 - ] 1032 - }, 1033 - "node_modules/@rollup/rollup-linux-x64-musl": { 1034 - "version": "4.44.0", 1035 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.0.tgz", 1036 - "integrity": "sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA==", 1037 - "cpu": [ 1038 - "x64" 1039 - ], 1040 - "dev": true, 1041 - "license": "MIT", 1042 - "optional": true, 1043 - "os": [ 1044 - "linux" 1045 - ] 1046 - }, 1047 - "node_modules/@rollup/rollup-win32-arm64-msvc": { 1048 - "version": "4.44.0", 1049 - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.0.tgz", 1050 - "integrity": "sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w==", 1051 - "cpu": [ 1052 - "arm64" 1053 - ], 1054 - "dev": true, 1055 - "license": "MIT", 1056 - "optional": true, 1057 - "os": [ 1058 - "win32" 1059 - ] 1060 - }, 1061 - "node_modules/@rollup/rollup-win32-ia32-msvc": { 1062 - "version": "4.44.0", 1063 - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.0.tgz", 1064 - "integrity": "sha512-3XJ0NQtMAXTWFW8FqZKcw3gOQwBtVWP/u8TpHP3CRPXD7Pd6s8lLdH3sHWh8vqKCyyiI8xW5ltJScQmBU9j7WA==", 1065 - "cpu": [ 1066 - "ia32" 1067 - ], 1068 - "dev": true, 1069 - "license": "MIT", 1070 - "optional": true, 1071 - "os": [ 1072 - "win32" 1073 - ] 1074 - }, 1075 - "node_modules/@rollup/rollup-win32-x64-msvc": { 1076 - "version": "4.44.0", 1077 - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.0.tgz", 1078 - "integrity": "sha512-Q2Mgwt+D8hd5FIPUuPDsvPR7Bguza6yTkJxspDGkZj7tBRn2y4KSWYuIXpftFSjBra76TbKerCV7rgFPQrn+wQ==", 1079 - "cpu": [ 1080 - "x64" 1081 - ], 1082 - "dev": true, 1083 - "license": "MIT", 1084 - "optional": true, 1085 - "os": [ 1086 - "win32" 1087 - ] 1088 - }, 1089 - "node_modules/@sveltejs/acorn-typescript": { 1090 - "version": "1.0.5", 1091 - "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.5.tgz", 1092 - "integrity": "sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==", 1093 - "dev": true, 1094 - "license": "MIT", 1095 - "peerDependencies": { 1096 - "acorn": "^8.9.0" 1097 - } 1098 - }, 1099 - "node_modules/@sveltejs/adapter-auto": { 1100 - "version": "6.0.1", 1101 - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-6.0.1.tgz", 1102 - "integrity": "sha512-mcWud3pYGPWM2Pphdj8G9Qiq24nZ8L4LB7coCUckUEy5Y7wOWGJ/enaZ4AtJTcSm5dNK1rIkBRoqt+ae4zlxcQ==", 1103 - "dev": true, 1104 - "license": "MIT", 1105 - "peerDependencies": { 1106 - "@sveltejs/kit": "^2.0.0" 1107 - } 1108 - }, 1109 - "node_modules/@sveltejs/kit": { 1110 - "version": "2.22.0", 1111 - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.22.0.tgz", 1112 - "integrity": "sha512-DJm0UxVgzXq+1MUfiJK4Ridk7oIQsIets6JwHiEl97sI6nXScfXe+BeqNhzB7jQIVBb3BM51U4hNk8qQxRXBAA==", 1113 - "dev": true, 1114 - "license": "MIT", 1115 - "dependencies": { 1116 - "@sveltejs/acorn-typescript": "^1.0.5", 1117 - "@types/cookie": "^0.6.0", 1118 - "acorn": "^8.14.1", 1119 - "cookie": "^0.6.0", 1120 - "devalue": "^5.1.0", 1121 - "esm-env": "^1.2.2", 1122 - "kleur": "^4.1.5", 1123 - "magic-string": "^0.30.5", 1124 - "mrmime": "^2.0.0", 1125 - "sade": "^1.8.1", 1126 - "set-cookie-parser": "^2.6.0", 1127 - "sirv": "^3.0.0", 1128 - "vitefu": "^1.0.6" 1129 - }, 1130 - "bin": { 1131 - "svelte-kit": "svelte-kit.js" 1132 - }, 1133 - "engines": { 1134 - "node": ">=18.13" 1135 - }, 1136 - "peerDependencies": { 1137 - "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0", 1138 - "svelte": "^4.0.0 || ^5.0.0-next.0", 1139 - "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0" 1140 - } 1141 - }, 1142 - "node_modules/@sveltejs/package": { 1143 - "version": "2.3.11", 1144 - "resolved": "https://registry.npmjs.org/@sveltejs/package/-/package-2.3.11.tgz", 1145 - "integrity": "sha512-DSMt2U0XNAdoQBYksrmgQi5dKy7jUTVDJLiagS/iXF7AShjAmTbGJQKruBuT/FfYAWvNxfQTSjkXU8eAIjVeNg==", 1146 - "dev": true, 1147 - "license": "MIT", 1148 - "dependencies": { 1149 - "chokidar": "^4.0.3", 1150 - "kleur": "^4.1.5", 1151 - "sade": "^1.8.1", 1152 - "semver": "^7.5.4", 1153 - "svelte2tsx": "~0.7.33" 1154 - }, 1155 - "bin": { 1156 - "svelte-package": "svelte-package.js" 1157 - }, 1158 - "engines": { 1159 - "node": "^16.14 || >=18" 1160 - }, 1161 - "peerDependencies": { 1162 - "svelte": "^3.44.0 || ^4.0.0 || ^5.0.0-next.1" 1163 - } 1164 - }, 1165 - "node_modules/@sveltejs/vite-plugin-svelte": { 1166 - "version": "5.1.0", 1167 - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-5.1.0.tgz", 1168 - "integrity": "sha512-wojIS/7GYnJDYIg1higWj2ROA6sSRWvcR1PO/bqEyFr/5UZah26c8Cz4u0NaqjPeVltzsVpt2Tm8d2io0V+4Tw==", 1169 - "dev": true, 1170 - "license": "MIT", 1171 - "dependencies": { 1172 - "@sveltejs/vite-plugin-svelte-inspector": "^4.0.1", 1173 - "debug": "^4.4.1", 1174 - "deepmerge": "^4.3.1", 1175 - "kleur": "^4.1.5", 1176 - "magic-string": "^0.30.17", 1177 - "vitefu": "^1.0.6" 1178 - }, 1179 - "engines": { 1180 - "node": "^18.0.0 || ^20.0.0 || >=22" 1181 - }, 1182 - "peerDependencies": { 1183 - "svelte": "^5.0.0", 1184 - "vite": "^6.0.0" 1185 - } 1186 - }, 1187 - "node_modules/@sveltejs/vite-plugin-svelte-inspector": { 1188 - "version": "4.0.1", 1189 - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-4.0.1.tgz", 1190 - "integrity": "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==", 1191 - "dev": true, 1192 - "license": "MIT", 1193 - "dependencies": { 1194 - "debug": "^4.3.7" 1195 - }, 1196 - "engines": { 1197 - "node": "^18.0.0 || ^20.0.0 || >=22" 1198 - }, 1199 - "peerDependencies": { 1200 - "@sveltejs/vite-plugin-svelte": "^5.0.0", 1201 - "svelte": "^5.0.0", 1202 - "vite": "^6.0.0" 1203 - } 1204 - }, 1205 - "node_modules/@types/cookie": { 1206 - "version": "0.6.0", 1207 - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", 1208 - "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", 1209 - "dev": true, 1210 - "license": "MIT" 1211 - }, 1212 - "node_modules/@types/estree": { 1213 - "version": "1.0.8", 1214 - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", 1215 - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", 1216 - "dev": true, 1217 - "license": "MIT" 1218 - }, 1219 - "node_modules/@types/json-schema": { 1220 - "version": "7.0.15", 1221 - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 1222 - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", 1223 - "dev": true, 1224 - "license": "MIT" 1225 - }, 1226 - "node_modules/@typescript-eslint/eslint-plugin": { 1227 - "version": "8.35.0", 1228 - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.35.0.tgz", 1229 - "integrity": "sha512-ijItUYaiWuce0N1SoSMrEd0b6b6lYkYt99pqCPfybd+HKVXtEvYhICfLdwp42MhiI5mp0oq7PKEL+g1cNiz/Eg==", 1230 - "dev": true, 1231 - "license": "MIT", 1232 - "dependencies": { 1233 - "@eslint-community/regexpp": "^4.10.0", 1234 - "@typescript-eslint/scope-manager": "8.35.0", 1235 - "@typescript-eslint/type-utils": "8.35.0", 1236 - "@typescript-eslint/utils": "8.35.0", 1237 - "@typescript-eslint/visitor-keys": "8.35.0", 1238 - "graphemer": "^1.4.0", 1239 - "ignore": "^7.0.0", 1240 - "natural-compare": "^1.4.0", 1241 - "ts-api-utils": "^2.1.0" 1242 - }, 1243 - "engines": { 1244 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1245 - }, 1246 - "funding": { 1247 - "type": "opencollective", 1248 - "url": "https://opencollective.com/typescript-eslint" 1249 - }, 1250 - "peerDependencies": { 1251 - "@typescript-eslint/parser": "^8.35.0", 1252 - "eslint": "^8.57.0 || ^9.0.0", 1253 - "typescript": ">=4.8.4 <5.9.0" 1254 - } 1255 - }, 1256 - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { 1257 - "version": "7.0.5", 1258 - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", 1259 - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", 1260 - "dev": true, 1261 - "license": "MIT", 1262 - "engines": { 1263 - "node": ">= 4" 1264 - } 1265 - }, 1266 - "node_modules/@typescript-eslint/parser": { 1267 - "version": "8.35.0", 1268 - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.35.0.tgz", 1269 - "integrity": "sha512-6sMvZePQrnZH2/cJkwRpkT7DxoAWh+g6+GFRK6bV3YQo7ogi3SX5rgF6099r5Q53Ma5qeT7LGmOmuIutF4t3lA==", 1270 - "dev": true, 1271 - "license": "MIT", 1272 - "dependencies": { 1273 - "@typescript-eslint/scope-manager": "8.35.0", 1274 - "@typescript-eslint/types": "8.35.0", 1275 - "@typescript-eslint/typescript-estree": "8.35.0", 1276 - "@typescript-eslint/visitor-keys": "8.35.0", 1277 - "debug": "^4.3.4" 1278 - }, 1279 - "engines": { 1280 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1281 - }, 1282 - "funding": { 1283 - "type": "opencollective", 1284 - "url": "https://opencollective.com/typescript-eslint" 1285 - }, 1286 - "peerDependencies": { 1287 - "eslint": "^8.57.0 || ^9.0.0", 1288 - "typescript": ">=4.8.4 <5.9.0" 1289 - } 1290 - }, 1291 - "node_modules/@typescript-eslint/project-service": { 1292 - "version": "8.35.0", 1293 - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.35.0.tgz", 1294 - "integrity": "sha512-41xatqRwWZuhUMF/aZm2fcUsOFKNcG28xqRSS6ZVr9BVJtGExosLAm5A1OxTjRMagx8nJqva+P5zNIGt8RIgbQ==", 1295 - "dev": true, 1296 - "license": "MIT", 1297 - "dependencies": { 1298 - "@typescript-eslint/tsconfig-utils": "^8.35.0", 1299 - "@typescript-eslint/types": "^8.35.0", 1300 - "debug": "^4.3.4" 1301 - }, 1302 - "engines": { 1303 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1304 - }, 1305 - "funding": { 1306 - "type": "opencollective", 1307 - "url": "https://opencollective.com/typescript-eslint" 1308 - }, 1309 - "peerDependencies": { 1310 - "typescript": ">=4.8.4 <5.9.0" 1311 - } 1312 - }, 1313 - "node_modules/@typescript-eslint/scope-manager": { 1314 - "version": "8.35.0", 1315 - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.35.0.tgz", 1316 - "integrity": "sha512-+AgL5+mcoLxl1vGjwNfiWq5fLDZM1TmTPYs2UkyHfFhgERxBbqHlNjRzhThJqz+ktBqTChRYY6zwbMwy0591AA==", 1317 - "dev": true, 1318 - "license": "MIT", 1319 - "dependencies": { 1320 - "@typescript-eslint/types": "8.35.0", 1321 - "@typescript-eslint/visitor-keys": "8.35.0" 1322 - }, 1323 - "engines": { 1324 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1325 - }, 1326 - "funding": { 1327 - "type": "opencollective", 1328 - "url": "https://opencollective.com/typescript-eslint" 1329 - } 1330 - }, 1331 - "node_modules/@typescript-eslint/tsconfig-utils": { 1332 - "version": "8.35.0", 1333 - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.35.0.tgz", 1334 - "integrity": "sha512-04k/7247kZzFraweuEirmvUj+W3bJLI9fX6fbo1Qm2YykuBvEhRTPl8tcxlYO8kZZW+HIXfkZNoasVb8EV4jpA==", 1335 - "dev": true, 1336 - "license": "MIT", 1337 - "engines": { 1338 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1339 - }, 1340 - "funding": { 1341 - "type": "opencollective", 1342 - "url": "https://opencollective.com/typescript-eslint" 1343 - }, 1344 - "peerDependencies": { 1345 - "typescript": ">=4.8.4 <5.9.0" 1346 - } 1347 - }, 1348 - "node_modules/@typescript-eslint/type-utils": { 1349 - "version": "8.35.0", 1350 - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.35.0.tgz", 1351 - "integrity": "sha512-ceNNttjfmSEoM9PW87bWLDEIaLAyR+E6BoYJQ5PfaDau37UGca9Nyq3lBk8Bw2ad0AKvYabz6wxc7DMTO2jnNA==", 1352 - "dev": true, 1353 - "license": "MIT", 1354 - "dependencies": { 1355 - "@typescript-eslint/typescript-estree": "8.35.0", 1356 - "@typescript-eslint/utils": "8.35.0", 1357 - "debug": "^4.3.4", 1358 - "ts-api-utils": "^2.1.0" 1359 - }, 1360 - "engines": { 1361 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1362 - }, 1363 - "funding": { 1364 - "type": "opencollective", 1365 - "url": "https://opencollective.com/typescript-eslint" 1366 - }, 1367 - "peerDependencies": { 1368 - "eslint": "^8.57.0 || ^9.0.0", 1369 - "typescript": ">=4.8.4 <5.9.0" 1370 - } 1371 - }, 1372 - "node_modules/@typescript-eslint/types": { 1373 - "version": "8.35.0", 1374 - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.35.0.tgz", 1375 - "integrity": "sha512-0mYH3emanku0vHw2aRLNGqe7EXh9WHEhi7kZzscrMDf6IIRUQ5Jk4wp1QrledE/36KtdZrVfKnE32eZCf/vaVQ==", 1376 - "dev": true, 1377 - "license": "MIT", 1378 - "engines": { 1379 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1380 - }, 1381 - "funding": { 1382 - "type": "opencollective", 1383 - "url": "https://opencollective.com/typescript-eslint" 1384 - } 1385 - }, 1386 - "node_modules/@typescript-eslint/typescript-estree": { 1387 - "version": "8.35.0", 1388 - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.35.0.tgz", 1389 - "integrity": "sha512-F+BhnaBemgu1Qf8oHrxyw14wq6vbL8xwWKKMwTMwYIRmFFY/1n/9T/jpbobZL8vp7QyEUcC6xGrnAO4ua8Kp7w==", 1390 - "dev": true, 1391 - "license": "MIT", 1392 - "dependencies": { 1393 - "@typescript-eslint/project-service": "8.35.0", 1394 - "@typescript-eslint/tsconfig-utils": "8.35.0", 1395 - "@typescript-eslint/types": "8.35.0", 1396 - "@typescript-eslint/visitor-keys": "8.35.0", 1397 - "debug": "^4.3.4", 1398 - "fast-glob": "^3.3.2", 1399 - "is-glob": "^4.0.3", 1400 - "minimatch": "^9.0.4", 1401 - "semver": "^7.6.0", 1402 - "ts-api-utils": "^2.1.0" 1403 - }, 1404 - "engines": { 1405 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1406 - }, 1407 - "funding": { 1408 - "type": "opencollective", 1409 - "url": "https://opencollective.com/typescript-eslint" 1410 - }, 1411 - "peerDependencies": { 1412 - "typescript": ">=4.8.4 <5.9.0" 1413 - } 1414 - }, 1415 - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { 1416 - "version": "2.0.2", 1417 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", 1418 - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", 1419 - "dev": true, 1420 - "license": "MIT", 1421 - "dependencies": { 1422 - "balanced-match": "^1.0.0" 1423 - } 1424 - }, 1425 - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { 1426 - "version": "9.0.5", 1427 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 1428 - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 1429 - "dev": true, 1430 - "license": "ISC", 1431 - "dependencies": { 1432 - "brace-expansion": "^2.0.1" 1433 - }, 1434 - "engines": { 1435 - "node": ">=16 || 14 >=14.17" 1436 - }, 1437 - "funding": { 1438 - "url": "https://github.com/sponsors/isaacs" 1439 - } 1440 - }, 1441 - "node_modules/@typescript-eslint/utils": { 1442 - "version": "8.35.0", 1443 - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.35.0.tgz", 1444 - "integrity": "sha512-nqoMu7WWM7ki5tPgLVsmPM8CkqtoPUG6xXGeefM5t4x3XumOEKMoUZPdi+7F+/EotukN4R9OWdmDxN80fqoZeg==", 1445 - "dev": true, 1446 - "license": "MIT", 1447 - "dependencies": { 1448 - "@eslint-community/eslint-utils": "^4.7.0", 1449 - "@typescript-eslint/scope-manager": "8.35.0", 1450 - "@typescript-eslint/types": "8.35.0", 1451 - "@typescript-eslint/typescript-estree": "8.35.0" 1452 - }, 1453 - "engines": { 1454 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1455 - }, 1456 - "funding": { 1457 - "type": "opencollective", 1458 - "url": "https://opencollective.com/typescript-eslint" 1459 - }, 1460 - "peerDependencies": { 1461 - "eslint": "^8.57.0 || ^9.0.0", 1462 - "typescript": ">=4.8.4 <5.9.0" 1463 - } 1464 - }, 1465 - "node_modules/@typescript-eslint/visitor-keys": { 1466 - "version": "8.35.0", 1467 - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.35.0.tgz", 1468 - "integrity": "sha512-zTh2+1Y8ZpmeQaQVIc/ZZxsx8UzgKJyNg1PTvjzC7WMhPSVS8bfDX34k1SrwOf016qd5RU3az2UxUNue3IfQ5g==", 1469 - "dev": true, 1470 - "license": "MIT", 1471 - "dependencies": { 1472 - "@typescript-eslint/types": "8.35.0", 1473 - "eslint-visitor-keys": "^4.2.1" 1474 - }, 1475 - "engines": { 1476 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1477 - }, 1478 - "funding": { 1479 - "type": "opencollective", 1480 - "url": "https://opencollective.com/typescript-eslint" 1481 - } 1482 - }, 1483 - "node_modules/acorn": { 1484 - "version": "8.15.0", 1485 - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", 1486 - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", 1487 - "dev": true, 1488 - "license": "MIT", 1489 - "bin": { 1490 - "acorn": "bin/acorn" 1491 - }, 1492 - "engines": { 1493 - "node": ">=0.4.0" 1494 - } 1495 - }, 1496 - "node_modules/acorn-jsx": { 1497 - "version": "5.3.2", 1498 - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 1499 - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 1500 - "dev": true, 1501 - "license": "MIT", 1502 - "peerDependencies": { 1503 - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 1504 - } 1505 - }, 1506 - "node_modules/ajv": { 1507 - "version": "6.12.6", 1508 - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 1509 - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 1510 - "dev": true, 1511 - "license": "MIT", 1512 - "dependencies": { 1513 - "fast-deep-equal": "^3.1.1", 1514 - "fast-json-stable-stringify": "^2.0.0", 1515 - "json-schema-traverse": "^0.4.1", 1516 - "uri-js": "^4.2.2" 1517 - }, 1518 - "funding": { 1519 - "type": "github", 1520 - "url": "https://github.com/sponsors/epoberezkin" 1521 - } 1522 - }, 1523 - "node_modules/ansi-styles": { 1524 - "version": "4.3.0", 1525 - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1526 - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1527 - "dev": true, 1528 - "license": "MIT", 1529 - "dependencies": { 1530 - "color-convert": "^2.0.1" 1531 - }, 1532 - "engines": { 1533 - "node": ">=8" 1534 - }, 1535 - "funding": { 1536 - "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1537 - } 1538 - }, 1539 - "node_modules/argparse": { 1540 - "version": "2.0.1", 1541 - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 1542 - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 1543 - "dev": true, 1544 - "license": "Python-2.0" 1545 - }, 1546 - "node_modules/aria-query": { 1547 - "version": "5.3.2", 1548 - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", 1549 - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", 1550 - "dev": true, 1551 - "license": "Apache-2.0", 1552 - "engines": { 1553 - "node": ">= 0.4" 1554 - } 1555 - }, 1556 - "node_modules/axobject-query": { 1557 - "version": "4.1.0", 1558 - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", 1559 - "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", 1560 - "dev": true, 1561 - "license": "Apache-2.0", 1562 - "engines": { 1563 - "node": ">= 0.4" 1564 - } 1565 - }, 1566 - "node_modules/balanced-match": { 1567 - "version": "1.0.2", 1568 - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1569 - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1570 - "dev": true, 1571 - "license": "MIT" 1572 - }, 1573 - "node_modules/brace-expansion": { 1574 - "version": "1.1.12", 1575 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", 1576 - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", 1577 - "dev": true, 1578 - "license": "MIT", 1579 - "dependencies": { 1580 - "balanced-match": "^1.0.0", 1581 - "concat-map": "0.0.1" 1582 - } 1583 - }, 1584 - "node_modules/braces": { 1585 - "version": "3.0.3", 1586 - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 1587 - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 1588 - "dev": true, 1589 - "license": "MIT", 1590 - "dependencies": { 1591 - "fill-range": "^7.1.1" 1592 - }, 1593 - "engines": { 1594 - "node": ">=8" 1595 - } 1596 - }, 1597 - "node_modules/callsites": { 1598 - "version": "3.1.0", 1599 - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 1600 - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 1601 - "dev": true, 1602 - "license": "MIT", 1603 - "engines": { 1604 - "node": ">=6" 1605 - } 1606 - }, 1607 - "node_modules/chalk": { 1608 - "version": "4.1.2", 1609 - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 1610 - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 1611 - "dev": true, 1612 - "license": "MIT", 1613 - "dependencies": { 1614 - "ansi-styles": "^4.1.0", 1615 - "supports-color": "^7.1.0" 1616 - }, 1617 - "engines": { 1618 - "node": ">=10" 1619 - }, 1620 - "funding": { 1621 - "url": "https://github.com/chalk/chalk?sponsor=1" 1622 - } 1623 - }, 1624 - "node_modules/chokidar": { 1625 - "version": "4.0.3", 1626 - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", 1627 - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", 1628 - "dev": true, 1629 - "license": "MIT", 1630 - "dependencies": { 1631 - "readdirp": "^4.0.1" 1632 - }, 1633 - "engines": { 1634 - "node": ">= 14.16.0" 1635 - }, 1636 - "funding": { 1637 - "url": "https://paulmillr.com/funding/" 1638 - } 1639 - }, 1640 - "node_modules/clsx": { 1641 - "version": "2.1.1", 1642 - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", 1643 - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", 1644 - "dev": true, 1645 - "license": "MIT", 1646 - "engines": { 1647 - "node": ">=6" 1648 - } 1649 - }, 1650 - "node_modules/color-convert": { 1651 - "version": "2.0.1", 1652 - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1653 - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1654 - "dev": true, 1655 - "license": "MIT", 1656 - "dependencies": { 1657 - "color-name": "~1.1.4" 1658 - }, 1659 - "engines": { 1660 - "node": ">=7.0.0" 1661 - } 1662 - }, 1663 - "node_modules/color-name": { 1664 - "version": "1.1.4", 1665 - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1666 - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1667 - "dev": true, 1668 - "license": "MIT" 1669 - }, 1670 - "node_modules/concat-map": { 1671 - "version": "0.0.1", 1672 - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1673 - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1674 - "dev": true, 1675 - "license": "MIT" 1676 - }, 1677 - "node_modules/cookie": { 1678 - "version": "0.6.0", 1679 - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", 1680 - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", 1681 - "dev": true, 1682 - "license": "MIT", 1683 - "engines": { 1684 - "node": ">= 0.6" 1685 - } 1686 - }, 1687 - "node_modules/cross-spawn": { 1688 - "version": "7.0.6", 1689 - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 1690 - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 1691 - "dev": true, 1692 - "license": "MIT", 1693 - "dependencies": { 1694 - "path-key": "^3.1.0", 1695 - "shebang-command": "^2.0.0", 1696 - "which": "^2.0.1" 1697 - }, 1698 - "engines": { 1699 - "node": ">= 8" 1700 - } 1701 - }, 1702 - "node_modules/cssesc": { 1703 - "version": "3.0.0", 1704 - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 1705 - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 1706 - "dev": true, 1707 - "license": "MIT", 1708 - "bin": { 1709 - "cssesc": "bin/cssesc" 1710 - }, 1711 - "engines": { 1712 - "node": ">=4" 1713 - } 1714 - }, 1715 - "node_modules/debug": { 1716 - "version": "4.4.1", 1717 - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", 1718 - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", 1719 - "dev": true, 1720 - "license": "MIT", 1721 - "dependencies": { 1722 - "ms": "^2.1.3" 1723 - }, 1724 - "engines": { 1725 - "node": ">=6.0" 1726 - }, 1727 - "peerDependenciesMeta": { 1728 - "supports-color": { 1729 - "optional": true 1730 - } 1731 - } 1732 - }, 1733 - "node_modules/dedent-js": { 1734 - "version": "1.0.1", 1735 - "resolved": "https://registry.npmjs.org/dedent-js/-/dedent-js-1.0.1.tgz", 1736 - "integrity": "sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==", 1737 - "dev": true, 1738 - "license": "MIT" 1739 - }, 1740 - "node_modules/deep-is": { 1741 - "version": "0.1.4", 1742 - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 1743 - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 1744 - "dev": true, 1745 - "license": "MIT" 1746 - }, 1747 - "node_modules/deepmerge": { 1748 - "version": "4.3.1", 1749 - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", 1750 - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", 1751 - "dev": true, 1752 - "license": "MIT", 1753 - "engines": { 1754 - "node": ">=0.10.0" 1755 - } 1756 - }, 1757 - "node_modules/devalue": { 1758 - "version": "5.1.1", 1759 - "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz", 1760 - "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==", 1761 - "dev": true, 1762 - "license": "MIT" 1763 - }, 1764 - "node_modules/esbuild": { 1765 - "version": "0.25.5", 1766 - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", 1767 - "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", 1768 - "dev": true, 1769 - "hasInstallScript": true, 1770 - "license": "MIT", 1771 - "bin": { 1772 - "esbuild": "bin/esbuild" 1773 - }, 1774 - "engines": { 1775 - "node": ">=18" 1776 - }, 1777 - "optionalDependencies": { 1778 - "@esbuild/aix-ppc64": "0.25.5", 1779 - "@esbuild/android-arm": "0.25.5", 1780 - "@esbuild/android-arm64": "0.25.5", 1781 - "@esbuild/android-x64": "0.25.5", 1782 - "@esbuild/darwin-arm64": "0.25.5", 1783 - "@esbuild/darwin-x64": "0.25.5", 1784 - "@esbuild/freebsd-arm64": "0.25.5", 1785 - "@esbuild/freebsd-x64": "0.25.5", 1786 - "@esbuild/linux-arm": "0.25.5", 1787 - "@esbuild/linux-arm64": "0.25.5", 1788 - "@esbuild/linux-ia32": "0.25.5", 1789 - "@esbuild/linux-loong64": "0.25.5", 1790 - "@esbuild/linux-mips64el": "0.25.5", 1791 - "@esbuild/linux-ppc64": "0.25.5", 1792 - "@esbuild/linux-riscv64": "0.25.5", 1793 - "@esbuild/linux-s390x": "0.25.5", 1794 - "@esbuild/linux-x64": "0.25.5", 1795 - "@esbuild/netbsd-arm64": "0.25.5", 1796 - "@esbuild/netbsd-x64": "0.25.5", 1797 - "@esbuild/openbsd-arm64": "0.25.5", 1798 - "@esbuild/openbsd-x64": "0.25.5", 1799 - "@esbuild/sunos-x64": "0.25.5", 1800 - "@esbuild/win32-arm64": "0.25.5", 1801 - "@esbuild/win32-ia32": "0.25.5", 1802 - "@esbuild/win32-x64": "0.25.5" 1803 - } 1804 - }, 1805 - "node_modules/escape-string-regexp": { 1806 - "version": "4.0.0", 1807 - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 1808 - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 1809 - "dev": true, 1810 - "license": "MIT", 1811 - "engines": { 1812 - "node": ">=10" 1813 - }, 1814 - "funding": { 1815 - "url": "https://github.com/sponsors/sindresorhus" 1816 - } 1817 - }, 1818 - "node_modules/eslint": { 1819 - "version": "9.29.0", 1820 - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.29.0.tgz", 1821 - "integrity": "sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==", 1822 - "dev": true, 1823 - "license": "MIT", 1824 - "dependencies": { 1825 - "@eslint-community/eslint-utils": "^4.2.0", 1826 - "@eslint-community/regexpp": "^4.12.1", 1827 - "@eslint/config-array": "^0.20.1", 1828 - "@eslint/config-helpers": "^0.2.1", 1829 - "@eslint/core": "^0.14.0", 1830 - "@eslint/eslintrc": "^3.3.1", 1831 - "@eslint/js": "9.29.0", 1832 - "@eslint/plugin-kit": "^0.3.1", 1833 - "@humanfs/node": "^0.16.6", 1834 - "@humanwhocodes/module-importer": "^1.0.1", 1835 - "@humanwhocodes/retry": "^0.4.2", 1836 - "@types/estree": "^1.0.6", 1837 - "@types/json-schema": "^7.0.15", 1838 - "ajv": "^6.12.4", 1839 - "chalk": "^4.0.0", 1840 - "cross-spawn": "^7.0.6", 1841 - "debug": "^4.3.2", 1842 - "escape-string-regexp": "^4.0.0", 1843 - "eslint-scope": "^8.4.0", 1844 - "eslint-visitor-keys": "^4.2.1", 1845 - "espree": "^10.4.0", 1846 - "esquery": "^1.5.0", 1847 - "esutils": "^2.0.2", 1848 - "fast-deep-equal": "^3.1.3", 1849 - "file-entry-cache": "^8.0.0", 1850 - "find-up": "^5.0.0", 1851 - "glob-parent": "^6.0.2", 1852 - "ignore": "^5.2.0", 1853 - "imurmurhash": "^0.1.4", 1854 - "is-glob": "^4.0.0", 1855 - "json-stable-stringify-without-jsonify": "^1.0.1", 1856 - "lodash.merge": "^4.6.2", 1857 - "minimatch": "^3.1.2", 1858 - "natural-compare": "^1.4.0", 1859 - "optionator": "^0.9.3" 1860 - }, 1861 - "bin": { 1862 - "eslint": "bin/eslint.js" 1863 - }, 1864 - "engines": { 1865 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1866 - }, 1867 - "funding": { 1868 - "url": "https://eslint.org/donate" 1869 - }, 1870 - "peerDependencies": { 1871 - "jiti": "*" 1872 - }, 1873 - "peerDependenciesMeta": { 1874 - "jiti": { 1875 - "optional": true 1876 - } 1877 - } 1878 - }, 1879 - "node_modules/eslint-config-prettier": { 1880 - "version": "10.1.5", 1881 - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.5.tgz", 1882 - "integrity": "sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==", 1883 - "dev": true, 1884 - "license": "MIT", 1885 - "bin": { 1886 - "eslint-config-prettier": "bin/cli.js" 1887 - }, 1888 - "funding": { 1889 - "url": "https://opencollective.com/eslint-config-prettier" 1890 - }, 1891 - "peerDependencies": { 1892 - "eslint": ">=7.0.0" 1893 - } 1894 - }, 1895 - "node_modules/eslint-plugin-svelte": { 1896 - "version": "3.9.3", 1897 - "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.9.3.tgz", 1898 - "integrity": "sha512-PlcyK80sqAZ43IITeZkgl3zPFWJytx/Joup9iKGqIOsXM2m3pWfPbWuXPr5PN3loXFEypqTY/JyZwNqlSpSvRw==", 1899 - "dev": true, 1900 - "license": "MIT", 1901 - "dependencies": { 1902 - "@eslint-community/eslint-utils": "^4.6.1", 1903 - "@jridgewell/sourcemap-codec": "^1.5.0", 1904 - "esutils": "^2.0.3", 1905 - "globals": "^16.0.0", 1906 - "known-css-properties": "^0.37.0", 1907 - "postcss": "^8.4.49", 1908 - "postcss-load-config": "^3.1.4", 1909 - "postcss-safe-parser": "^7.0.0", 1910 - "semver": "^7.6.3", 1911 - "svelte-eslint-parser": "^1.2.0" 1912 - }, 1913 - "engines": { 1914 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1915 - }, 1916 - "funding": { 1917 - "url": "https://github.com/sponsors/ota-meshi" 1918 - }, 1919 - "peerDependencies": { 1920 - "eslint": "^8.57.1 || ^9.0.0", 1921 - "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" 1922 - }, 1923 - "peerDependenciesMeta": { 1924 - "svelte": { 1925 - "optional": true 1926 - } 1927 - } 1928 - }, 1929 - "node_modules/eslint-plugin-svelte/node_modules/globals": { 1930 - "version": "16.2.0", 1931 - "resolved": "https://registry.npmjs.org/globals/-/globals-16.2.0.tgz", 1932 - "integrity": "sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==", 1933 - "dev": true, 1934 - "license": "MIT", 1935 - "engines": { 1936 - "node": ">=18" 1937 - }, 1938 - "funding": { 1939 - "url": "https://github.com/sponsors/sindresorhus" 1940 - } 1941 - }, 1942 - "node_modules/eslint-scope": { 1943 - "version": "8.4.0", 1944 - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", 1945 - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", 1946 - "dev": true, 1947 - "license": "BSD-2-Clause", 1948 - "dependencies": { 1949 - "esrecurse": "^4.3.0", 1950 - "estraverse": "^5.2.0" 1951 - }, 1952 - "engines": { 1953 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1954 - }, 1955 - "funding": { 1956 - "url": "https://opencollective.com/eslint" 1957 - } 1958 - }, 1959 - "node_modules/eslint-visitor-keys": { 1960 - "version": "4.2.1", 1961 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", 1962 - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", 1963 - "dev": true, 1964 - "license": "Apache-2.0", 1965 - "engines": { 1966 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1967 - }, 1968 - "funding": { 1969 - "url": "https://opencollective.com/eslint" 1970 - } 1971 - }, 1972 - "node_modules/esm-env": { 1973 - "version": "1.2.2", 1974 - "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", 1975 - "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", 1976 - "dev": true, 1977 - "license": "MIT" 1978 - }, 1979 - "node_modules/espree": { 1980 - "version": "10.4.0", 1981 - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", 1982 - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", 1983 - "dev": true, 1984 - "license": "BSD-2-Clause", 1985 - "dependencies": { 1986 - "acorn": "^8.15.0", 1987 - "acorn-jsx": "^5.3.2", 1988 - "eslint-visitor-keys": "^4.2.1" 1989 - }, 1990 - "engines": { 1991 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1992 - }, 1993 - "funding": { 1994 - "url": "https://opencollective.com/eslint" 1995 - } 1996 - }, 1997 - "node_modules/esquery": { 1998 - "version": "1.6.0", 1999 - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", 2000 - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", 2001 - "dev": true, 2002 - "license": "BSD-3-Clause", 2003 - "dependencies": { 2004 - "estraverse": "^5.1.0" 2005 - }, 2006 - "engines": { 2007 - "node": ">=0.10" 2008 - } 2009 - }, 2010 - "node_modules/esrap": { 2011 - "version": "1.4.9", 2012 - "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.9.tgz", 2013 - "integrity": "sha512-3OMlcd0a03UGuZpPeUC1HxR3nA23l+HEyCiZw3b3FumJIN9KphoGzDJKMXI1S72jVS1dsenDyQC0kJlO1U9E1g==", 2014 - "dev": true, 2015 - "license": "MIT", 2016 - "dependencies": { 2017 - "@jridgewell/sourcemap-codec": "^1.4.15" 2018 - } 2019 - }, 2020 - "node_modules/esrecurse": { 2021 - "version": "4.3.0", 2022 - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 2023 - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 2024 - "dev": true, 2025 - "license": "BSD-2-Clause", 2026 - "dependencies": { 2027 - "estraverse": "^5.2.0" 2028 - }, 2029 - "engines": { 2030 - "node": ">=4.0" 2031 - } 2032 - }, 2033 - "node_modules/estraverse": { 2034 - "version": "5.3.0", 2035 - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 2036 - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 2037 - "dev": true, 2038 - "license": "BSD-2-Clause", 2039 - "engines": { 2040 - "node": ">=4.0" 2041 - } 2042 - }, 2043 - "node_modules/esutils": { 2044 - "version": "2.0.3", 2045 - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 2046 - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 2047 - "dev": true, 2048 - "license": "BSD-2-Clause", 2049 - "engines": { 2050 - "node": ">=0.10.0" 2051 - } 2052 - }, 2053 - "node_modules/fast-deep-equal": { 2054 - "version": "3.1.3", 2055 - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 2056 - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 2057 - "dev": true, 2058 - "license": "MIT" 2059 - }, 2060 - "node_modules/fast-glob": { 2061 - "version": "3.3.3", 2062 - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", 2063 - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", 2064 - "dev": true, 2065 - "license": "MIT", 2066 - "dependencies": { 2067 - "@nodelib/fs.stat": "^2.0.2", 2068 - "@nodelib/fs.walk": "^1.2.3", 2069 - "glob-parent": "^5.1.2", 2070 - "merge2": "^1.3.0", 2071 - "micromatch": "^4.0.8" 2072 - }, 2073 - "engines": { 2074 - "node": ">=8.6.0" 2075 - } 2076 - }, 2077 - "node_modules/fast-glob/node_modules/glob-parent": { 2078 - "version": "5.1.2", 2079 - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2080 - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2081 - "dev": true, 2082 - "license": "ISC", 2083 - "dependencies": { 2084 - "is-glob": "^4.0.1" 2085 - }, 2086 - "engines": { 2087 - "node": ">= 6" 2088 - } 2089 - }, 2090 - "node_modules/fast-json-stable-stringify": { 2091 - "version": "2.1.0", 2092 - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 2093 - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 2094 - "dev": true, 2095 - "license": "MIT" 2096 - }, 2097 - "node_modules/fast-levenshtein": { 2098 - "version": "2.0.6", 2099 - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 2100 - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 2101 - "dev": true, 2102 - "license": "MIT" 2103 - }, 2104 - "node_modules/fastq": { 2105 - "version": "1.19.1", 2106 - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", 2107 - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", 2108 - "dev": true, 2109 - "license": "ISC", 2110 - "dependencies": { 2111 - "reusify": "^1.0.4" 2112 - } 2113 - }, 2114 - "node_modules/fdir": { 2115 - "version": "6.4.6", 2116 - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", 2117 - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", 2118 - "dev": true, 2119 - "license": "MIT", 2120 - "peerDependencies": { 2121 - "picomatch": "^3 || ^4" 2122 - }, 2123 - "peerDependenciesMeta": { 2124 - "picomatch": { 2125 - "optional": true 2126 - } 2127 - } 2128 - }, 2129 - "node_modules/file-entry-cache": { 2130 - "version": "8.0.0", 2131 - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", 2132 - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", 2133 - "dev": true, 2134 - "license": "MIT", 2135 - "dependencies": { 2136 - "flat-cache": "^4.0.0" 2137 - }, 2138 - "engines": { 2139 - "node": ">=16.0.0" 2140 - } 2141 - }, 2142 - "node_modules/fill-range": { 2143 - "version": "7.1.1", 2144 - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 2145 - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 2146 - "dev": true, 2147 - "license": "MIT", 2148 - "dependencies": { 2149 - "to-regex-range": "^5.0.1" 2150 - }, 2151 - "engines": { 2152 - "node": ">=8" 2153 - } 2154 - }, 2155 - "node_modules/find-up": { 2156 - "version": "5.0.0", 2157 - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 2158 - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 2159 - "dev": true, 2160 - "license": "MIT", 2161 - "dependencies": { 2162 - "locate-path": "^6.0.0", 2163 - "path-exists": "^4.0.0" 2164 - }, 2165 - "engines": { 2166 - "node": ">=10" 2167 - }, 2168 - "funding": { 2169 - "url": "https://github.com/sponsors/sindresorhus" 2170 - } 2171 - }, 2172 - "node_modules/flat-cache": { 2173 - "version": "4.0.1", 2174 - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", 2175 - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", 2176 - "dev": true, 2177 - "license": "MIT", 2178 - "dependencies": { 2179 - "flatted": "^3.2.9", 2180 - "keyv": "^4.5.4" 2181 - }, 2182 - "engines": { 2183 - "node": ">=16" 2184 - } 2185 - }, 2186 - "node_modules/flatted": { 2187 - "version": "3.3.3", 2188 - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", 2189 - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", 2190 - "dev": true, 2191 - "license": "ISC" 2192 - }, 2193 - "node_modules/fsevents": { 2194 - "version": "2.3.3", 2195 - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 2196 - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 2197 - "dev": true, 2198 - "hasInstallScript": true, 2199 - "license": "MIT", 2200 - "optional": true, 2201 - "os": [ 2202 - "darwin" 2203 - ], 2204 - "engines": { 2205 - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 2206 - } 2207 - }, 2208 - "node_modules/glob-parent": { 2209 - "version": "6.0.2", 2210 - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 2211 - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 2212 - "dev": true, 2213 - "license": "ISC", 2214 - "dependencies": { 2215 - "is-glob": "^4.0.3" 2216 - }, 2217 - "engines": { 2218 - "node": ">=10.13.0" 2219 - } 2220 - }, 2221 - "node_modules/globals": { 2222 - "version": "14.0.0", 2223 - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", 2224 - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", 2225 - "dev": true, 2226 - "license": "MIT", 2227 - "engines": { 2228 - "node": ">=18" 2229 - }, 2230 - "funding": { 2231 - "url": "https://github.com/sponsors/sindresorhus" 2232 - } 2233 - }, 2234 - "node_modules/graphemer": { 2235 - "version": "1.4.0", 2236 - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 2237 - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", 2238 - "dev": true, 2239 - "license": "MIT" 2240 - }, 2241 - "node_modules/has-flag": { 2242 - "version": "4.0.0", 2243 - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 2244 - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 2245 - "dev": true, 2246 - "license": "MIT", 2247 - "engines": { 2248 - "node": ">=8" 2249 - } 2250 - }, 2251 - "node_modules/ignore": { 2252 - "version": "5.3.2", 2253 - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", 2254 - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", 2255 - "dev": true, 2256 - "license": "MIT", 2257 - "engines": { 2258 - "node": ">= 4" 2259 - } 2260 - }, 2261 - "node_modules/import-fresh": { 2262 - "version": "3.3.1", 2263 - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", 2264 - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", 2265 - "dev": true, 2266 - "license": "MIT", 2267 - "dependencies": { 2268 - "parent-module": "^1.0.0", 2269 - "resolve-from": "^4.0.0" 2270 - }, 2271 - "engines": { 2272 - "node": ">=6" 2273 - }, 2274 - "funding": { 2275 - "url": "https://github.com/sponsors/sindresorhus" 2276 - } 2277 - }, 2278 - "node_modules/imurmurhash": { 2279 - "version": "0.1.4", 2280 - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 2281 - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 2282 - "dev": true, 2283 - "license": "MIT", 2284 - "engines": { 2285 - "node": ">=0.8.19" 2286 - } 2287 - }, 2288 - "node_modules/is-extglob": { 2289 - "version": "2.1.1", 2290 - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2291 - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 2292 - "dev": true, 2293 - "license": "MIT", 2294 - "engines": { 2295 - "node": ">=0.10.0" 2296 - } 2297 - }, 2298 - "node_modules/is-glob": { 2299 - "version": "4.0.3", 2300 - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2301 - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2302 - "dev": true, 2303 - "license": "MIT", 2304 - "dependencies": { 2305 - "is-extglob": "^2.1.1" 2306 - }, 2307 - "engines": { 2308 - "node": ">=0.10.0" 2309 - } 2310 - }, 2311 - "node_modules/is-number": { 2312 - "version": "7.0.0", 2313 - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2314 - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 2315 - "dev": true, 2316 - "license": "MIT", 2317 - "engines": { 2318 - "node": ">=0.12.0" 2319 - } 2320 - }, 2321 - "node_modules/is-reference": { 2322 - "version": "3.0.3", 2323 - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", 2324 - "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", 2325 - "dev": true, 2326 - "license": "MIT", 2327 - "dependencies": { 2328 - "@types/estree": "^1.0.6" 2329 - } 2330 - }, 2331 - "node_modules/isexe": { 2332 - "version": "2.0.0", 2333 - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2334 - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 2335 - "dev": true, 2336 - "license": "ISC" 2337 - }, 2338 - "node_modules/js-yaml": { 2339 - "version": "4.1.0", 2340 - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 2341 - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 2342 - "dev": true, 2343 - "license": "MIT", 2344 - "dependencies": { 2345 - "argparse": "^2.0.1" 2346 - }, 2347 - "bin": { 2348 - "js-yaml": "bin/js-yaml.js" 2349 - } 2350 - }, 2351 - "node_modules/json-buffer": { 2352 - "version": "3.0.1", 2353 - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 2354 - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", 2355 - "dev": true, 2356 - "license": "MIT" 2357 - }, 2358 - "node_modules/json-schema-traverse": { 2359 - "version": "0.4.1", 2360 - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 2361 - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 2362 - "dev": true, 2363 - "license": "MIT" 2364 - }, 2365 - "node_modules/json-stable-stringify-without-jsonify": { 2366 - "version": "1.0.1", 2367 - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 2368 - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 2369 - "dev": true, 2370 - "license": "MIT" 2371 - }, 2372 - "node_modules/keyv": { 2373 - "version": "4.5.4", 2374 - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", 2375 - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", 2376 - "dev": true, 2377 - "license": "MIT", 2378 - "dependencies": { 2379 - "json-buffer": "3.0.1" 2380 - } 2381 - }, 2382 - "node_modules/kgrid": { 2383 - "resolved": "kgrid", 2384 - "link": true 2385 - }, 2386 - "node_modules/kleur": { 2387 - "version": "4.1.5", 2388 - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", 2389 - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", 2390 - "dev": true, 2391 - "license": "MIT", 2392 - "engines": { 2393 - "node": ">=6" 2394 - } 2395 - }, 2396 - "node_modules/known-css-properties": { 2397 - "version": "0.37.0", 2398 - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz", 2399 - "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==", 2400 - "dev": true, 2401 - "license": "MIT" 2402 - }, 2403 - "node_modules/levn": { 2404 - "version": "0.4.1", 2405 - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 2406 - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 2407 - "dev": true, 2408 - "license": "MIT", 2409 - "dependencies": { 2410 - "prelude-ls": "^1.2.1", 2411 - "type-check": "~0.4.0" 2412 - }, 2413 - "engines": { 2414 - "node": ">= 0.8.0" 2415 - } 2416 - }, 2417 - "node_modules/lilconfig": { 2418 - "version": "2.1.0", 2419 - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 2420 - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 2421 - "dev": true, 2422 - "license": "MIT", 2423 - "engines": { 2424 - "node": ">=10" 2425 - } 2426 - }, 2427 - "node_modules/locate-character": { 2428 - "version": "3.0.0", 2429 - "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", 2430 - "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", 2431 - "dev": true, 2432 - "license": "MIT" 2433 - }, 2434 - "node_modules/locate-path": { 2435 - "version": "6.0.0", 2436 - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 2437 - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 2438 - "dev": true, 2439 - "license": "MIT", 2440 - "dependencies": { 2441 - "p-locate": "^5.0.0" 2442 - }, 2443 - "engines": { 2444 - "node": ">=10" 2445 - }, 2446 - "funding": { 2447 - "url": "https://github.com/sponsors/sindresorhus" 2448 - } 2449 - }, 2450 - "node_modules/lodash.merge": { 2451 - "version": "4.6.2", 2452 - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 2453 - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 2454 - "dev": true, 2455 - "license": "MIT" 2456 - }, 2457 - "node_modules/lower-case": { 2458 - "version": "2.0.2", 2459 - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", 2460 - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", 2461 - "dev": true, 2462 - "license": "MIT", 2463 - "dependencies": { 2464 - "tslib": "^2.0.3" 2465 - } 2466 - }, 2467 - "node_modules/magic-string": { 2468 - "version": "0.30.17", 2469 - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", 2470 - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", 2471 - "dev": true, 2472 - "license": "MIT", 2473 - "dependencies": { 2474 - "@jridgewell/sourcemap-codec": "^1.5.0" 2475 - } 2476 - }, 2477 - "node_modules/merge2": { 2478 - "version": "1.4.1", 2479 - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 2480 - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 2481 - "dev": true, 2482 - "license": "MIT", 2483 - "engines": { 2484 - "node": ">= 8" 2485 - } 2486 - }, 2487 - "node_modules/micromatch": { 2488 - "version": "4.0.8", 2489 - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 2490 - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 2491 - "dev": true, 2492 - "license": "MIT", 2493 - "dependencies": { 2494 - "braces": "^3.0.3", 2495 - "picomatch": "^2.3.1" 2496 - }, 2497 - "engines": { 2498 - "node": ">=8.6" 2499 - } 2500 - }, 2501 - "node_modules/micromatch/node_modules/picomatch": { 2502 - "version": "2.3.1", 2503 - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2504 - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2505 - "dev": true, 2506 - "license": "MIT", 2507 - "engines": { 2508 - "node": ">=8.6" 2509 - }, 2510 - "funding": { 2511 - "url": "https://github.com/sponsors/jonschlinkert" 2512 - } 2513 - }, 2514 - "node_modules/minimatch": { 2515 - "version": "3.1.2", 2516 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2517 - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2518 - "dev": true, 2519 - "license": "ISC", 2520 - "dependencies": { 2521 - "brace-expansion": "^1.1.7" 2522 - }, 2523 - "engines": { 2524 - "node": "*" 2525 - } 2526 - }, 2527 - "node_modules/mri": { 2528 - "version": "1.2.0", 2529 - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", 2530 - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", 2531 - "dev": true, 2532 - "license": "MIT", 2533 - "engines": { 2534 - "node": ">=4" 2535 - } 2536 - }, 2537 - "node_modules/mrmime": { 2538 - "version": "2.0.1", 2539 - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", 2540 - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", 2541 - "dev": true, 2542 - "license": "MIT", 2543 - "engines": { 2544 - "node": ">=10" 2545 - } 2546 - }, 2547 - "node_modules/ms": { 2548 - "version": "2.1.3", 2549 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 2550 - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 2551 - "dev": true, 2552 - "license": "MIT" 2553 - }, 2554 - "node_modules/nanoid": { 2555 - "version": "3.3.11", 2556 - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", 2557 - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", 2558 - "dev": true, 2559 - "funding": [ 2560 - { 2561 - "type": "github", 2562 - "url": "https://github.com/sponsors/ai" 2563 - } 2564 - ], 2565 - "license": "MIT", 2566 - "bin": { 2567 - "nanoid": "bin/nanoid.cjs" 2568 - }, 2569 - "engines": { 2570 - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 2571 - } 2572 - }, 2573 - "node_modules/natural-compare": { 2574 - "version": "1.4.0", 2575 - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 2576 - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 2577 - "dev": true, 2578 - "license": "MIT" 2579 - }, 2580 - "node_modules/no-case": { 2581 - "version": "3.0.4", 2582 - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", 2583 - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", 2584 - "dev": true, 2585 - "license": "MIT", 2586 - "dependencies": { 2587 - "lower-case": "^2.0.2", 2588 - "tslib": "^2.0.3" 2589 - } 2590 - }, 2591 - "node_modules/optionator": { 2592 - "version": "0.9.4", 2593 - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", 2594 - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", 2595 - "dev": true, 2596 - "license": "MIT", 2597 - "dependencies": { 2598 - "deep-is": "^0.1.3", 2599 - "fast-levenshtein": "^2.0.6", 2600 - "levn": "^0.4.1", 2601 - "prelude-ls": "^1.2.1", 2602 - "type-check": "^0.4.0", 2603 - "word-wrap": "^1.2.5" 2604 - }, 2605 - "engines": { 2606 - "node": ">= 0.8.0" 2607 - } 2608 - }, 2609 - "node_modules/p-limit": { 2610 - "version": "3.1.0", 2611 - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 2612 - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 2613 - "dev": true, 2614 - "license": "MIT", 2615 - "dependencies": { 2616 - "yocto-queue": "^0.1.0" 2617 - }, 2618 - "engines": { 2619 - "node": ">=10" 2620 - }, 2621 - "funding": { 2622 - "url": "https://github.com/sponsors/sindresorhus" 2623 - } 2624 - }, 2625 - "node_modules/p-locate": { 2626 - "version": "5.0.0", 2627 - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 2628 - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 2629 - "dev": true, 2630 - "license": "MIT", 2631 - "dependencies": { 2632 - "p-limit": "^3.0.2" 2633 - }, 2634 - "engines": { 2635 - "node": ">=10" 2636 - }, 2637 - "funding": { 2638 - "url": "https://github.com/sponsors/sindresorhus" 2639 - } 2640 - }, 2641 - "node_modules/package-manager-detector": { 2642 - "version": "1.3.0", 2643 - "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.3.0.tgz", 2644 - "integrity": "sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==", 2645 - "dev": true, 2646 - "license": "MIT" 2647 - }, 2648 - "node_modules/parent-module": { 2649 - "version": "1.0.1", 2650 - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 2651 - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 2652 - "dev": true, 2653 - "license": "MIT", 2654 - "dependencies": { 2655 - "callsites": "^3.0.0" 2656 - }, 2657 - "engines": { 2658 - "node": ">=6" 2659 - } 2660 - }, 2661 - "node_modules/pascal-case": { 2662 - "version": "3.1.2", 2663 - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", 2664 - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", 2665 - "dev": true, 2666 - "license": "MIT", 2667 - "dependencies": { 2668 - "no-case": "^3.0.4", 2669 - "tslib": "^2.0.3" 2670 - } 2671 - }, 2672 - "node_modules/path-exists": { 2673 - "version": "4.0.0", 2674 - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 2675 - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 2676 - "dev": true, 2677 - "license": "MIT", 2678 - "engines": { 2679 - "node": ">=8" 2680 - } 2681 - }, 2682 - "node_modules/path-key": { 2683 - "version": "3.1.1", 2684 - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 2685 - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 2686 - "dev": true, 2687 - "license": "MIT", 2688 - "engines": { 2689 - "node": ">=8" 2690 - } 2691 - }, 2692 - "node_modules/picocolors": { 2693 - "version": "1.1.1", 2694 - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 2695 - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 2696 - "dev": true, 2697 - "license": "ISC" 2698 - }, 2699 - "node_modules/picomatch": { 2700 - "version": "4.0.2", 2701 - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", 2702 - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", 2703 - "dev": true, 2704 - "license": "MIT", 2705 - "engines": { 2706 - "node": ">=12" 2707 - }, 2708 - "funding": { 2709 - "url": "https://github.com/sponsors/jonschlinkert" 2710 - } 2711 - }, 2712 - "node_modules/postcss": { 2713 - "version": "8.5.6", 2714 - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", 2715 - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", 2716 - "dev": true, 2717 - "funding": [ 2718 - { 2719 - "type": "opencollective", 2720 - "url": "https://opencollective.com/postcss/" 2721 - }, 2722 - { 2723 - "type": "tidelift", 2724 - "url": "https://tidelift.com/funding/github/npm/postcss" 2725 - }, 2726 - { 2727 - "type": "github", 2728 - "url": "https://github.com/sponsors/ai" 2729 - } 2730 - ], 2731 - "license": "MIT", 2732 - "dependencies": { 2733 - "nanoid": "^3.3.11", 2734 - "picocolors": "^1.1.1", 2735 - "source-map-js": "^1.2.1" 2736 - }, 2737 - "engines": { 2738 - "node": "^10 || ^12 || >=14" 2739 - } 2740 - }, 2741 - "node_modules/postcss-load-config": { 2742 - "version": "3.1.4", 2743 - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", 2744 - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", 2745 - "dev": true, 2746 - "license": "MIT", 2747 - "dependencies": { 2748 - "lilconfig": "^2.0.5", 2749 - "yaml": "^1.10.2" 2750 - }, 2751 - "engines": { 2752 - "node": ">= 10" 2753 - }, 2754 - "funding": { 2755 - "type": "opencollective", 2756 - "url": "https://opencollective.com/postcss/" 2757 - }, 2758 - "peerDependencies": { 2759 - "postcss": ">=8.0.9", 2760 - "ts-node": ">=9.0.0" 2761 - }, 2762 - "peerDependenciesMeta": { 2763 - "postcss": { 2764 - "optional": true 2765 - }, 2766 - "ts-node": { 2767 - "optional": true 2768 - } 2769 - } 2770 - }, 2771 - "node_modules/postcss-load-config/node_modules/yaml": { 2772 - "version": "1.10.2", 2773 - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 2774 - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 2775 - "dev": true, 2776 - "license": "ISC", 2777 - "engines": { 2778 - "node": ">= 6" 2779 - } 2780 - }, 2781 - "node_modules/postcss-safe-parser": { 2782 - "version": "7.0.1", 2783 - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", 2784 - "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", 2785 - "dev": true, 2786 - "funding": [ 2787 - { 2788 - "type": "opencollective", 2789 - "url": "https://opencollective.com/postcss/" 2790 - }, 2791 - { 2792 - "type": "tidelift", 2793 - "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" 2794 - }, 2795 - { 2796 - "type": "github", 2797 - "url": "https://github.com/sponsors/ai" 2798 - } 2799 - ], 2800 - "license": "MIT", 2801 - "engines": { 2802 - "node": ">=18.0" 2803 - }, 2804 - "peerDependencies": { 2805 - "postcss": "^8.4.31" 2806 - } 2807 - }, 2808 - "node_modules/postcss-scss": { 2809 - "version": "4.0.9", 2810 - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", 2811 - "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", 2812 - "dev": true, 2813 - "funding": [ 2814 - { 2815 - "type": "opencollective", 2816 - "url": "https://opencollective.com/postcss/" 2817 - }, 2818 - { 2819 - "type": "tidelift", 2820 - "url": "https://tidelift.com/funding/github/npm/postcss-scss" 2821 - }, 2822 - { 2823 - "type": "github", 2824 - "url": "https://github.com/sponsors/ai" 2825 - } 2826 - ], 2827 - "license": "MIT", 2828 - "engines": { 2829 - "node": ">=12.0" 2830 - }, 2831 - "peerDependencies": { 2832 - "postcss": "^8.4.29" 2833 - } 2834 - }, 2835 - "node_modules/postcss-selector-parser": { 2836 - "version": "7.1.0", 2837 - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", 2838 - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", 2839 - "dev": true, 2840 - "license": "MIT", 2841 - "dependencies": { 2842 - "cssesc": "^3.0.0", 2843 - "util-deprecate": "^1.0.2" 2844 - }, 2845 - "engines": { 2846 - "node": ">=4" 2847 - } 2848 - }, 2849 - "node_modules/prelude-ls": { 2850 - "version": "1.2.1", 2851 - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 2852 - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 2853 - "dev": true, 2854 - "license": "MIT", 2855 - "engines": { 2856 - "node": ">= 0.8.0" 2857 - } 2858 - }, 2859 - "node_modules/prettier": { 2860 - "version": "3.6.1", 2861 - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.1.tgz", 2862 - "integrity": "sha512-5xGWRa90Sp2+x1dQtNpIpeOQpTDBs9cZDmA/qs2vDNN2i18PdapqY7CmBeyLlMuGqXJRIOPaCaVZTLNQRWUH/A==", 2863 - "dev": true, 2864 - "license": "MIT", 2865 - "bin": { 2866 - "prettier": "bin/prettier.cjs" 2867 - }, 2868 - "engines": { 2869 - "node": ">=14" 2870 - }, 2871 - "funding": { 2872 - "url": "https://github.com/prettier/prettier?sponsor=1" 2873 - } 2874 - }, 2875 - "node_modules/prettier-plugin-svelte": { 2876 - "version": "3.4.0", 2877 - "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.4.0.tgz", 2878 - "integrity": "sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ==", 2879 - "dev": true, 2880 - "license": "MIT", 2881 - "peerDependencies": { 2882 - "prettier": "^3.0.0", 2883 - "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" 2884 - } 2885 - }, 2886 - "node_modules/publint": { 2887 - "version": "0.3.12", 2888 - "resolved": "https://registry.npmjs.org/publint/-/publint-0.3.12.tgz", 2889 - "integrity": "sha512-1w3MMtL9iotBjm1mmXtG3Nk06wnq9UhGNRpQ2j6n1Zq7YAD6gnxMMZMIxlRPAydVjVbjSm+n0lhwqsD1m4LD5w==", 2890 - "dev": true, 2891 - "license": "MIT", 2892 - "dependencies": { 2893 - "@publint/pack": "^0.1.2", 2894 - "package-manager-detector": "^1.1.0", 2895 - "picocolors": "^1.1.1", 2896 - "sade": "^1.8.1" 2897 - }, 2898 - "bin": { 2899 - "publint": "src/cli.js" 2900 - }, 2901 - "engines": { 2902 - "node": ">=18" 2903 - }, 2904 - "funding": { 2905 - "url": "https://bjornlu.com/sponsor" 2906 - } 2907 - }, 2908 - "node_modules/punycode": { 2909 - "version": "2.3.1", 2910 - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 2911 - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 2912 - "dev": true, 2913 - "license": "MIT", 2914 - "engines": { 2915 - "node": ">=6" 2916 - } 2917 - }, 2918 - "node_modules/queue-microtask": { 2919 - "version": "1.2.3", 2920 - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 2921 - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 2922 - "dev": true, 2923 - "funding": [ 2924 - { 2925 - "type": "github", 2926 - "url": "https://github.com/sponsors/feross" 2927 - }, 2928 - { 2929 - "type": "patreon", 2930 - "url": "https://www.patreon.com/feross" 2931 - }, 2932 - { 2933 - "type": "consulting", 2934 - "url": "https://feross.org/support" 2935 - } 2936 - ], 2937 - "license": "MIT" 2938 - }, 2939 - "node_modules/readdirp": { 2940 - "version": "4.1.2", 2941 - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", 2942 - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", 2943 - "dev": true, 2944 - "license": "MIT", 2945 - "engines": { 2946 - "node": ">= 14.18.0" 2947 - }, 2948 - "funding": { 2949 - "type": "individual", 2950 - "url": "https://paulmillr.com/funding/" 2951 - } 2952 - }, 2953 - "node_modules/resolve-from": { 2954 - "version": "4.0.0", 2955 - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 2956 - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 2957 - "dev": true, 2958 - "license": "MIT", 2959 - "engines": { 2960 - "node": ">=4" 2961 - } 2962 - }, 2963 - "node_modules/reusify": { 2964 - "version": "1.1.0", 2965 - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", 2966 - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", 2967 - "dev": true, 2968 - "license": "MIT", 2969 - "engines": { 2970 - "iojs": ">=1.0.0", 2971 - "node": ">=0.10.0" 2972 - } 2973 - }, 2974 - "node_modules/rollup": { 2975 - "version": "4.44.0", 2976 - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.0.tgz", 2977 - "integrity": "sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA==", 2978 - "dev": true, 2979 - "license": "MIT", 2980 - "dependencies": { 2981 - "@types/estree": "1.0.8" 2982 - }, 2983 - "bin": { 2984 - "rollup": "dist/bin/rollup" 2985 - }, 2986 - "engines": { 2987 - "node": ">=18.0.0", 2988 - "npm": ">=8.0.0" 2989 - }, 2990 - "optionalDependencies": { 2991 - "@rollup/rollup-android-arm-eabi": "4.44.0", 2992 - "@rollup/rollup-android-arm64": "4.44.0", 2993 - "@rollup/rollup-darwin-arm64": "4.44.0", 2994 - "@rollup/rollup-darwin-x64": "4.44.0", 2995 - "@rollup/rollup-freebsd-arm64": "4.44.0", 2996 - "@rollup/rollup-freebsd-x64": "4.44.0", 2997 - "@rollup/rollup-linux-arm-gnueabihf": "4.44.0", 2998 - "@rollup/rollup-linux-arm-musleabihf": "4.44.0", 2999 - "@rollup/rollup-linux-arm64-gnu": "4.44.0", 3000 - "@rollup/rollup-linux-arm64-musl": "4.44.0", 3001 - "@rollup/rollup-linux-loongarch64-gnu": "4.44.0", 3002 - "@rollup/rollup-linux-powerpc64le-gnu": "4.44.0", 3003 - "@rollup/rollup-linux-riscv64-gnu": "4.44.0", 3004 - "@rollup/rollup-linux-riscv64-musl": "4.44.0", 3005 - "@rollup/rollup-linux-s390x-gnu": "4.44.0", 3006 - "@rollup/rollup-linux-x64-gnu": "4.44.0", 3007 - "@rollup/rollup-linux-x64-musl": "4.44.0", 3008 - "@rollup/rollup-win32-arm64-msvc": "4.44.0", 3009 - "@rollup/rollup-win32-ia32-msvc": "4.44.0", 3010 - "@rollup/rollup-win32-x64-msvc": "4.44.0", 3011 - "fsevents": "~2.3.2" 3012 - } 3013 - }, 3014 - "node_modules/run-parallel": { 3015 - "version": "1.2.0", 3016 - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 3017 - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 3018 - "dev": true, 3019 - "funding": [ 3020 - { 3021 - "type": "github", 3022 - "url": "https://github.com/sponsors/feross" 3023 - }, 3024 - { 3025 - "type": "patreon", 3026 - "url": "https://www.patreon.com/feross" 3027 - }, 3028 - { 3029 - "type": "consulting", 3030 - "url": "https://feross.org/support" 3031 - } 3032 - ], 3033 - "license": "MIT", 3034 - "dependencies": { 3035 - "queue-microtask": "^1.2.2" 3036 - } 3037 - }, 3038 - "node_modules/sade": { 3039 - "version": "1.8.1", 3040 - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", 3041 - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", 3042 - "dev": true, 3043 - "license": "MIT", 3044 - "dependencies": { 3045 - "mri": "^1.1.0" 3046 - }, 3047 - "engines": { 3048 - "node": ">=6" 3049 - } 3050 - }, 3051 - "node_modules/semver": { 3052 - "version": "7.7.2", 3053 - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", 3054 - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", 3055 - "dev": true, 3056 - "license": "ISC", 3057 - "bin": { 3058 - "semver": "bin/semver.js" 3059 - }, 3060 - "engines": { 3061 - "node": ">=10" 3062 - } 3063 - }, 3064 - "node_modules/set-cookie-parser": { 3065 - "version": "2.7.1", 3066 - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", 3067 - "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", 3068 - "dev": true, 3069 - "license": "MIT" 3070 - }, 3071 - "node_modules/shebang-command": { 3072 - "version": "2.0.0", 3073 - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 3074 - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 3075 - "dev": true, 3076 - "license": "MIT", 3077 - "dependencies": { 3078 - "shebang-regex": "^3.0.0" 3079 - }, 3080 - "engines": { 3081 - "node": ">=8" 3082 - } 3083 - }, 3084 - "node_modules/shebang-regex": { 3085 - "version": "3.0.0", 3086 - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 3087 - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 3088 - "dev": true, 3089 - "license": "MIT", 3090 - "engines": { 3091 - "node": ">=8" 3092 - } 3093 - }, 3094 - "node_modules/sirv": { 3095 - "version": "3.0.1", 3096 - "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", 3097 - "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", 3098 - "dev": true, 3099 - "license": "MIT", 3100 - "dependencies": { 3101 - "@polka/url": "^1.0.0-next.24", 3102 - "mrmime": "^2.0.0", 3103 - "totalist": "^3.0.0" 3104 - }, 3105 - "engines": { 3106 - "node": ">=18" 3107 - } 3108 - }, 3109 - "node_modules/source-map-js": { 3110 - "version": "1.2.1", 3111 - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 3112 - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 3113 - "dev": true, 3114 - "license": "BSD-3-Clause", 3115 - "engines": { 3116 - "node": ">=0.10.0" 3117 - } 3118 - }, 3119 - "node_modules/strip-json-comments": { 3120 - "version": "3.1.1", 3121 - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 3122 - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 3123 - "dev": true, 3124 - "license": "MIT", 3125 - "engines": { 3126 - "node": ">=8" 3127 - }, 3128 - "funding": { 3129 - "url": "https://github.com/sponsors/sindresorhus" 3130 - } 3131 - }, 3132 - "node_modules/supports-color": { 3133 - "version": "7.2.0", 3134 - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 3135 - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 3136 - "dev": true, 3137 - "license": "MIT", 3138 - "dependencies": { 3139 - "has-flag": "^4.0.0" 3140 - }, 3141 - "engines": { 3142 - "node": ">=8" 3143 - } 3144 - }, 3145 - "node_modules/svelte": { 3146 - "version": "5.34.8", 3147 - "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.34.8.tgz", 3148 - "integrity": "sha512-TF+8irl7rpj3+fpaLuPRX5BqReTAqckp0Fumxa/mCeK3fo0/MnBb9W/Z2bLwtqj3C3r5Lm6NKIAw7YrgIv1Fwg==", 3149 - "dev": true, 3150 - "license": "MIT", 3151 - "dependencies": { 3152 - "@ampproject/remapping": "^2.3.0", 3153 - "@jridgewell/sourcemap-codec": "^1.5.0", 3154 - "@sveltejs/acorn-typescript": "^1.0.5", 3155 - "@types/estree": "^1.0.5", 3156 - "acorn": "^8.12.1", 3157 - "aria-query": "^5.3.1", 3158 - "axobject-query": "^4.1.0", 3159 - "clsx": "^2.1.1", 3160 - "esm-env": "^1.2.1", 3161 - "esrap": "^1.4.8", 3162 - "is-reference": "^3.0.3", 3163 - "locate-character": "^3.0.0", 3164 - "magic-string": "^0.30.11", 3165 - "zimmerframe": "^1.1.2" 3166 - }, 3167 - "engines": { 3168 - "node": ">=18" 3169 - } 3170 - }, 3171 - "node_modules/svelte-check": { 3172 - "version": "4.2.2", 3173 - "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.2.2.tgz", 3174 - "integrity": "sha512-1+31EOYZ7NKN0YDMKusav2hhEoA51GD9Ws6o//0SphMT0ve9mBTsTUEX7OmDMadUP3KjNHsSKtJrqdSaD8CrGQ==", 3175 - "dev": true, 3176 - "license": "MIT", 3177 - "dependencies": { 3178 - "@jridgewell/trace-mapping": "^0.3.25", 3179 - "chokidar": "^4.0.1", 3180 - "fdir": "^6.2.0", 3181 - "picocolors": "^1.0.0", 3182 - "sade": "^1.7.4" 3183 - }, 3184 - "bin": { 3185 - "svelte-check": "bin/svelte-check" 3186 - }, 3187 - "engines": { 3188 - "node": ">= 18.0.0" 3189 - }, 3190 - "peerDependencies": { 3191 - "svelte": "^4.0.0 || ^5.0.0-next.0", 3192 - "typescript": ">=5.0.0" 3193 - } 3194 - }, 3195 - "node_modules/svelte-eslint-parser": { 3196 - "version": "1.2.0", 3197 - "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.2.0.tgz", 3198 - "integrity": "sha512-mbPtajIeuiyU80BEyGvwAktBeTX7KCr5/0l+uRGLq1dafwRNrjfM5kHGJScEBlPG3ipu6dJqfW/k0/fujvIEVw==", 3199 - "dev": true, 3200 - "license": "MIT", 3201 - "dependencies": { 3202 - "eslint-scope": "^8.2.0", 3203 - "eslint-visitor-keys": "^4.0.0", 3204 - "espree": "^10.0.0", 3205 - "postcss": "^8.4.49", 3206 - "postcss-scss": "^4.0.9", 3207 - "postcss-selector-parser": "^7.0.0" 3208 - }, 3209 - "engines": { 3210 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 3211 - }, 3212 - "funding": { 3213 - "url": "https://github.com/sponsors/ota-meshi" 3214 - }, 3215 - "peerDependencies": { 3216 - "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" 3217 - }, 3218 - "peerDependenciesMeta": { 3219 - "svelte": { 3220 - "optional": true 3221 - } 3222 - } 3223 - }, 3224 - "node_modules/svelte2tsx": { 3225 - "version": "0.7.40", 3226 - "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.40.tgz", 3227 - "integrity": "sha512-Fgqe2lzC9DWT/kQTIXqN39O2ot9rUqzUu9dqpbuI6EsaEJ6+RSXVmXnxcNYMlKb2LRPDoIg9TVzXYWwi0zhCmQ==", 3228 - "dev": true, 3229 - "license": "MIT", 3230 - "dependencies": { 3231 - "dedent-js": "^1.0.1", 3232 - "pascal-case": "^3.1.1" 3233 - }, 3234 - "peerDependencies": { 3235 - "svelte": "^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0", 3236 - "typescript": "^4.9.4 || ^5.0.0" 3237 - } 3238 - }, 3239 - "node_modules/tinyglobby": { 3240 - "version": "0.2.14", 3241 - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", 3242 - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", 3243 - "dev": true, 3244 - "license": "MIT", 3245 - "dependencies": { 3246 - "fdir": "^6.4.4", 3247 - "picomatch": "^4.0.2" 3248 - }, 3249 - "engines": { 3250 - "node": ">=12.0.0" 3251 - }, 3252 - "funding": { 3253 - "url": "https://github.com/sponsors/SuperchupuDev" 3254 - } 3255 - }, 3256 - "node_modules/to-regex-range": { 3257 - "version": "5.0.1", 3258 - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 3259 - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 3260 - "dev": true, 3261 - "license": "MIT", 3262 - "dependencies": { 3263 - "is-number": "^7.0.0" 3264 - }, 3265 - "engines": { 3266 - "node": ">=8.0" 3267 - } 3268 - }, 3269 - "node_modules/totalist": { 3270 - "version": "3.0.1", 3271 - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", 3272 - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", 3273 - "dev": true, 3274 - "license": "MIT", 3275 - "engines": { 3276 - "node": ">=6" 3277 - } 3278 - }, 3279 - "node_modules/ts-api-utils": { 3280 - "version": "2.1.0", 3281 - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", 3282 - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", 3283 - "dev": true, 3284 - "license": "MIT", 3285 - "engines": { 3286 - "node": ">=18.12" 3287 - }, 3288 - "peerDependencies": { 3289 - "typescript": ">=4.8.4" 3290 - } 3291 - }, 3292 - "node_modules/tslib": { 3293 - "version": "2.8.1", 3294 - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 3295 - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", 3296 - "dev": true, 3297 - "license": "0BSD" 3298 - }, 3299 - "node_modules/type-check": { 3300 - "version": "0.4.0", 3301 - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 3302 - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 3303 - "dev": true, 3304 - "license": "MIT", 3305 - "dependencies": { 3306 - "prelude-ls": "^1.2.1" 3307 - }, 3308 - "engines": { 3309 - "node": ">= 0.8.0" 3310 - } 3311 - }, 3312 - "node_modules/typescript": { 3313 - "version": "5.8.3", 3314 - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", 3315 - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", 3316 - "dev": true, 3317 - "license": "Apache-2.0", 3318 - "bin": { 3319 - "tsc": "bin/tsc", 3320 - "tsserver": "bin/tsserver" 3321 - }, 3322 - "engines": { 3323 - "node": ">=14.17" 3324 - } 3325 - }, 3326 - "node_modules/typescript-eslint": { 3327 - "version": "8.35.0", 3328 - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.35.0.tgz", 3329 - "integrity": "sha512-uEnz70b7kBz6eg/j0Czy6K5NivaYopgxRjsnAJ2Fx5oTLo3wefTHIbL7AkQr1+7tJCRVpTs/wiM8JR/11Loq9A==", 3330 - "dev": true, 3331 - "license": "MIT", 3332 - "dependencies": { 3333 - "@typescript-eslint/eslint-plugin": "8.35.0", 3334 - "@typescript-eslint/parser": "8.35.0", 3335 - "@typescript-eslint/utils": "8.35.0" 3336 - }, 3337 - "engines": { 3338 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 3339 - }, 3340 - "funding": { 3341 - "type": "opencollective", 3342 - "url": "https://opencollective.com/typescript-eslint" 3343 - }, 3344 - "peerDependencies": { 3345 - "eslint": "^8.57.0 || ^9.0.0", 3346 - "typescript": ">=4.8.4 <5.9.0" 3347 - } 3348 - }, 3349 - "node_modules/uri-js": { 3350 - "version": "4.4.1", 3351 - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 3352 - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 3353 - "dev": true, 3354 - "license": "BSD-2-Clause", 3355 - "dependencies": { 3356 - "punycode": "^2.1.0" 3357 - } 3358 - }, 3359 - "node_modules/util-deprecate": { 3360 - "version": "1.0.2", 3361 - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3362 - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 3363 - "dev": true, 3364 - "license": "MIT" 3365 - }, 3366 - "node_modules/vite": { 3367 - "version": "6.3.5", 3368 - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", 3369 - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", 3370 - "dev": true, 3371 - "license": "MIT", 3372 - "dependencies": { 3373 - "esbuild": "^0.25.0", 3374 - "fdir": "^6.4.4", 3375 - "picomatch": "^4.0.2", 3376 - "postcss": "^8.5.3", 3377 - "rollup": "^4.34.9", 3378 - "tinyglobby": "^0.2.13" 3379 - }, 3380 - "bin": { 3381 - "vite": "bin/vite.js" 3382 - }, 3383 - "engines": { 3384 - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" 3385 - }, 3386 - "funding": { 3387 - "url": "https://github.com/vitejs/vite?sponsor=1" 3388 - }, 3389 - "optionalDependencies": { 3390 - "fsevents": "~2.3.3" 3391 - }, 3392 - "peerDependencies": { 3393 - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", 3394 - "jiti": ">=1.21.0", 3395 - "less": "*", 3396 - "lightningcss": "^1.21.0", 3397 - "sass": "*", 3398 - "sass-embedded": "*", 3399 - "stylus": "*", 3400 - "sugarss": "*", 3401 - "terser": "^5.16.0", 3402 - "tsx": "^4.8.1", 3403 - "yaml": "^2.4.2" 3404 - }, 3405 - "peerDependenciesMeta": { 3406 - "@types/node": { 3407 - "optional": true 3408 - }, 3409 - "jiti": { 3410 - "optional": true 3411 - }, 3412 - "less": { 3413 - "optional": true 3414 - }, 3415 - "lightningcss": { 3416 - "optional": true 3417 - }, 3418 - "sass": { 3419 - "optional": true 3420 - }, 3421 - "sass-embedded": { 3422 - "optional": true 3423 - }, 3424 - "stylus": { 3425 - "optional": true 3426 - }, 3427 - "sugarss": { 3428 - "optional": true 3429 - }, 3430 - "terser": { 3431 - "optional": true 3432 - }, 3433 - "tsx": { 3434 - "optional": true 3435 - }, 3436 - "yaml": { 3437 - "optional": true 3438 - } 3439 - } 3440 - }, 3441 - "node_modules/vitefu": { 3442 - "version": "1.0.7", 3443 - "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.7.tgz", 3444 - "integrity": "sha512-eRWXLBbJjW3X5z5P5IHcSm2yYbYRPb2kQuc+oqsbAl99WB5kVsPbiiox+cymo8twTzifA6itvhr2CmjnaZZp0Q==", 3445 - "dev": true, 3446 - "license": "MIT", 3447 - "workspaces": [ 3448 - "tests/deps/*", 3449 - "tests/projects/*" 3450 - ], 3451 - "peerDependencies": { 3452 - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" 3453 - }, 3454 - "peerDependenciesMeta": { 3455 - "vite": { 3456 - "optional": true 3457 - } 3458 - } 3459 - }, 3460 - "node_modules/which": { 3461 - "version": "2.0.2", 3462 - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 3463 - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 3464 - "dev": true, 3465 - "license": "ISC", 3466 - "dependencies": { 3467 - "isexe": "^2.0.0" 3468 - }, 3469 - "bin": { 3470 - "node-which": "bin/node-which" 3471 - }, 3472 - "engines": { 3473 - "node": ">= 8" 3474 - } 3475 - }, 3476 - "node_modules/word-wrap": { 3477 - "version": "1.2.5", 3478 - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", 3479 - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", 3480 - "dev": true, 3481 - "license": "MIT", 3482 - "engines": { 3483 - "node": ">=0.10.0" 3484 - } 3485 - }, 3486 - "node_modules/yaml": { 3487 - "version": "2.8.0", 3488 - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", 3489 - "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", 3490 - "dev": true, 3491 - "license": "ISC", 3492 - "optional": true, 3493 - "peer": true, 3494 - "bin": { 3495 - "yaml": "bin.mjs" 3496 - }, 3497 - "engines": { 3498 - "node": ">= 14.6" 3499 - } 3500 - }, 3501 - "node_modules/yocto-queue": { 3502 - "version": "0.1.0", 3503 - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 3504 - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 3505 - "dev": true, 3506 - "license": "MIT", 3507 - "engines": { 3508 - "node": ">=10" 3509 - }, 3510 - "funding": { 3511 - "url": "https://github.com/sponsors/sindresorhus" 3512 - } 3513 - }, 3514 - "node_modules/zimmerframe": { 3515 - "version": "1.1.2", 3516 - "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.2.tgz", 3517 - "integrity": "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==", 3518 - "dev": true, 3519 - "license": "MIT" 3520 - } 3521 - } 2 + "name": "kutils", 3 + "version": "0.0.1", 4 + "lockfileVersion": 3, 5 + "requires": true, 6 + "packages": { 7 + "": { 8 + "name": "kutils", 9 + "version": "0.0.1", 10 + "devDependencies": { 11 + "@sveltejs/adapter-auto": "^6.0.1", 12 + "@sveltejs/kit": "^2.22.0", 13 + "@sveltejs/package": "^2.3.11", 14 + "@sveltejs/vite-plugin-svelte": "^5.1.0", 15 + "eslint": "^9.29.0", 16 + "eslint-config-prettier": "^10.1.5", 17 + "eslint-plugin-svelte": "^3.9.3", 18 + "prettier": "^3.6.1", 19 + "prettier-plugin-svelte": "^3.4.0", 20 + "publint": "^0.3.12", 21 + "svelte": "^5.34.8", 22 + "svelte-check": "^4.2.2", 23 + "typescript": "^5.8.3", 24 + "typescript-eslint": "^8.35.0", 25 + "vite": "^6.3.5" 26 + }, 27 + "peerDependencies": { 28 + "svelte": "^5.0.0" 29 + } 30 + }, 31 + "kgrid": { 32 + "version": "1.0.0", 33 + "extraneous": true, 34 + "license": "ISC", 35 + "devDependencies": {} 36 + }, 37 + "node_modules/@ampproject/remapping": { 38 + "version": "2.3.0", 39 + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", 40 + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", 41 + "dev": true, 42 + "license": "Apache-2.0", 43 + "dependencies": { 44 + "@jridgewell/gen-mapping": "^0.3.5", 45 + "@jridgewell/trace-mapping": "^0.3.24" 46 + }, 47 + "engines": { 48 + "node": ">=6.0.0" 49 + } 50 + }, 51 + "node_modules/@esbuild/aix-ppc64": { 52 + "version": "0.25.5", 53 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", 54 + "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", 55 + "cpu": [ 56 + "ppc64" 57 + ], 58 + "dev": true, 59 + "license": "MIT", 60 + "optional": true, 61 + "os": [ 62 + "aix" 63 + ], 64 + "engines": { 65 + "node": ">=18" 66 + } 67 + }, 68 + "node_modules/@esbuild/android-arm": { 69 + "version": "0.25.5", 70 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz", 71 + "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", 72 + "cpu": [ 73 + "arm" 74 + ], 75 + "dev": true, 76 + "license": "MIT", 77 + "optional": true, 78 + "os": [ 79 + "android" 80 + ], 81 + "engines": { 82 + "node": ">=18" 83 + } 84 + }, 85 + "node_modules/@esbuild/android-arm64": { 86 + "version": "0.25.5", 87 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", 88 + "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", 89 + "cpu": [ 90 + "arm64" 91 + ], 92 + "dev": true, 93 + "license": "MIT", 94 + "optional": true, 95 + "os": [ 96 + "android" 97 + ], 98 + "engines": { 99 + "node": ">=18" 100 + } 101 + }, 102 + "node_modules/@esbuild/android-x64": { 103 + "version": "0.25.5", 104 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz", 105 + "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", 106 + "cpu": [ 107 + "x64" 108 + ], 109 + "dev": true, 110 + "license": "MIT", 111 + "optional": true, 112 + "os": [ 113 + "android" 114 + ], 115 + "engines": { 116 + "node": ">=18" 117 + } 118 + }, 119 + "node_modules/@esbuild/darwin-arm64": { 120 + "version": "0.25.5", 121 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", 122 + "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", 123 + "cpu": [ 124 + "arm64" 125 + ], 126 + "dev": true, 127 + "license": "MIT", 128 + "optional": true, 129 + "os": [ 130 + "darwin" 131 + ], 132 + "engines": { 133 + "node": ">=18" 134 + } 135 + }, 136 + "node_modules/@esbuild/darwin-x64": { 137 + "version": "0.25.5", 138 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz", 139 + "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==", 140 + "cpu": [ 141 + "x64" 142 + ], 143 + "dev": true, 144 + "license": "MIT", 145 + "optional": true, 146 + "os": [ 147 + "darwin" 148 + ], 149 + "engines": { 150 + "node": ">=18" 151 + } 152 + }, 153 + "node_modules/@esbuild/freebsd-arm64": { 154 + "version": "0.25.5", 155 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz", 156 + "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==", 157 + "cpu": [ 158 + "arm64" 159 + ], 160 + "dev": true, 161 + "license": "MIT", 162 + "optional": true, 163 + "os": [ 164 + "freebsd" 165 + ], 166 + "engines": { 167 + "node": ">=18" 168 + } 169 + }, 170 + "node_modules/@esbuild/freebsd-x64": { 171 + "version": "0.25.5", 172 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz", 173 + "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==", 174 + "cpu": [ 175 + "x64" 176 + ], 177 + "dev": true, 178 + "license": "MIT", 179 + "optional": true, 180 + "os": [ 181 + "freebsd" 182 + ], 183 + "engines": { 184 + "node": ">=18" 185 + } 186 + }, 187 + "node_modules/@esbuild/linux-arm": { 188 + "version": "0.25.5", 189 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz", 190 + "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==", 191 + "cpu": [ 192 + "arm" 193 + ], 194 + "dev": true, 195 + "license": "MIT", 196 + "optional": true, 197 + "os": [ 198 + "linux" 199 + ], 200 + "engines": { 201 + "node": ">=18" 202 + } 203 + }, 204 + "node_modules/@esbuild/linux-arm64": { 205 + "version": "0.25.5", 206 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz", 207 + "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==", 208 + "cpu": [ 209 + "arm64" 210 + ], 211 + "dev": true, 212 + "license": "MIT", 213 + "optional": true, 214 + "os": [ 215 + "linux" 216 + ], 217 + "engines": { 218 + "node": ">=18" 219 + } 220 + }, 221 + "node_modules/@esbuild/linux-ia32": { 222 + "version": "0.25.5", 223 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz", 224 + "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==", 225 + "cpu": [ 226 + "ia32" 227 + ], 228 + "dev": true, 229 + "license": "MIT", 230 + "optional": true, 231 + "os": [ 232 + "linux" 233 + ], 234 + "engines": { 235 + "node": ">=18" 236 + } 237 + }, 238 + "node_modules/@esbuild/linux-loong64": { 239 + "version": "0.25.5", 240 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz", 241 + "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==", 242 + "cpu": [ 243 + "loong64" 244 + ], 245 + "dev": true, 246 + "license": "MIT", 247 + "optional": true, 248 + "os": [ 249 + "linux" 250 + ], 251 + "engines": { 252 + "node": ">=18" 253 + } 254 + }, 255 + "node_modules/@esbuild/linux-mips64el": { 256 + "version": "0.25.5", 257 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz", 258 + "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==", 259 + "cpu": [ 260 + "mips64el" 261 + ], 262 + "dev": true, 263 + "license": "MIT", 264 + "optional": true, 265 + "os": [ 266 + "linux" 267 + ], 268 + "engines": { 269 + "node": ">=18" 270 + } 271 + }, 272 + "node_modules/@esbuild/linux-ppc64": { 273 + "version": "0.25.5", 274 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz", 275 + "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==", 276 + "cpu": [ 277 + "ppc64" 278 + ], 279 + "dev": true, 280 + "license": "MIT", 281 + "optional": true, 282 + "os": [ 283 + "linux" 284 + ], 285 + "engines": { 286 + "node": ">=18" 287 + } 288 + }, 289 + "node_modules/@esbuild/linux-riscv64": { 290 + "version": "0.25.5", 291 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz", 292 + "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==", 293 + "cpu": [ 294 + "riscv64" 295 + ], 296 + "dev": true, 297 + "license": "MIT", 298 + "optional": true, 299 + "os": [ 300 + "linux" 301 + ], 302 + "engines": { 303 + "node": ">=18" 304 + } 305 + }, 306 + "node_modules/@esbuild/linux-s390x": { 307 + "version": "0.25.5", 308 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz", 309 + "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==", 310 + "cpu": [ 311 + "s390x" 312 + ], 313 + "dev": true, 314 + "license": "MIT", 315 + "optional": true, 316 + "os": [ 317 + "linux" 318 + ], 319 + "engines": { 320 + "node": ">=18" 321 + } 322 + }, 323 + "node_modules/@esbuild/linux-x64": { 324 + "version": "0.25.5", 325 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz", 326 + "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==", 327 + "cpu": [ 328 + "x64" 329 + ], 330 + "dev": true, 331 + "license": "MIT", 332 + "optional": true, 333 + "os": [ 334 + "linux" 335 + ], 336 + "engines": { 337 + "node": ">=18" 338 + } 339 + }, 340 + "node_modules/@esbuild/netbsd-arm64": { 341 + "version": "0.25.5", 342 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz", 343 + "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==", 344 + "cpu": [ 345 + "arm64" 346 + ], 347 + "dev": true, 348 + "license": "MIT", 349 + "optional": true, 350 + "os": [ 351 + "netbsd" 352 + ], 353 + "engines": { 354 + "node": ">=18" 355 + } 356 + }, 357 + "node_modules/@esbuild/netbsd-x64": { 358 + "version": "0.25.5", 359 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz", 360 + "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==", 361 + "cpu": [ 362 + "x64" 363 + ], 364 + "dev": true, 365 + "license": "MIT", 366 + "optional": true, 367 + "os": [ 368 + "netbsd" 369 + ], 370 + "engines": { 371 + "node": ">=18" 372 + } 373 + }, 374 + "node_modules/@esbuild/openbsd-arm64": { 375 + "version": "0.25.5", 376 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz", 377 + "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==", 378 + "cpu": [ 379 + "arm64" 380 + ], 381 + "dev": true, 382 + "license": "MIT", 383 + "optional": true, 384 + "os": [ 385 + "openbsd" 386 + ], 387 + "engines": { 388 + "node": ">=18" 389 + } 390 + }, 391 + "node_modules/@esbuild/openbsd-x64": { 392 + "version": "0.25.5", 393 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz", 394 + "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==", 395 + "cpu": [ 396 + "x64" 397 + ], 398 + "dev": true, 399 + "license": "MIT", 400 + "optional": true, 401 + "os": [ 402 + "openbsd" 403 + ], 404 + "engines": { 405 + "node": ">=18" 406 + } 407 + }, 408 + "node_modules/@esbuild/sunos-x64": { 409 + "version": "0.25.5", 410 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz", 411 + "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==", 412 + "cpu": [ 413 + "x64" 414 + ], 415 + "dev": true, 416 + "license": "MIT", 417 + "optional": true, 418 + "os": [ 419 + "sunos" 420 + ], 421 + "engines": { 422 + "node": ">=18" 423 + } 424 + }, 425 + "node_modules/@esbuild/win32-arm64": { 426 + "version": "0.25.5", 427 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz", 428 + "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==", 429 + "cpu": [ 430 + "arm64" 431 + ], 432 + "dev": true, 433 + "license": "MIT", 434 + "optional": true, 435 + "os": [ 436 + "win32" 437 + ], 438 + "engines": { 439 + "node": ">=18" 440 + } 441 + }, 442 + "node_modules/@esbuild/win32-ia32": { 443 + "version": "0.25.5", 444 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz", 445 + "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==", 446 + "cpu": [ 447 + "ia32" 448 + ], 449 + "dev": true, 450 + "license": "MIT", 451 + "optional": true, 452 + "os": [ 453 + "win32" 454 + ], 455 + "engines": { 456 + "node": ">=18" 457 + } 458 + }, 459 + "node_modules/@esbuild/win32-x64": { 460 + "version": "0.25.5", 461 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz", 462 + "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==", 463 + "cpu": [ 464 + "x64" 465 + ], 466 + "dev": true, 467 + "license": "MIT", 468 + "optional": true, 469 + "os": [ 470 + "win32" 471 + ], 472 + "engines": { 473 + "node": ">=18" 474 + } 475 + }, 476 + "node_modules/@eslint-community/eslint-utils": { 477 + "version": "4.7.0", 478 + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", 479 + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", 480 + "dev": true, 481 + "license": "MIT", 482 + "dependencies": { 483 + "eslint-visitor-keys": "^3.4.3" 484 + }, 485 + "engines": { 486 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 487 + }, 488 + "funding": { 489 + "url": "https://opencollective.com/eslint" 490 + }, 491 + "peerDependencies": { 492 + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" 493 + } 494 + }, 495 + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { 496 + "version": "3.4.3", 497 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 498 + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 499 + "dev": true, 500 + "license": "Apache-2.0", 501 + "engines": { 502 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 503 + }, 504 + "funding": { 505 + "url": "https://opencollective.com/eslint" 506 + } 507 + }, 508 + "node_modules/@eslint-community/regexpp": { 509 + "version": "4.12.1", 510 + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", 511 + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", 512 + "dev": true, 513 + "license": "MIT", 514 + "engines": { 515 + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 516 + } 517 + }, 518 + "node_modules/@eslint/config-array": { 519 + "version": "0.20.1", 520 + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.1.tgz", 521 + "integrity": "sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==", 522 + "dev": true, 523 + "license": "Apache-2.0", 524 + "dependencies": { 525 + "@eslint/object-schema": "^2.1.6", 526 + "debug": "^4.3.1", 527 + "minimatch": "^3.1.2" 528 + }, 529 + "engines": { 530 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 531 + } 532 + }, 533 + "node_modules/@eslint/config-helpers": { 534 + "version": "0.2.3", 535 + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.3.tgz", 536 + "integrity": "sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==", 537 + "dev": true, 538 + "license": "Apache-2.0", 539 + "engines": { 540 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 541 + } 542 + }, 543 + "node_modules/@eslint/core": { 544 + "version": "0.14.0", 545 + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", 546 + "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", 547 + "dev": true, 548 + "license": "Apache-2.0", 549 + "dependencies": { 550 + "@types/json-schema": "^7.0.15" 551 + }, 552 + "engines": { 553 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 554 + } 555 + }, 556 + "node_modules/@eslint/eslintrc": { 557 + "version": "3.3.1", 558 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", 559 + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", 560 + "dev": true, 561 + "license": "MIT", 562 + "dependencies": { 563 + "ajv": "^6.12.4", 564 + "debug": "^4.3.2", 565 + "espree": "^10.0.1", 566 + "globals": "^14.0.0", 567 + "ignore": "^5.2.0", 568 + "import-fresh": "^3.2.1", 569 + "js-yaml": "^4.1.0", 570 + "minimatch": "^3.1.2", 571 + "strip-json-comments": "^3.1.1" 572 + }, 573 + "engines": { 574 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 575 + }, 576 + "funding": { 577 + "url": "https://opencollective.com/eslint" 578 + } 579 + }, 580 + "node_modules/@eslint/js": { 581 + "version": "9.29.0", 582 + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.29.0.tgz", 583 + "integrity": "sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==", 584 + "dev": true, 585 + "license": "MIT", 586 + "engines": { 587 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 588 + }, 589 + "funding": { 590 + "url": "https://eslint.org/donate" 591 + } 592 + }, 593 + "node_modules/@eslint/object-schema": { 594 + "version": "2.1.6", 595 + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", 596 + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", 597 + "dev": true, 598 + "license": "Apache-2.0", 599 + "engines": { 600 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 601 + } 602 + }, 603 + "node_modules/@eslint/plugin-kit": { 604 + "version": "0.3.3", 605 + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.3.tgz", 606 + "integrity": "sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==", 607 + "dev": true, 608 + "license": "Apache-2.0", 609 + "dependencies": { 610 + "@eslint/core": "^0.15.1", 611 + "levn": "^0.4.1" 612 + }, 613 + "engines": { 614 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 615 + } 616 + }, 617 + "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { 618 + "version": "0.15.1", 619 + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.1.tgz", 620 + "integrity": "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==", 621 + "dev": true, 622 + "license": "Apache-2.0", 623 + "dependencies": { 624 + "@types/json-schema": "^7.0.15" 625 + }, 626 + "engines": { 627 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 628 + } 629 + }, 630 + "node_modules/@humanfs/core": { 631 + "version": "0.19.1", 632 + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", 633 + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", 634 + "dev": true, 635 + "license": "Apache-2.0", 636 + "engines": { 637 + "node": ">=18.18.0" 638 + } 639 + }, 640 + "node_modules/@humanfs/node": { 641 + "version": "0.16.6", 642 + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", 643 + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", 644 + "dev": true, 645 + "license": "Apache-2.0", 646 + "dependencies": { 647 + "@humanfs/core": "^0.19.1", 648 + "@humanwhocodes/retry": "^0.3.0" 649 + }, 650 + "engines": { 651 + "node": ">=18.18.0" 652 + } 653 + }, 654 + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { 655 + "version": "0.3.1", 656 + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", 657 + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", 658 + "dev": true, 659 + "license": "Apache-2.0", 660 + "engines": { 661 + "node": ">=18.18" 662 + }, 663 + "funding": { 664 + "type": "github", 665 + "url": "https://github.com/sponsors/nzakas" 666 + } 667 + }, 668 + "node_modules/@humanwhocodes/module-importer": { 669 + "version": "1.0.1", 670 + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 671 + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 672 + "dev": true, 673 + "license": "Apache-2.0", 674 + "engines": { 675 + "node": ">=12.22" 676 + }, 677 + "funding": { 678 + "type": "github", 679 + "url": "https://github.com/sponsors/nzakas" 680 + } 681 + }, 682 + "node_modules/@humanwhocodes/retry": { 683 + "version": "0.4.3", 684 + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", 685 + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", 686 + "dev": true, 687 + "license": "Apache-2.0", 688 + "engines": { 689 + "node": ">=18.18" 690 + }, 691 + "funding": { 692 + "type": "github", 693 + "url": "https://github.com/sponsors/nzakas" 694 + } 695 + }, 696 + "node_modules/@jridgewell/gen-mapping": { 697 + "version": "0.3.8", 698 + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", 699 + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", 700 + "dev": true, 701 + "license": "MIT", 702 + "dependencies": { 703 + "@jridgewell/set-array": "^1.2.1", 704 + "@jridgewell/sourcemap-codec": "^1.4.10", 705 + "@jridgewell/trace-mapping": "^0.3.24" 706 + }, 707 + "engines": { 708 + "node": ">=6.0.0" 709 + } 710 + }, 711 + "node_modules/@jridgewell/resolve-uri": { 712 + "version": "3.1.2", 713 + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 714 + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 715 + "dev": true, 716 + "license": "MIT", 717 + "engines": { 718 + "node": ">=6.0.0" 719 + } 720 + }, 721 + "node_modules/@jridgewell/set-array": { 722 + "version": "1.2.1", 723 + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 724 + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 725 + "dev": true, 726 + "license": "MIT", 727 + "engines": { 728 + "node": ">=6.0.0" 729 + } 730 + }, 731 + "node_modules/@jridgewell/sourcemap-codec": { 732 + "version": "1.5.0", 733 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 734 + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", 735 + "dev": true, 736 + "license": "MIT" 737 + }, 738 + "node_modules/@jridgewell/trace-mapping": { 739 + "version": "0.3.25", 740 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 741 + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 742 + "dev": true, 743 + "license": "MIT", 744 + "dependencies": { 745 + "@jridgewell/resolve-uri": "^3.1.0", 746 + "@jridgewell/sourcemap-codec": "^1.4.14" 747 + } 748 + }, 749 + "node_modules/@nodelib/fs.scandir": { 750 + "version": "2.1.5", 751 + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 752 + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 753 + "dev": true, 754 + "license": "MIT", 755 + "dependencies": { 756 + "@nodelib/fs.stat": "2.0.5", 757 + "run-parallel": "^1.1.9" 758 + }, 759 + "engines": { 760 + "node": ">= 8" 761 + } 762 + }, 763 + "node_modules/@nodelib/fs.stat": { 764 + "version": "2.0.5", 765 + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 766 + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 767 + "dev": true, 768 + "license": "MIT", 769 + "engines": { 770 + "node": ">= 8" 771 + } 772 + }, 773 + "node_modules/@nodelib/fs.walk": { 774 + "version": "1.2.8", 775 + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 776 + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 777 + "dev": true, 778 + "license": "MIT", 779 + "dependencies": { 780 + "@nodelib/fs.scandir": "2.1.5", 781 + "fastq": "^1.6.0" 782 + }, 783 + "engines": { 784 + "node": ">= 8" 785 + } 786 + }, 787 + "node_modules/@polka/url": { 788 + "version": "1.0.0-next.29", 789 + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", 790 + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", 791 + "dev": true, 792 + "license": "MIT" 793 + }, 794 + "node_modules/@publint/pack": { 795 + "version": "0.1.2", 796 + "resolved": "https://registry.npmjs.org/@publint/pack/-/pack-0.1.2.tgz", 797 + "integrity": "sha512-S+9ANAvUmjutrshV4jZjaiG8XQyuJIZ8a4utWmN/vW1sgQ9IfBnPndwkmQYw53QmouOIytT874u65HEmu6H5jw==", 798 + "dev": true, 799 + "license": "MIT", 800 + "engines": { 801 + "node": ">=18" 802 + }, 803 + "funding": { 804 + "url": "https://bjornlu.com/sponsor" 805 + } 806 + }, 807 + "node_modules/@rollup/rollup-android-arm-eabi": { 808 + "version": "4.44.0", 809 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.0.tgz", 810 + "integrity": "sha512-xEiEE5oDW6tK4jXCAyliuntGR+amEMO7HLtdSshVuhFnKTYoeYMyXQK7pLouAJJj5KHdwdn87bfHAR2nSdNAUA==", 811 + "cpu": [ 812 + "arm" 813 + ], 814 + "dev": true, 815 + "license": "MIT", 816 + "optional": true, 817 + "os": [ 818 + "android" 819 + ] 820 + }, 821 + "node_modules/@rollup/rollup-android-arm64": { 822 + "version": "4.44.0", 823 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.0.tgz", 824 + "integrity": "sha512-uNSk/TgvMbskcHxXYHzqwiyBlJ/lGcv8DaUfcnNwict8ba9GTTNxfn3/FAoFZYgkaXXAdrAA+SLyKplyi349Jw==", 825 + "cpu": [ 826 + "arm64" 827 + ], 828 + "dev": true, 829 + "license": "MIT", 830 + "optional": true, 831 + "os": [ 832 + "android" 833 + ] 834 + }, 835 + "node_modules/@rollup/rollup-darwin-arm64": { 836 + "version": "4.44.0", 837 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.0.tgz", 838 + "integrity": "sha512-VGF3wy0Eq1gcEIkSCr8Ke03CWT+Pm2yveKLaDvq51pPpZza3JX/ClxXOCmTYYq3us5MvEuNRTaeyFThCKRQhOA==", 839 + "cpu": [ 840 + "arm64" 841 + ], 842 + "dev": true, 843 + "license": "MIT", 844 + "optional": true, 845 + "os": [ 846 + "darwin" 847 + ] 848 + }, 849 + "node_modules/@rollup/rollup-darwin-x64": { 850 + "version": "4.44.0", 851 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.0.tgz", 852 + "integrity": "sha512-fBkyrDhwquRvrTxSGH/qqt3/T0w5Rg0L7ZIDypvBPc1/gzjJle6acCpZ36blwuwcKD/u6oCE/sRWlUAcxLWQbQ==", 853 + "cpu": [ 854 + "x64" 855 + ], 856 + "dev": true, 857 + "license": "MIT", 858 + "optional": true, 859 + "os": [ 860 + "darwin" 861 + ] 862 + }, 863 + "node_modules/@rollup/rollup-freebsd-arm64": { 864 + "version": "4.44.0", 865 + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.0.tgz", 866 + "integrity": "sha512-u5AZzdQJYJXByB8giQ+r4VyfZP+walV+xHWdaFx/1VxsOn6eWJhK2Vl2eElvDJFKQBo/hcYIBg/jaKS8ZmKeNQ==", 867 + "cpu": [ 868 + "arm64" 869 + ], 870 + "dev": true, 871 + "license": "MIT", 872 + "optional": true, 873 + "os": [ 874 + "freebsd" 875 + ] 876 + }, 877 + "node_modules/@rollup/rollup-freebsd-x64": { 878 + "version": "4.44.0", 879 + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.0.tgz", 880 + "integrity": "sha512-qC0kS48c/s3EtdArkimctY7h3nHicQeEUdjJzYVJYR3ct3kWSafmn6jkNCA8InbUdge6PVx6keqjk5lVGJf99g==", 881 + "cpu": [ 882 + "x64" 883 + ], 884 + "dev": true, 885 + "license": "MIT", 886 + "optional": true, 887 + "os": [ 888 + "freebsd" 889 + ] 890 + }, 891 + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { 892 + "version": "4.44.0", 893 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.0.tgz", 894 + "integrity": "sha512-x+e/Z9H0RAWckn4V2OZZl6EmV0L2diuX3QB0uM1r6BvhUIv6xBPL5mrAX2E3e8N8rEHVPwFfz/ETUbV4oW9+lQ==", 895 + "cpu": [ 896 + "arm" 897 + ], 898 + "dev": true, 899 + "license": "MIT", 900 + "optional": true, 901 + "os": [ 902 + "linux" 903 + ] 904 + }, 905 + "node_modules/@rollup/rollup-linux-arm-musleabihf": { 906 + "version": "4.44.0", 907 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.0.tgz", 908 + "integrity": "sha512-1exwiBFf4PU/8HvI8s80icyCcnAIB86MCBdst51fwFmH5dyeoWVPVgmQPcKrMtBQ0W5pAs7jBCWuRXgEpRzSCg==", 909 + "cpu": [ 910 + "arm" 911 + ], 912 + "dev": true, 913 + "license": "MIT", 914 + "optional": true, 915 + "os": [ 916 + "linux" 917 + ] 918 + }, 919 + "node_modules/@rollup/rollup-linux-arm64-gnu": { 920 + "version": "4.44.0", 921 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.0.tgz", 922 + "integrity": "sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ==", 923 + "cpu": [ 924 + "arm64" 925 + ], 926 + "dev": true, 927 + "license": "MIT", 928 + "optional": true, 929 + "os": [ 930 + "linux" 931 + ] 932 + }, 933 + "node_modules/@rollup/rollup-linux-arm64-musl": { 934 + "version": "4.44.0", 935 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.0.tgz", 936 + "integrity": "sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q==", 937 + "cpu": [ 938 + "arm64" 939 + ], 940 + "dev": true, 941 + "license": "MIT", 942 + "optional": true, 943 + "os": [ 944 + "linux" 945 + ] 946 + }, 947 + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { 948 + "version": "4.44.0", 949 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.0.tgz", 950 + "integrity": "sha512-xw+FTGcov/ejdusVOqKgMGW3c4+AgqrfvzWEVXcNP6zq2ue+lsYUgJ+5Rtn/OTJf7e2CbgTFvzLW2j0YAtj0Gg==", 951 + "cpu": [ 952 + "loong64" 953 + ], 954 + "dev": true, 955 + "license": "MIT", 956 + "optional": true, 957 + "os": [ 958 + "linux" 959 + ] 960 + }, 961 + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { 962 + "version": "4.44.0", 963 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.0.tgz", 964 + "integrity": "sha512-bKGibTr9IdF0zr21kMvkZT4K6NV+jjRnBoVMt2uNMG0BYWm3qOVmYnXKzx7UhwrviKnmK46IKMByMgvpdQlyJQ==", 965 + "cpu": [ 966 + "ppc64" 967 + ], 968 + "dev": true, 969 + "license": "MIT", 970 + "optional": true, 971 + "os": [ 972 + "linux" 973 + ] 974 + }, 975 + "node_modules/@rollup/rollup-linux-riscv64-gnu": { 976 + "version": "4.44.0", 977 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.0.tgz", 978 + "integrity": "sha512-vV3cL48U5kDaKZtXrti12YRa7TyxgKAIDoYdqSIOMOFBXqFj2XbChHAtXquEn2+n78ciFgr4KIqEbydEGPxXgA==", 979 + "cpu": [ 980 + "riscv64" 981 + ], 982 + "dev": true, 983 + "license": "MIT", 984 + "optional": true, 985 + "os": [ 986 + "linux" 987 + ] 988 + }, 989 + "node_modules/@rollup/rollup-linux-riscv64-musl": { 990 + "version": "4.44.0", 991 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.0.tgz", 992 + "integrity": "sha512-TDKO8KlHJuvTEdfw5YYFBjhFts2TR0VpZsnLLSYmB7AaohJhM8ctDSdDnUGq77hUh4m/djRafw+9zQpkOanE2Q==", 993 + "cpu": [ 994 + "riscv64" 995 + ], 996 + "dev": true, 997 + "license": "MIT", 998 + "optional": true, 999 + "os": [ 1000 + "linux" 1001 + ] 1002 + }, 1003 + "node_modules/@rollup/rollup-linux-s390x-gnu": { 1004 + "version": "4.44.0", 1005 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.0.tgz", 1006 + "integrity": "sha512-8541GEyktXaw4lvnGp9m84KENcxInhAt6vPWJ9RodsB/iGjHoMB2Pp5MVBCiKIRxrxzJhGCxmNzdu+oDQ7kwRA==", 1007 + "cpu": [ 1008 + "s390x" 1009 + ], 1010 + "dev": true, 1011 + "license": "MIT", 1012 + "optional": true, 1013 + "os": [ 1014 + "linux" 1015 + ] 1016 + }, 1017 + "node_modules/@rollup/rollup-linux-x64-gnu": { 1018 + "version": "4.44.0", 1019 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.0.tgz", 1020 + "integrity": "sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw==", 1021 + "cpu": [ 1022 + "x64" 1023 + ], 1024 + "dev": true, 1025 + "license": "MIT", 1026 + "optional": true, 1027 + "os": [ 1028 + "linux" 1029 + ] 1030 + }, 1031 + "node_modules/@rollup/rollup-linux-x64-musl": { 1032 + "version": "4.44.0", 1033 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.0.tgz", 1034 + "integrity": "sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA==", 1035 + "cpu": [ 1036 + "x64" 1037 + ], 1038 + "dev": true, 1039 + "license": "MIT", 1040 + "optional": true, 1041 + "os": [ 1042 + "linux" 1043 + ] 1044 + }, 1045 + "node_modules/@rollup/rollup-win32-arm64-msvc": { 1046 + "version": "4.44.0", 1047 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.0.tgz", 1048 + "integrity": "sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w==", 1049 + "cpu": [ 1050 + "arm64" 1051 + ], 1052 + "dev": true, 1053 + "license": "MIT", 1054 + "optional": true, 1055 + "os": [ 1056 + "win32" 1057 + ] 1058 + }, 1059 + "node_modules/@rollup/rollup-win32-ia32-msvc": { 1060 + "version": "4.44.0", 1061 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.0.tgz", 1062 + "integrity": "sha512-3XJ0NQtMAXTWFW8FqZKcw3gOQwBtVWP/u8TpHP3CRPXD7Pd6s8lLdH3sHWh8vqKCyyiI8xW5ltJScQmBU9j7WA==", 1063 + "cpu": [ 1064 + "ia32" 1065 + ], 1066 + "dev": true, 1067 + "license": "MIT", 1068 + "optional": true, 1069 + "os": [ 1070 + "win32" 1071 + ] 1072 + }, 1073 + "node_modules/@rollup/rollup-win32-x64-msvc": { 1074 + "version": "4.44.0", 1075 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.0.tgz", 1076 + "integrity": "sha512-Q2Mgwt+D8hd5FIPUuPDsvPR7Bguza6yTkJxspDGkZj7tBRn2y4KSWYuIXpftFSjBra76TbKerCV7rgFPQrn+wQ==", 1077 + "cpu": [ 1078 + "x64" 1079 + ], 1080 + "dev": true, 1081 + "license": "MIT", 1082 + "optional": true, 1083 + "os": [ 1084 + "win32" 1085 + ] 1086 + }, 1087 + "node_modules/@sveltejs/acorn-typescript": { 1088 + "version": "1.0.5", 1089 + "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.5.tgz", 1090 + "integrity": "sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==", 1091 + "dev": true, 1092 + "license": "MIT", 1093 + "peerDependencies": { 1094 + "acorn": "^8.9.0" 1095 + } 1096 + }, 1097 + "node_modules/@sveltejs/adapter-auto": { 1098 + "version": "6.0.1", 1099 + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-6.0.1.tgz", 1100 + "integrity": "sha512-mcWud3pYGPWM2Pphdj8G9Qiq24nZ8L4LB7coCUckUEy5Y7wOWGJ/enaZ4AtJTcSm5dNK1rIkBRoqt+ae4zlxcQ==", 1101 + "dev": true, 1102 + "license": "MIT", 1103 + "peerDependencies": { 1104 + "@sveltejs/kit": "^2.0.0" 1105 + } 1106 + }, 1107 + "node_modules/@sveltejs/kit": { 1108 + "version": "2.22.0", 1109 + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.22.0.tgz", 1110 + "integrity": "sha512-DJm0UxVgzXq+1MUfiJK4Ridk7oIQsIets6JwHiEl97sI6nXScfXe+BeqNhzB7jQIVBb3BM51U4hNk8qQxRXBAA==", 1111 + "dev": true, 1112 + "license": "MIT", 1113 + "dependencies": { 1114 + "@sveltejs/acorn-typescript": "^1.0.5", 1115 + "@types/cookie": "^0.6.0", 1116 + "acorn": "^8.14.1", 1117 + "cookie": "^0.6.0", 1118 + "devalue": "^5.1.0", 1119 + "esm-env": "^1.2.2", 1120 + "kleur": "^4.1.5", 1121 + "magic-string": "^0.30.5", 1122 + "mrmime": "^2.0.0", 1123 + "sade": "^1.8.1", 1124 + "set-cookie-parser": "^2.6.0", 1125 + "sirv": "^3.0.0", 1126 + "vitefu": "^1.0.6" 1127 + }, 1128 + "bin": { 1129 + "svelte-kit": "svelte-kit.js" 1130 + }, 1131 + "engines": { 1132 + "node": ">=18.13" 1133 + }, 1134 + "peerDependencies": { 1135 + "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0", 1136 + "svelte": "^4.0.0 || ^5.0.0-next.0", 1137 + "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0" 1138 + } 1139 + }, 1140 + "node_modules/@sveltejs/package": { 1141 + "version": "2.3.11", 1142 + "resolved": "https://registry.npmjs.org/@sveltejs/package/-/package-2.3.11.tgz", 1143 + "integrity": "sha512-DSMt2U0XNAdoQBYksrmgQi5dKy7jUTVDJLiagS/iXF7AShjAmTbGJQKruBuT/FfYAWvNxfQTSjkXU8eAIjVeNg==", 1144 + "dev": true, 1145 + "license": "MIT", 1146 + "dependencies": { 1147 + "chokidar": "^4.0.3", 1148 + "kleur": "^4.1.5", 1149 + "sade": "^1.8.1", 1150 + "semver": "^7.5.4", 1151 + "svelte2tsx": "~0.7.33" 1152 + }, 1153 + "bin": { 1154 + "svelte-package": "svelte-package.js" 1155 + }, 1156 + "engines": { 1157 + "node": "^16.14 || >=18" 1158 + }, 1159 + "peerDependencies": { 1160 + "svelte": "^3.44.0 || ^4.0.0 || ^5.0.0-next.1" 1161 + } 1162 + }, 1163 + "node_modules/@sveltejs/vite-plugin-svelte": { 1164 + "version": "5.1.0", 1165 + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-5.1.0.tgz", 1166 + "integrity": "sha512-wojIS/7GYnJDYIg1higWj2ROA6sSRWvcR1PO/bqEyFr/5UZah26c8Cz4u0NaqjPeVltzsVpt2Tm8d2io0V+4Tw==", 1167 + "dev": true, 1168 + "license": "MIT", 1169 + "dependencies": { 1170 + "@sveltejs/vite-plugin-svelte-inspector": "^4.0.1", 1171 + "debug": "^4.4.1", 1172 + "deepmerge": "^4.3.1", 1173 + "kleur": "^4.1.5", 1174 + "magic-string": "^0.30.17", 1175 + "vitefu": "^1.0.6" 1176 + }, 1177 + "engines": { 1178 + "node": "^18.0.0 || ^20.0.0 || >=22" 1179 + }, 1180 + "peerDependencies": { 1181 + "svelte": "^5.0.0", 1182 + "vite": "^6.0.0" 1183 + } 1184 + }, 1185 + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { 1186 + "version": "4.0.1", 1187 + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-4.0.1.tgz", 1188 + "integrity": "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==", 1189 + "dev": true, 1190 + "license": "MIT", 1191 + "dependencies": { 1192 + "debug": "^4.3.7" 1193 + }, 1194 + "engines": { 1195 + "node": "^18.0.0 || ^20.0.0 || >=22" 1196 + }, 1197 + "peerDependencies": { 1198 + "@sveltejs/vite-plugin-svelte": "^5.0.0", 1199 + "svelte": "^5.0.0", 1200 + "vite": "^6.0.0" 1201 + } 1202 + }, 1203 + "node_modules/@types/cookie": { 1204 + "version": "0.6.0", 1205 + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", 1206 + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", 1207 + "dev": true, 1208 + "license": "MIT" 1209 + }, 1210 + "node_modules/@types/estree": { 1211 + "version": "1.0.8", 1212 + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", 1213 + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", 1214 + "dev": true, 1215 + "license": "MIT" 1216 + }, 1217 + "node_modules/@types/json-schema": { 1218 + "version": "7.0.15", 1219 + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 1220 + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", 1221 + "dev": true, 1222 + "license": "MIT" 1223 + }, 1224 + "node_modules/@typescript-eslint/eslint-plugin": { 1225 + "version": "8.35.0", 1226 + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.35.0.tgz", 1227 + "integrity": "sha512-ijItUYaiWuce0N1SoSMrEd0b6b6lYkYt99pqCPfybd+HKVXtEvYhICfLdwp42MhiI5mp0oq7PKEL+g1cNiz/Eg==", 1228 + "dev": true, 1229 + "license": "MIT", 1230 + "dependencies": { 1231 + "@eslint-community/regexpp": "^4.10.0", 1232 + "@typescript-eslint/scope-manager": "8.35.0", 1233 + "@typescript-eslint/type-utils": "8.35.0", 1234 + "@typescript-eslint/utils": "8.35.0", 1235 + "@typescript-eslint/visitor-keys": "8.35.0", 1236 + "graphemer": "^1.4.0", 1237 + "ignore": "^7.0.0", 1238 + "natural-compare": "^1.4.0", 1239 + "ts-api-utils": "^2.1.0" 1240 + }, 1241 + "engines": { 1242 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1243 + }, 1244 + "funding": { 1245 + "type": "opencollective", 1246 + "url": "https://opencollective.com/typescript-eslint" 1247 + }, 1248 + "peerDependencies": { 1249 + "@typescript-eslint/parser": "^8.35.0", 1250 + "eslint": "^8.57.0 || ^9.0.0", 1251 + "typescript": ">=4.8.4 <5.9.0" 1252 + } 1253 + }, 1254 + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { 1255 + "version": "7.0.5", 1256 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", 1257 + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", 1258 + "dev": true, 1259 + "license": "MIT", 1260 + "engines": { 1261 + "node": ">= 4" 1262 + } 1263 + }, 1264 + "node_modules/@typescript-eslint/parser": { 1265 + "version": "8.35.0", 1266 + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.35.0.tgz", 1267 + "integrity": "sha512-6sMvZePQrnZH2/cJkwRpkT7DxoAWh+g6+GFRK6bV3YQo7ogi3SX5rgF6099r5Q53Ma5qeT7LGmOmuIutF4t3lA==", 1268 + "dev": true, 1269 + "license": "MIT", 1270 + "dependencies": { 1271 + "@typescript-eslint/scope-manager": "8.35.0", 1272 + "@typescript-eslint/types": "8.35.0", 1273 + "@typescript-eslint/typescript-estree": "8.35.0", 1274 + "@typescript-eslint/visitor-keys": "8.35.0", 1275 + "debug": "^4.3.4" 1276 + }, 1277 + "engines": { 1278 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1279 + }, 1280 + "funding": { 1281 + "type": "opencollective", 1282 + "url": "https://opencollective.com/typescript-eslint" 1283 + }, 1284 + "peerDependencies": { 1285 + "eslint": "^8.57.0 || ^9.0.0", 1286 + "typescript": ">=4.8.4 <5.9.0" 1287 + } 1288 + }, 1289 + "node_modules/@typescript-eslint/project-service": { 1290 + "version": "8.35.0", 1291 + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.35.0.tgz", 1292 + "integrity": "sha512-41xatqRwWZuhUMF/aZm2fcUsOFKNcG28xqRSS6ZVr9BVJtGExosLAm5A1OxTjRMagx8nJqva+P5zNIGt8RIgbQ==", 1293 + "dev": true, 1294 + "license": "MIT", 1295 + "dependencies": { 1296 + "@typescript-eslint/tsconfig-utils": "^8.35.0", 1297 + "@typescript-eslint/types": "^8.35.0", 1298 + "debug": "^4.3.4" 1299 + }, 1300 + "engines": { 1301 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1302 + }, 1303 + "funding": { 1304 + "type": "opencollective", 1305 + "url": "https://opencollective.com/typescript-eslint" 1306 + }, 1307 + "peerDependencies": { 1308 + "typescript": ">=4.8.4 <5.9.0" 1309 + } 1310 + }, 1311 + "node_modules/@typescript-eslint/scope-manager": { 1312 + "version": "8.35.0", 1313 + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.35.0.tgz", 1314 + "integrity": "sha512-+AgL5+mcoLxl1vGjwNfiWq5fLDZM1TmTPYs2UkyHfFhgERxBbqHlNjRzhThJqz+ktBqTChRYY6zwbMwy0591AA==", 1315 + "dev": true, 1316 + "license": "MIT", 1317 + "dependencies": { 1318 + "@typescript-eslint/types": "8.35.0", 1319 + "@typescript-eslint/visitor-keys": "8.35.0" 1320 + }, 1321 + "engines": { 1322 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1323 + }, 1324 + "funding": { 1325 + "type": "opencollective", 1326 + "url": "https://opencollective.com/typescript-eslint" 1327 + } 1328 + }, 1329 + "node_modules/@typescript-eslint/tsconfig-utils": { 1330 + "version": "8.35.0", 1331 + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.35.0.tgz", 1332 + "integrity": "sha512-04k/7247kZzFraweuEirmvUj+W3bJLI9fX6fbo1Qm2YykuBvEhRTPl8tcxlYO8kZZW+HIXfkZNoasVb8EV4jpA==", 1333 + "dev": true, 1334 + "license": "MIT", 1335 + "engines": { 1336 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1337 + }, 1338 + "funding": { 1339 + "type": "opencollective", 1340 + "url": "https://opencollective.com/typescript-eslint" 1341 + }, 1342 + "peerDependencies": { 1343 + "typescript": ">=4.8.4 <5.9.0" 1344 + } 1345 + }, 1346 + "node_modules/@typescript-eslint/type-utils": { 1347 + "version": "8.35.0", 1348 + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.35.0.tgz", 1349 + "integrity": "sha512-ceNNttjfmSEoM9PW87bWLDEIaLAyR+E6BoYJQ5PfaDau37UGca9Nyq3lBk8Bw2ad0AKvYabz6wxc7DMTO2jnNA==", 1350 + "dev": true, 1351 + "license": "MIT", 1352 + "dependencies": { 1353 + "@typescript-eslint/typescript-estree": "8.35.0", 1354 + "@typescript-eslint/utils": "8.35.0", 1355 + "debug": "^4.3.4", 1356 + "ts-api-utils": "^2.1.0" 1357 + }, 1358 + "engines": { 1359 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1360 + }, 1361 + "funding": { 1362 + "type": "opencollective", 1363 + "url": "https://opencollective.com/typescript-eslint" 1364 + }, 1365 + "peerDependencies": { 1366 + "eslint": "^8.57.0 || ^9.0.0", 1367 + "typescript": ">=4.8.4 <5.9.0" 1368 + } 1369 + }, 1370 + "node_modules/@typescript-eslint/types": { 1371 + "version": "8.35.0", 1372 + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.35.0.tgz", 1373 + "integrity": "sha512-0mYH3emanku0vHw2aRLNGqe7EXh9WHEhi7kZzscrMDf6IIRUQ5Jk4wp1QrledE/36KtdZrVfKnE32eZCf/vaVQ==", 1374 + "dev": true, 1375 + "license": "MIT", 1376 + "engines": { 1377 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1378 + }, 1379 + "funding": { 1380 + "type": "opencollective", 1381 + "url": "https://opencollective.com/typescript-eslint" 1382 + } 1383 + }, 1384 + "node_modules/@typescript-eslint/typescript-estree": { 1385 + "version": "8.35.0", 1386 + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.35.0.tgz", 1387 + "integrity": "sha512-F+BhnaBemgu1Qf8oHrxyw14wq6vbL8xwWKKMwTMwYIRmFFY/1n/9T/jpbobZL8vp7QyEUcC6xGrnAO4ua8Kp7w==", 1388 + "dev": true, 1389 + "license": "MIT", 1390 + "dependencies": { 1391 + "@typescript-eslint/project-service": "8.35.0", 1392 + "@typescript-eslint/tsconfig-utils": "8.35.0", 1393 + "@typescript-eslint/types": "8.35.0", 1394 + "@typescript-eslint/visitor-keys": "8.35.0", 1395 + "debug": "^4.3.4", 1396 + "fast-glob": "^3.3.2", 1397 + "is-glob": "^4.0.3", 1398 + "minimatch": "^9.0.4", 1399 + "semver": "^7.6.0", 1400 + "ts-api-utils": "^2.1.0" 1401 + }, 1402 + "engines": { 1403 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1404 + }, 1405 + "funding": { 1406 + "type": "opencollective", 1407 + "url": "https://opencollective.com/typescript-eslint" 1408 + }, 1409 + "peerDependencies": { 1410 + "typescript": ">=4.8.4 <5.9.0" 1411 + } 1412 + }, 1413 + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { 1414 + "version": "2.0.2", 1415 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", 1416 + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", 1417 + "dev": true, 1418 + "license": "MIT", 1419 + "dependencies": { 1420 + "balanced-match": "^1.0.0" 1421 + } 1422 + }, 1423 + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { 1424 + "version": "9.0.5", 1425 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 1426 + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 1427 + "dev": true, 1428 + "license": "ISC", 1429 + "dependencies": { 1430 + "brace-expansion": "^2.0.1" 1431 + }, 1432 + "engines": { 1433 + "node": ">=16 || 14 >=14.17" 1434 + }, 1435 + "funding": { 1436 + "url": "https://github.com/sponsors/isaacs" 1437 + } 1438 + }, 1439 + "node_modules/@typescript-eslint/utils": { 1440 + "version": "8.35.0", 1441 + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.35.0.tgz", 1442 + "integrity": "sha512-nqoMu7WWM7ki5tPgLVsmPM8CkqtoPUG6xXGeefM5t4x3XumOEKMoUZPdi+7F+/EotukN4R9OWdmDxN80fqoZeg==", 1443 + "dev": true, 1444 + "license": "MIT", 1445 + "dependencies": { 1446 + "@eslint-community/eslint-utils": "^4.7.0", 1447 + "@typescript-eslint/scope-manager": "8.35.0", 1448 + "@typescript-eslint/types": "8.35.0", 1449 + "@typescript-eslint/typescript-estree": "8.35.0" 1450 + }, 1451 + "engines": { 1452 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1453 + }, 1454 + "funding": { 1455 + "type": "opencollective", 1456 + "url": "https://opencollective.com/typescript-eslint" 1457 + }, 1458 + "peerDependencies": { 1459 + "eslint": "^8.57.0 || ^9.0.0", 1460 + "typescript": ">=4.8.4 <5.9.0" 1461 + } 1462 + }, 1463 + "node_modules/@typescript-eslint/visitor-keys": { 1464 + "version": "8.35.0", 1465 + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.35.0.tgz", 1466 + "integrity": "sha512-zTh2+1Y8ZpmeQaQVIc/ZZxsx8UzgKJyNg1PTvjzC7WMhPSVS8bfDX34k1SrwOf016qd5RU3az2UxUNue3IfQ5g==", 1467 + "dev": true, 1468 + "license": "MIT", 1469 + "dependencies": { 1470 + "@typescript-eslint/types": "8.35.0", 1471 + "eslint-visitor-keys": "^4.2.1" 1472 + }, 1473 + "engines": { 1474 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1475 + }, 1476 + "funding": { 1477 + "type": "opencollective", 1478 + "url": "https://opencollective.com/typescript-eslint" 1479 + } 1480 + }, 1481 + "node_modules/acorn": { 1482 + "version": "8.15.0", 1483 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", 1484 + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", 1485 + "dev": true, 1486 + "license": "MIT", 1487 + "bin": { 1488 + "acorn": "bin/acorn" 1489 + }, 1490 + "engines": { 1491 + "node": ">=0.4.0" 1492 + } 1493 + }, 1494 + "node_modules/acorn-jsx": { 1495 + "version": "5.3.2", 1496 + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 1497 + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 1498 + "dev": true, 1499 + "license": "MIT", 1500 + "peerDependencies": { 1501 + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 1502 + } 1503 + }, 1504 + "node_modules/ajv": { 1505 + "version": "6.12.6", 1506 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 1507 + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 1508 + "dev": true, 1509 + "license": "MIT", 1510 + "dependencies": { 1511 + "fast-deep-equal": "^3.1.1", 1512 + "fast-json-stable-stringify": "^2.0.0", 1513 + "json-schema-traverse": "^0.4.1", 1514 + "uri-js": "^4.2.2" 1515 + }, 1516 + "funding": { 1517 + "type": "github", 1518 + "url": "https://github.com/sponsors/epoberezkin" 1519 + } 1520 + }, 1521 + "node_modules/ansi-styles": { 1522 + "version": "4.3.0", 1523 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1524 + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1525 + "dev": true, 1526 + "license": "MIT", 1527 + "dependencies": { 1528 + "color-convert": "^2.0.1" 1529 + }, 1530 + "engines": { 1531 + "node": ">=8" 1532 + }, 1533 + "funding": { 1534 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1535 + } 1536 + }, 1537 + "node_modules/argparse": { 1538 + "version": "2.0.1", 1539 + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 1540 + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 1541 + "dev": true, 1542 + "license": "Python-2.0" 1543 + }, 1544 + "node_modules/aria-query": { 1545 + "version": "5.3.2", 1546 + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", 1547 + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", 1548 + "dev": true, 1549 + "license": "Apache-2.0", 1550 + "engines": { 1551 + "node": ">= 0.4" 1552 + } 1553 + }, 1554 + "node_modules/axobject-query": { 1555 + "version": "4.1.0", 1556 + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", 1557 + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", 1558 + "dev": true, 1559 + "license": "Apache-2.0", 1560 + "engines": { 1561 + "node": ">= 0.4" 1562 + } 1563 + }, 1564 + "node_modules/balanced-match": { 1565 + "version": "1.0.2", 1566 + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1567 + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1568 + "dev": true, 1569 + "license": "MIT" 1570 + }, 1571 + "node_modules/brace-expansion": { 1572 + "version": "1.1.12", 1573 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", 1574 + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", 1575 + "dev": true, 1576 + "license": "MIT", 1577 + "dependencies": { 1578 + "balanced-match": "^1.0.0", 1579 + "concat-map": "0.0.1" 1580 + } 1581 + }, 1582 + "node_modules/braces": { 1583 + "version": "3.0.3", 1584 + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 1585 + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 1586 + "dev": true, 1587 + "license": "MIT", 1588 + "dependencies": { 1589 + "fill-range": "^7.1.1" 1590 + }, 1591 + "engines": { 1592 + "node": ">=8" 1593 + } 1594 + }, 1595 + "node_modules/callsites": { 1596 + "version": "3.1.0", 1597 + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 1598 + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 1599 + "dev": true, 1600 + "license": "MIT", 1601 + "engines": { 1602 + "node": ">=6" 1603 + } 1604 + }, 1605 + "node_modules/chalk": { 1606 + "version": "4.1.2", 1607 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 1608 + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 1609 + "dev": true, 1610 + "license": "MIT", 1611 + "dependencies": { 1612 + "ansi-styles": "^4.1.0", 1613 + "supports-color": "^7.1.0" 1614 + }, 1615 + "engines": { 1616 + "node": ">=10" 1617 + }, 1618 + "funding": { 1619 + "url": "https://github.com/chalk/chalk?sponsor=1" 1620 + } 1621 + }, 1622 + "node_modules/chokidar": { 1623 + "version": "4.0.3", 1624 + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", 1625 + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", 1626 + "dev": true, 1627 + "license": "MIT", 1628 + "dependencies": { 1629 + "readdirp": "^4.0.1" 1630 + }, 1631 + "engines": { 1632 + "node": ">= 14.16.0" 1633 + }, 1634 + "funding": { 1635 + "url": "https://paulmillr.com/funding/" 1636 + } 1637 + }, 1638 + "node_modules/clsx": { 1639 + "version": "2.1.1", 1640 + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", 1641 + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", 1642 + "dev": true, 1643 + "license": "MIT", 1644 + "engines": { 1645 + "node": ">=6" 1646 + } 1647 + }, 1648 + "node_modules/color-convert": { 1649 + "version": "2.0.1", 1650 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1651 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1652 + "dev": true, 1653 + "license": "MIT", 1654 + "dependencies": { 1655 + "color-name": "~1.1.4" 1656 + }, 1657 + "engines": { 1658 + "node": ">=7.0.0" 1659 + } 1660 + }, 1661 + "node_modules/color-name": { 1662 + "version": "1.1.4", 1663 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1664 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1665 + "dev": true, 1666 + "license": "MIT" 1667 + }, 1668 + "node_modules/concat-map": { 1669 + "version": "0.0.1", 1670 + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1671 + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1672 + "dev": true, 1673 + "license": "MIT" 1674 + }, 1675 + "node_modules/cookie": { 1676 + "version": "0.6.0", 1677 + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", 1678 + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", 1679 + "dev": true, 1680 + "license": "MIT", 1681 + "engines": { 1682 + "node": ">= 0.6" 1683 + } 1684 + }, 1685 + "node_modules/cross-spawn": { 1686 + "version": "7.0.6", 1687 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 1688 + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 1689 + "dev": true, 1690 + "license": "MIT", 1691 + "dependencies": { 1692 + "path-key": "^3.1.0", 1693 + "shebang-command": "^2.0.0", 1694 + "which": "^2.0.1" 1695 + }, 1696 + "engines": { 1697 + "node": ">= 8" 1698 + } 1699 + }, 1700 + "node_modules/cssesc": { 1701 + "version": "3.0.0", 1702 + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 1703 + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 1704 + "dev": true, 1705 + "license": "MIT", 1706 + "bin": { 1707 + "cssesc": "bin/cssesc" 1708 + }, 1709 + "engines": { 1710 + "node": ">=4" 1711 + } 1712 + }, 1713 + "node_modules/debug": { 1714 + "version": "4.4.1", 1715 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", 1716 + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", 1717 + "dev": true, 1718 + "license": "MIT", 1719 + "dependencies": { 1720 + "ms": "^2.1.3" 1721 + }, 1722 + "engines": { 1723 + "node": ">=6.0" 1724 + }, 1725 + "peerDependenciesMeta": { 1726 + "supports-color": { 1727 + "optional": true 1728 + } 1729 + } 1730 + }, 1731 + "node_modules/dedent-js": { 1732 + "version": "1.0.1", 1733 + "resolved": "https://registry.npmjs.org/dedent-js/-/dedent-js-1.0.1.tgz", 1734 + "integrity": "sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==", 1735 + "dev": true, 1736 + "license": "MIT" 1737 + }, 1738 + "node_modules/deep-is": { 1739 + "version": "0.1.4", 1740 + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 1741 + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 1742 + "dev": true, 1743 + "license": "MIT" 1744 + }, 1745 + "node_modules/deepmerge": { 1746 + "version": "4.3.1", 1747 + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", 1748 + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", 1749 + "dev": true, 1750 + "license": "MIT", 1751 + "engines": { 1752 + "node": ">=0.10.0" 1753 + } 1754 + }, 1755 + "node_modules/devalue": { 1756 + "version": "5.1.1", 1757 + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz", 1758 + "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==", 1759 + "dev": true, 1760 + "license": "MIT" 1761 + }, 1762 + "node_modules/esbuild": { 1763 + "version": "0.25.5", 1764 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", 1765 + "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", 1766 + "dev": true, 1767 + "hasInstallScript": true, 1768 + "license": "MIT", 1769 + "bin": { 1770 + "esbuild": "bin/esbuild" 1771 + }, 1772 + "engines": { 1773 + "node": ">=18" 1774 + }, 1775 + "optionalDependencies": { 1776 + "@esbuild/aix-ppc64": "0.25.5", 1777 + "@esbuild/android-arm": "0.25.5", 1778 + "@esbuild/android-arm64": "0.25.5", 1779 + "@esbuild/android-x64": "0.25.5", 1780 + "@esbuild/darwin-arm64": "0.25.5", 1781 + "@esbuild/darwin-x64": "0.25.5", 1782 + "@esbuild/freebsd-arm64": "0.25.5", 1783 + "@esbuild/freebsd-x64": "0.25.5", 1784 + "@esbuild/linux-arm": "0.25.5", 1785 + "@esbuild/linux-arm64": "0.25.5", 1786 + "@esbuild/linux-ia32": "0.25.5", 1787 + "@esbuild/linux-loong64": "0.25.5", 1788 + "@esbuild/linux-mips64el": "0.25.5", 1789 + "@esbuild/linux-ppc64": "0.25.5", 1790 + "@esbuild/linux-riscv64": "0.25.5", 1791 + "@esbuild/linux-s390x": "0.25.5", 1792 + "@esbuild/linux-x64": "0.25.5", 1793 + "@esbuild/netbsd-arm64": "0.25.5", 1794 + "@esbuild/netbsd-x64": "0.25.5", 1795 + "@esbuild/openbsd-arm64": "0.25.5", 1796 + "@esbuild/openbsd-x64": "0.25.5", 1797 + "@esbuild/sunos-x64": "0.25.5", 1798 + "@esbuild/win32-arm64": "0.25.5", 1799 + "@esbuild/win32-ia32": "0.25.5", 1800 + "@esbuild/win32-x64": "0.25.5" 1801 + } 1802 + }, 1803 + "node_modules/escape-string-regexp": { 1804 + "version": "4.0.0", 1805 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 1806 + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 1807 + "dev": true, 1808 + "license": "MIT", 1809 + "engines": { 1810 + "node": ">=10" 1811 + }, 1812 + "funding": { 1813 + "url": "https://github.com/sponsors/sindresorhus" 1814 + } 1815 + }, 1816 + "node_modules/eslint": { 1817 + "version": "9.29.0", 1818 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.29.0.tgz", 1819 + "integrity": "sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==", 1820 + "dev": true, 1821 + "license": "MIT", 1822 + "dependencies": { 1823 + "@eslint-community/eslint-utils": "^4.2.0", 1824 + "@eslint-community/regexpp": "^4.12.1", 1825 + "@eslint/config-array": "^0.20.1", 1826 + "@eslint/config-helpers": "^0.2.1", 1827 + "@eslint/core": "^0.14.0", 1828 + "@eslint/eslintrc": "^3.3.1", 1829 + "@eslint/js": "9.29.0", 1830 + "@eslint/plugin-kit": "^0.3.1", 1831 + "@humanfs/node": "^0.16.6", 1832 + "@humanwhocodes/module-importer": "^1.0.1", 1833 + "@humanwhocodes/retry": "^0.4.2", 1834 + "@types/estree": "^1.0.6", 1835 + "@types/json-schema": "^7.0.15", 1836 + "ajv": "^6.12.4", 1837 + "chalk": "^4.0.0", 1838 + "cross-spawn": "^7.0.6", 1839 + "debug": "^4.3.2", 1840 + "escape-string-regexp": "^4.0.0", 1841 + "eslint-scope": "^8.4.0", 1842 + "eslint-visitor-keys": "^4.2.1", 1843 + "espree": "^10.4.0", 1844 + "esquery": "^1.5.0", 1845 + "esutils": "^2.0.2", 1846 + "fast-deep-equal": "^3.1.3", 1847 + "file-entry-cache": "^8.0.0", 1848 + "find-up": "^5.0.0", 1849 + "glob-parent": "^6.0.2", 1850 + "ignore": "^5.2.0", 1851 + "imurmurhash": "^0.1.4", 1852 + "is-glob": "^4.0.0", 1853 + "json-stable-stringify-without-jsonify": "^1.0.1", 1854 + "lodash.merge": "^4.6.2", 1855 + "minimatch": "^3.1.2", 1856 + "natural-compare": "^1.4.0", 1857 + "optionator": "^0.9.3" 1858 + }, 1859 + "bin": { 1860 + "eslint": "bin/eslint.js" 1861 + }, 1862 + "engines": { 1863 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1864 + }, 1865 + "funding": { 1866 + "url": "https://eslint.org/donate" 1867 + }, 1868 + "peerDependencies": { 1869 + "jiti": "*" 1870 + }, 1871 + "peerDependenciesMeta": { 1872 + "jiti": { 1873 + "optional": true 1874 + } 1875 + } 1876 + }, 1877 + "node_modules/eslint-config-prettier": { 1878 + "version": "10.1.5", 1879 + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.5.tgz", 1880 + "integrity": "sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==", 1881 + "dev": true, 1882 + "license": "MIT", 1883 + "bin": { 1884 + "eslint-config-prettier": "bin/cli.js" 1885 + }, 1886 + "funding": { 1887 + "url": "https://opencollective.com/eslint-config-prettier" 1888 + }, 1889 + "peerDependencies": { 1890 + "eslint": ">=7.0.0" 1891 + } 1892 + }, 1893 + "node_modules/eslint-plugin-svelte": { 1894 + "version": "3.9.3", 1895 + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.9.3.tgz", 1896 + "integrity": "sha512-PlcyK80sqAZ43IITeZkgl3zPFWJytx/Joup9iKGqIOsXM2m3pWfPbWuXPr5PN3loXFEypqTY/JyZwNqlSpSvRw==", 1897 + "dev": true, 1898 + "license": "MIT", 1899 + "dependencies": { 1900 + "@eslint-community/eslint-utils": "^4.6.1", 1901 + "@jridgewell/sourcemap-codec": "^1.5.0", 1902 + "esutils": "^2.0.3", 1903 + "globals": "^16.0.0", 1904 + "known-css-properties": "^0.37.0", 1905 + "postcss": "^8.4.49", 1906 + "postcss-load-config": "^3.1.4", 1907 + "postcss-safe-parser": "^7.0.0", 1908 + "semver": "^7.6.3", 1909 + "svelte-eslint-parser": "^1.2.0" 1910 + }, 1911 + "engines": { 1912 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1913 + }, 1914 + "funding": { 1915 + "url": "https://github.com/sponsors/ota-meshi" 1916 + }, 1917 + "peerDependencies": { 1918 + "eslint": "^8.57.1 || ^9.0.0", 1919 + "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" 1920 + }, 1921 + "peerDependenciesMeta": { 1922 + "svelte": { 1923 + "optional": true 1924 + } 1925 + } 1926 + }, 1927 + "node_modules/eslint-plugin-svelte/node_modules/globals": { 1928 + "version": "16.2.0", 1929 + "resolved": "https://registry.npmjs.org/globals/-/globals-16.2.0.tgz", 1930 + "integrity": "sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==", 1931 + "dev": true, 1932 + "license": "MIT", 1933 + "engines": { 1934 + "node": ">=18" 1935 + }, 1936 + "funding": { 1937 + "url": "https://github.com/sponsors/sindresorhus" 1938 + } 1939 + }, 1940 + "node_modules/eslint-scope": { 1941 + "version": "8.4.0", 1942 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", 1943 + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", 1944 + "dev": true, 1945 + "license": "BSD-2-Clause", 1946 + "dependencies": { 1947 + "esrecurse": "^4.3.0", 1948 + "estraverse": "^5.2.0" 1949 + }, 1950 + "engines": { 1951 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1952 + }, 1953 + "funding": { 1954 + "url": "https://opencollective.com/eslint" 1955 + } 1956 + }, 1957 + "node_modules/eslint-visitor-keys": { 1958 + "version": "4.2.1", 1959 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", 1960 + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", 1961 + "dev": true, 1962 + "license": "Apache-2.0", 1963 + "engines": { 1964 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1965 + }, 1966 + "funding": { 1967 + "url": "https://opencollective.com/eslint" 1968 + } 1969 + }, 1970 + "node_modules/esm-env": { 1971 + "version": "1.2.2", 1972 + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", 1973 + "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", 1974 + "dev": true, 1975 + "license": "MIT" 1976 + }, 1977 + "node_modules/espree": { 1978 + "version": "10.4.0", 1979 + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", 1980 + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", 1981 + "dev": true, 1982 + "license": "BSD-2-Clause", 1983 + "dependencies": { 1984 + "acorn": "^8.15.0", 1985 + "acorn-jsx": "^5.3.2", 1986 + "eslint-visitor-keys": "^4.2.1" 1987 + }, 1988 + "engines": { 1989 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1990 + }, 1991 + "funding": { 1992 + "url": "https://opencollective.com/eslint" 1993 + } 1994 + }, 1995 + "node_modules/esquery": { 1996 + "version": "1.6.0", 1997 + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", 1998 + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", 1999 + "dev": true, 2000 + "license": "BSD-3-Clause", 2001 + "dependencies": { 2002 + "estraverse": "^5.1.0" 2003 + }, 2004 + "engines": { 2005 + "node": ">=0.10" 2006 + } 2007 + }, 2008 + "node_modules/esrap": { 2009 + "version": "1.4.9", 2010 + "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.9.tgz", 2011 + "integrity": "sha512-3OMlcd0a03UGuZpPeUC1HxR3nA23l+HEyCiZw3b3FumJIN9KphoGzDJKMXI1S72jVS1dsenDyQC0kJlO1U9E1g==", 2012 + "dev": true, 2013 + "license": "MIT", 2014 + "dependencies": { 2015 + "@jridgewell/sourcemap-codec": "^1.4.15" 2016 + } 2017 + }, 2018 + "node_modules/esrecurse": { 2019 + "version": "4.3.0", 2020 + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 2021 + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 2022 + "dev": true, 2023 + "license": "BSD-2-Clause", 2024 + "dependencies": { 2025 + "estraverse": "^5.2.0" 2026 + }, 2027 + "engines": { 2028 + "node": ">=4.0" 2029 + } 2030 + }, 2031 + "node_modules/estraverse": { 2032 + "version": "5.3.0", 2033 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 2034 + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 2035 + "dev": true, 2036 + "license": "BSD-2-Clause", 2037 + "engines": { 2038 + "node": ">=4.0" 2039 + } 2040 + }, 2041 + "node_modules/esutils": { 2042 + "version": "2.0.3", 2043 + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 2044 + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 2045 + "dev": true, 2046 + "license": "BSD-2-Clause", 2047 + "engines": { 2048 + "node": ">=0.10.0" 2049 + } 2050 + }, 2051 + "node_modules/fast-deep-equal": { 2052 + "version": "3.1.3", 2053 + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 2054 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 2055 + "dev": true, 2056 + "license": "MIT" 2057 + }, 2058 + "node_modules/fast-glob": { 2059 + "version": "3.3.3", 2060 + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", 2061 + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", 2062 + "dev": true, 2063 + "license": "MIT", 2064 + "dependencies": { 2065 + "@nodelib/fs.stat": "^2.0.2", 2066 + "@nodelib/fs.walk": "^1.2.3", 2067 + "glob-parent": "^5.1.2", 2068 + "merge2": "^1.3.0", 2069 + "micromatch": "^4.0.8" 2070 + }, 2071 + "engines": { 2072 + "node": ">=8.6.0" 2073 + } 2074 + }, 2075 + "node_modules/fast-glob/node_modules/glob-parent": { 2076 + "version": "5.1.2", 2077 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2078 + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2079 + "dev": true, 2080 + "license": "ISC", 2081 + "dependencies": { 2082 + "is-glob": "^4.0.1" 2083 + }, 2084 + "engines": { 2085 + "node": ">= 6" 2086 + } 2087 + }, 2088 + "node_modules/fast-json-stable-stringify": { 2089 + "version": "2.1.0", 2090 + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 2091 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 2092 + "dev": true, 2093 + "license": "MIT" 2094 + }, 2095 + "node_modules/fast-levenshtein": { 2096 + "version": "2.0.6", 2097 + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 2098 + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 2099 + "dev": true, 2100 + "license": "MIT" 2101 + }, 2102 + "node_modules/fastq": { 2103 + "version": "1.19.1", 2104 + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", 2105 + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", 2106 + "dev": true, 2107 + "license": "ISC", 2108 + "dependencies": { 2109 + "reusify": "^1.0.4" 2110 + } 2111 + }, 2112 + "node_modules/fdir": { 2113 + "version": "6.4.6", 2114 + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", 2115 + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", 2116 + "dev": true, 2117 + "license": "MIT", 2118 + "peerDependencies": { 2119 + "picomatch": "^3 || ^4" 2120 + }, 2121 + "peerDependenciesMeta": { 2122 + "picomatch": { 2123 + "optional": true 2124 + } 2125 + } 2126 + }, 2127 + "node_modules/file-entry-cache": { 2128 + "version": "8.0.0", 2129 + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", 2130 + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", 2131 + "dev": true, 2132 + "license": "MIT", 2133 + "dependencies": { 2134 + "flat-cache": "^4.0.0" 2135 + }, 2136 + "engines": { 2137 + "node": ">=16.0.0" 2138 + } 2139 + }, 2140 + "node_modules/fill-range": { 2141 + "version": "7.1.1", 2142 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 2143 + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 2144 + "dev": true, 2145 + "license": "MIT", 2146 + "dependencies": { 2147 + "to-regex-range": "^5.0.1" 2148 + }, 2149 + "engines": { 2150 + "node": ">=8" 2151 + } 2152 + }, 2153 + "node_modules/find-up": { 2154 + "version": "5.0.0", 2155 + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 2156 + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 2157 + "dev": true, 2158 + "license": "MIT", 2159 + "dependencies": { 2160 + "locate-path": "^6.0.0", 2161 + "path-exists": "^4.0.0" 2162 + }, 2163 + "engines": { 2164 + "node": ">=10" 2165 + }, 2166 + "funding": { 2167 + "url": "https://github.com/sponsors/sindresorhus" 2168 + } 2169 + }, 2170 + "node_modules/flat-cache": { 2171 + "version": "4.0.1", 2172 + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", 2173 + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", 2174 + "dev": true, 2175 + "license": "MIT", 2176 + "dependencies": { 2177 + "flatted": "^3.2.9", 2178 + "keyv": "^4.5.4" 2179 + }, 2180 + "engines": { 2181 + "node": ">=16" 2182 + } 2183 + }, 2184 + "node_modules/flatted": { 2185 + "version": "3.3.3", 2186 + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", 2187 + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", 2188 + "dev": true, 2189 + "license": "ISC" 2190 + }, 2191 + "node_modules/fsevents": { 2192 + "version": "2.3.3", 2193 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 2194 + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 2195 + "dev": true, 2196 + "hasInstallScript": true, 2197 + "license": "MIT", 2198 + "optional": true, 2199 + "os": [ 2200 + "darwin" 2201 + ], 2202 + "engines": { 2203 + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 2204 + } 2205 + }, 2206 + "node_modules/glob-parent": { 2207 + "version": "6.0.2", 2208 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 2209 + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 2210 + "dev": true, 2211 + "license": "ISC", 2212 + "dependencies": { 2213 + "is-glob": "^4.0.3" 2214 + }, 2215 + "engines": { 2216 + "node": ">=10.13.0" 2217 + } 2218 + }, 2219 + "node_modules/globals": { 2220 + "version": "14.0.0", 2221 + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", 2222 + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", 2223 + "dev": true, 2224 + "license": "MIT", 2225 + "engines": { 2226 + "node": ">=18" 2227 + }, 2228 + "funding": { 2229 + "url": "https://github.com/sponsors/sindresorhus" 2230 + } 2231 + }, 2232 + "node_modules/graphemer": { 2233 + "version": "1.4.0", 2234 + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 2235 + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", 2236 + "dev": true, 2237 + "license": "MIT" 2238 + }, 2239 + "node_modules/has-flag": { 2240 + "version": "4.0.0", 2241 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 2242 + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 2243 + "dev": true, 2244 + "license": "MIT", 2245 + "engines": { 2246 + "node": ">=8" 2247 + } 2248 + }, 2249 + "node_modules/ignore": { 2250 + "version": "5.3.2", 2251 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", 2252 + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", 2253 + "dev": true, 2254 + "license": "MIT", 2255 + "engines": { 2256 + "node": ">= 4" 2257 + } 2258 + }, 2259 + "node_modules/import-fresh": { 2260 + "version": "3.3.1", 2261 + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", 2262 + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", 2263 + "dev": true, 2264 + "license": "MIT", 2265 + "dependencies": { 2266 + "parent-module": "^1.0.0", 2267 + "resolve-from": "^4.0.0" 2268 + }, 2269 + "engines": { 2270 + "node": ">=6" 2271 + }, 2272 + "funding": { 2273 + "url": "https://github.com/sponsors/sindresorhus" 2274 + } 2275 + }, 2276 + "node_modules/imurmurhash": { 2277 + "version": "0.1.4", 2278 + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 2279 + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 2280 + "dev": true, 2281 + "license": "MIT", 2282 + "engines": { 2283 + "node": ">=0.8.19" 2284 + } 2285 + }, 2286 + "node_modules/is-extglob": { 2287 + "version": "2.1.1", 2288 + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2289 + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 2290 + "dev": true, 2291 + "license": "MIT", 2292 + "engines": { 2293 + "node": ">=0.10.0" 2294 + } 2295 + }, 2296 + "node_modules/is-glob": { 2297 + "version": "4.0.3", 2298 + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2299 + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2300 + "dev": true, 2301 + "license": "MIT", 2302 + "dependencies": { 2303 + "is-extglob": "^2.1.1" 2304 + }, 2305 + "engines": { 2306 + "node": ">=0.10.0" 2307 + } 2308 + }, 2309 + "node_modules/is-number": { 2310 + "version": "7.0.0", 2311 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2312 + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 2313 + "dev": true, 2314 + "license": "MIT", 2315 + "engines": { 2316 + "node": ">=0.12.0" 2317 + } 2318 + }, 2319 + "node_modules/is-reference": { 2320 + "version": "3.0.3", 2321 + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", 2322 + "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", 2323 + "dev": true, 2324 + "license": "MIT", 2325 + "dependencies": { 2326 + "@types/estree": "^1.0.6" 2327 + } 2328 + }, 2329 + "node_modules/isexe": { 2330 + "version": "2.0.0", 2331 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2332 + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 2333 + "dev": true, 2334 + "license": "ISC" 2335 + }, 2336 + "node_modules/jiti": { 2337 + "version": "2.4.2", 2338 + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", 2339 + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", 2340 + "dev": true, 2341 + "license": "MIT", 2342 + "optional": true, 2343 + "peer": true, 2344 + "bin": { 2345 + "jiti": "lib/jiti-cli.mjs" 2346 + } 2347 + }, 2348 + "node_modules/js-yaml": { 2349 + "version": "4.1.0", 2350 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 2351 + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 2352 + "dev": true, 2353 + "license": "MIT", 2354 + "dependencies": { 2355 + "argparse": "^2.0.1" 2356 + }, 2357 + "bin": { 2358 + "js-yaml": "bin/js-yaml.js" 2359 + } 2360 + }, 2361 + "node_modules/json-buffer": { 2362 + "version": "3.0.1", 2363 + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 2364 + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", 2365 + "dev": true, 2366 + "license": "MIT" 2367 + }, 2368 + "node_modules/json-schema-traverse": { 2369 + "version": "0.4.1", 2370 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 2371 + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 2372 + "dev": true, 2373 + "license": "MIT" 2374 + }, 2375 + "node_modules/json-stable-stringify-without-jsonify": { 2376 + "version": "1.0.1", 2377 + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 2378 + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 2379 + "dev": true, 2380 + "license": "MIT" 2381 + }, 2382 + "node_modules/keyv": { 2383 + "version": "4.5.4", 2384 + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", 2385 + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", 2386 + "dev": true, 2387 + "license": "MIT", 2388 + "dependencies": { 2389 + "json-buffer": "3.0.1" 2390 + } 2391 + }, 2392 + "node_modules/kleur": { 2393 + "version": "4.1.5", 2394 + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", 2395 + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", 2396 + "dev": true, 2397 + "license": "MIT", 2398 + "engines": { 2399 + "node": ">=6" 2400 + } 2401 + }, 2402 + "node_modules/known-css-properties": { 2403 + "version": "0.37.0", 2404 + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz", 2405 + "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==", 2406 + "dev": true, 2407 + "license": "MIT" 2408 + }, 2409 + "node_modules/levn": { 2410 + "version": "0.4.1", 2411 + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 2412 + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 2413 + "dev": true, 2414 + "license": "MIT", 2415 + "dependencies": { 2416 + "prelude-ls": "^1.2.1", 2417 + "type-check": "~0.4.0" 2418 + }, 2419 + "engines": { 2420 + "node": ">= 0.8.0" 2421 + } 2422 + }, 2423 + "node_modules/lilconfig": { 2424 + "version": "2.1.0", 2425 + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 2426 + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 2427 + "dev": true, 2428 + "license": "MIT", 2429 + "engines": { 2430 + "node": ">=10" 2431 + } 2432 + }, 2433 + "node_modules/locate-character": { 2434 + "version": "3.0.0", 2435 + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", 2436 + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", 2437 + "dev": true, 2438 + "license": "MIT" 2439 + }, 2440 + "node_modules/locate-path": { 2441 + "version": "6.0.0", 2442 + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 2443 + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 2444 + "dev": true, 2445 + "license": "MIT", 2446 + "dependencies": { 2447 + "p-locate": "^5.0.0" 2448 + }, 2449 + "engines": { 2450 + "node": ">=10" 2451 + }, 2452 + "funding": { 2453 + "url": "https://github.com/sponsors/sindresorhus" 2454 + } 2455 + }, 2456 + "node_modules/lodash.merge": { 2457 + "version": "4.6.2", 2458 + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 2459 + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 2460 + "dev": true, 2461 + "license": "MIT" 2462 + }, 2463 + "node_modules/lower-case": { 2464 + "version": "2.0.2", 2465 + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", 2466 + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", 2467 + "dev": true, 2468 + "license": "MIT", 2469 + "dependencies": { 2470 + "tslib": "^2.0.3" 2471 + } 2472 + }, 2473 + "node_modules/magic-string": { 2474 + "version": "0.30.17", 2475 + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", 2476 + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", 2477 + "dev": true, 2478 + "license": "MIT", 2479 + "dependencies": { 2480 + "@jridgewell/sourcemap-codec": "^1.5.0" 2481 + } 2482 + }, 2483 + "node_modules/merge2": { 2484 + "version": "1.4.1", 2485 + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 2486 + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 2487 + "dev": true, 2488 + "license": "MIT", 2489 + "engines": { 2490 + "node": ">= 8" 2491 + } 2492 + }, 2493 + "node_modules/micromatch": { 2494 + "version": "4.0.8", 2495 + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 2496 + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 2497 + "dev": true, 2498 + "license": "MIT", 2499 + "dependencies": { 2500 + "braces": "^3.0.3", 2501 + "picomatch": "^2.3.1" 2502 + }, 2503 + "engines": { 2504 + "node": ">=8.6" 2505 + } 2506 + }, 2507 + "node_modules/micromatch/node_modules/picomatch": { 2508 + "version": "2.3.1", 2509 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2510 + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2511 + "dev": true, 2512 + "license": "MIT", 2513 + "engines": { 2514 + "node": ">=8.6" 2515 + }, 2516 + "funding": { 2517 + "url": "https://github.com/sponsors/jonschlinkert" 2518 + } 2519 + }, 2520 + "node_modules/minimatch": { 2521 + "version": "3.1.2", 2522 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2523 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2524 + "dev": true, 2525 + "license": "ISC", 2526 + "dependencies": { 2527 + "brace-expansion": "^1.1.7" 2528 + }, 2529 + "engines": { 2530 + "node": "*" 2531 + } 2532 + }, 2533 + "node_modules/mri": { 2534 + "version": "1.2.0", 2535 + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", 2536 + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", 2537 + "dev": true, 2538 + "license": "MIT", 2539 + "engines": { 2540 + "node": ">=4" 2541 + } 2542 + }, 2543 + "node_modules/mrmime": { 2544 + "version": "2.0.1", 2545 + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", 2546 + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", 2547 + "dev": true, 2548 + "license": "MIT", 2549 + "engines": { 2550 + "node": ">=10" 2551 + } 2552 + }, 2553 + "node_modules/ms": { 2554 + "version": "2.1.3", 2555 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 2556 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 2557 + "dev": true, 2558 + "license": "MIT" 2559 + }, 2560 + "node_modules/nanoid": { 2561 + "version": "3.3.11", 2562 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", 2563 + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", 2564 + "dev": true, 2565 + "funding": [ 2566 + { 2567 + "type": "github", 2568 + "url": "https://github.com/sponsors/ai" 2569 + } 2570 + ], 2571 + "license": "MIT", 2572 + "bin": { 2573 + "nanoid": "bin/nanoid.cjs" 2574 + }, 2575 + "engines": { 2576 + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 2577 + } 2578 + }, 2579 + "node_modules/natural-compare": { 2580 + "version": "1.4.0", 2581 + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 2582 + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 2583 + "dev": true, 2584 + "license": "MIT" 2585 + }, 2586 + "node_modules/no-case": { 2587 + "version": "3.0.4", 2588 + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", 2589 + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", 2590 + "dev": true, 2591 + "license": "MIT", 2592 + "dependencies": { 2593 + "lower-case": "^2.0.2", 2594 + "tslib": "^2.0.3" 2595 + } 2596 + }, 2597 + "node_modules/optionator": { 2598 + "version": "0.9.4", 2599 + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", 2600 + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", 2601 + "dev": true, 2602 + "license": "MIT", 2603 + "dependencies": { 2604 + "deep-is": "^0.1.3", 2605 + "fast-levenshtein": "^2.0.6", 2606 + "levn": "^0.4.1", 2607 + "prelude-ls": "^1.2.1", 2608 + "type-check": "^0.4.0", 2609 + "word-wrap": "^1.2.5" 2610 + }, 2611 + "engines": { 2612 + "node": ">= 0.8.0" 2613 + } 2614 + }, 2615 + "node_modules/p-limit": { 2616 + "version": "3.1.0", 2617 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 2618 + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 2619 + "dev": true, 2620 + "license": "MIT", 2621 + "dependencies": { 2622 + "yocto-queue": "^0.1.0" 2623 + }, 2624 + "engines": { 2625 + "node": ">=10" 2626 + }, 2627 + "funding": { 2628 + "url": "https://github.com/sponsors/sindresorhus" 2629 + } 2630 + }, 2631 + "node_modules/p-locate": { 2632 + "version": "5.0.0", 2633 + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 2634 + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 2635 + "dev": true, 2636 + "license": "MIT", 2637 + "dependencies": { 2638 + "p-limit": "^3.0.2" 2639 + }, 2640 + "engines": { 2641 + "node": ">=10" 2642 + }, 2643 + "funding": { 2644 + "url": "https://github.com/sponsors/sindresorhus" 2645 + } 2646 + }, 2647 + "node_modules/package-manager-detector": { 2648 + "version": "1.3.0", 2649 + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.3.0.tgz", 2650 + "integrity": "sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==", 2651 + "dev": true, 2652 + "license": "MIT" 2653 + }, 2654 + "node_modules/parent-module": { 2655 + "version": "1.0.1", 2656 + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 2657 + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 2658 + "dev": true, 2659 + "license": "MIT", 2660 + "dependencies": { 2661 + "callsites": "^3.0.0" 2662 + }, 2663 + "engines": { 2664 + "node": ">=6" 2665 + } 2666 + }, 2667 + "node_modules/pascal-case": { 2668 + "version": "3.1.2", 2669 + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", 2670 + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", 2671 + "dev": true, 2672 + "license": "MIT", 2673 + "dependencies": { 2674 + "no-case": "^3.0.4", 2675 + "tslib": "^2.0.3" 2676 + } 2677 + }, 2678 + "node_modules/path-exists": { 2679 + "version": "4.0.0", 2680 + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 2681 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 2682 + "dev": true, 2683 + "license": "MIT", 2684 + "engines": { 2685 + "node": ">=8" 2686 + } 2687 + }, 2688 + "node_modules/path-key": { 2689 + "version": "3.1.1", 2690 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 2691 + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 2692 + "dev": true, 2693 + "license": "MIT", 2694 + "engines": { 2695 + "node": ">=8" 2696 + } 2697 + }, 2698 + "node_modules/picocolors": { 2699 + "version": "1.1.1", 2700 + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 2701 + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 2702 + "dev": true, 2703 + "license": "ISC" 2704 + }, 2705 + "node_modules/picomatch": { 2706 + "version": "4.0.2", 2707 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", 2708 + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", 2709 + "dev": true, 2710 + "license": "MIT", 2711 + "engines": { 2712 + "node": ">=12" 2713 + }, 2714 + "funding": { 2715 + "url": "https://github.com/sponsors/jonschlinkert" 2716 + } 2717 + }, 2718 + "node_modules/postcss": { 2719 + "version": "8.5.6", 2720 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", 2721 + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", 2722 + "dev": true, 2723 + "funding": [ 2724 + { 2725 + "type": "opencollective", 2726 + "url": "https://opencollective.com/postcss/" 2727 + }, 2728 + { 2729 + "type": "tidelift", 2730 + "url": "https://tidelift.com/funding/github/npm/postcss" 2731 + }, 2732 + { 2733 + "type": "github", 2734 + "url": "https://github.com/sponsors/ai" 2735 + } 2736 + ], 2737 + "license": "MIT", 2738 + "dependencies": { 2739 + "nanoid": "^3.3.11", 2740 + "picocolors": "^1.1.1", 2741 + "source-map-js": "^1.2.1" 2742 + }, 2743 + "engines": { 2744 + "node": "^10 || ^12 || >=14" 2745 + } 2746 + }, 2747 + "node_modules/postcss-load-config": { 2748 + "version": "3.1.4", 2749 + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", 2750 + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", 2751 + "dev": true, 2752 + "license": "MIT", 2753 + "dependencies": { 2754 + "lilconfig": "^2.0.5", 2755 + "yaml": "^1.10.2" 2756 + }, 2757 + "engines": { 2758 + "node": ">= 10" 2759 + }, 2760 + "funding": { 2761 + "type": "opencollective", 2762 + "url": "https://opencollective.com/postcss/" 2763 + }, 2764 + "peerDependencies": { 2765 + "postcss": ">=8.0.9", 2766 + "ts-node": ">=9.0.0" 2767 + }, 2768 + "peerDependenciesMeta": { 2769 + "postcss": { 2770 + "optional": true 2771 + }, 2772 + "ts-node": { 2773 + "optional": true 2774 + } 2775 + } 2776 + }, 2777 + "node_modules/postcss-load-config/node_modules/yaml": { 2778 + "version": "1.10.2", 2779 + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 2780 + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 2781 + "dev": true, 2782 + "license": "ISC", 2783 + "engines": { 2784 + "node": ">= 6" 2785 + } 2786 + }, 2787 + "node_modules/postcss-safe-parser": { 2788 + "version": "7.0.1", 2789 + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", 2790 + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", 2791 + "dev": true, 2792 + "funding": [ 2793 + { 2794 + "type": "opencollective", 2795 + "url": "https://opencollective.com/postcss/" 2796 + }, 2797 + { 2798 + "type": "tidelift", 2799 + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" 2800 + }, 2801 + { 2802 + "type": "github", 2803 + "url": "https://github.com/sponsors/ai" 2804 + } 2805 + ], 2806 + "license": "MIT", 2807 + "engines": { 2808 + "node": ">=18.0" 2809 + }, 2810 + "peerDependencies": { 2811 + "postcss": "^8.4.31" 2812 + } 2813 + }, 2814 + "node_modules/postcss-scss": { 2815 + "version": "4.0.9", 2816 + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", 2817 + "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", 2818 + "dev": true, 2819 + "funding": [ 2820 + { 2821 + "type": "opencollective", 2822 + "url": "https://opencollective.com/postcss/" 2823 + }, 2824 + { 2825 + "type": "tidelift", 2826 + "url": "https://tidelift.com/funding/github/npm/postcss-scss" 2827 + }, 2828 + { 2829 + "type": "github", 2830 + "url": "https://github.com/sponsors/ai" 2831 + } 2832 + ], 2833 + "license": "MIT", 2834 + "engines": { 2835 + "node": ">=12.0" 2836 + }, 2837 + "peerDependencies": { 2838 + "postcss": "^8.4.29" 2839 + } 2840 + }, 2841 + "node_modules/postcss-selector-parser": { 2842 + "version": "7.1.0", 2843 + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", 2844 + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", 2845 + "dev": true, 2846 + "license": "MIT", 2847 + "dependencies": { 2848 + "cssesc": "^3.0.0", 2849 + "util-deprecate": "^1.0.2" 2850 + }, 2851 + "engines": { 2852 + "node": ">=4" 2853 + } 2854 + }, 2855 + "node_modules/prelude-ls": { 2856 + "version": "1.2.1", 2857 + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 2858 + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 2859 + "dev": true, 2860 + "license": "MIT", 2861 + "engines": { 2862 + "node": ">= 0.8.0" 2863 + } 2864 + }, 2865 + "node_modules/prettier": { 2866 + "version": "3.6.1", 2867 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.1.tgz", 2868 + "integrity": "sha512-5xGWRa90Sp2+x1dQtNpIpeOQpTDBs9cZDmA/qs2vDNN2i18PdapqY7CmBeyLlMuGqXJRIOPaCaVZTLNQRWUH/A==", 2869 + "dev": true, 2870 + "license": "MIT", 2871 + "bin": { 2872 + "prettier": "bin/prettier.cjs" 2873 + }, 2874 + "engines": { 2875 + "node": ">=14" 2876 + }, 2877 + "funding": { 2878 + "url": "https://github.com/prettier/prettier?sponsor=1" 2879 + } 2880 + }, 2881 + "node_modules/prettier-plugin-svelte": { 2882 + "version": "3.4.0", 2883 + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.4.0.tgz", 2884 + "integrity": "sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ==", 2885 + "dev": true, 2886 + "license": "MIT", 2887 + "peerDependencies": { 2888 + "prettier": "^3.0.0", 2889 + "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" 2890 + } 2891 + }, 2892 + "node_modules/publint": { 2893 + "version": "0.3.12", 2894 + "resolved": "https://registry.npmjs.org/publint/-/publint-0.3.12.tgz", 2895 + "integrity": "sha512-1w3MMtL9iotBjm1mmXtG3Nk06wnq9UhGNRpQ2j6n1Zq7YAD6gnxMMZMIxlRPAydVjVbjSm+n0lhwqsD1m4LD5w==", 2896 + "dev": true, 2897 + "license": "MIT", 2898 + "dependencies": { 2899 + "@publint/pack": "^0.1.2", 2900 + "package-manager-detector": "^1.1.0", 2901 + "picocolors": "^1.1.1", 2902 + "sade": "^1.8.1" 2903 + }, 2904 + "bin": { 2905 + "publint": "src/cli.js" 2906 + }, 2907 + "engines": { 2908 + "node": ">=18" 2909 + }, 2910 + "funding": { 2911 + "url": "https://bjornlu.com/sponsor" 2912 + } 2913 + }, 2914 + "node_modules/punycode": { 2915 + "version": "2.3.1", 2916 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 2917 + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 2918 + "dev": true, 2919 + "license": "MIT", 2920 + "engines": { 2921 + "node": ">=6" 2922 + } 2923 + }, 2924 + "node_modules/queue-microtask": { 2925 + "version": "1.2.3", 2926 + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 2927 + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 2928 + "dev": true, 2929 + "funding": [ 2930 + { 2931 + "type": "github", 2932 + "url": "https://github.com/sponsors/feross" 2933 + }, 2934 + { 2935 + "type": "patreon", 2936 + "url": "https://www.patreon.com/feross" 2937 + }, 2938 + { 2939 + "type": "consulting", 2940 + "url": "https://feross.org/support" 2941 + } 2942 + ], 2943 + "license": "MIT" 2944 + }, 2945 + "node_modules/readdirp": { 2946 + "version": "4.1.2", 2947 + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", 2948 + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", 2949 + "dev": true, 2950 + "license": "MIT", 2951 + "engines": { 2952 + "node": ">= 14.18.0" 2953 + }, 2954 + "funding": { 2955 + "type": "individual", 2956 + "url": "https://paulmillr.com/funding/" 2957 + } 2958 + }, 2959 + "node_modules/resolve-from": { 2960 + "version": "4.0.0", 2961 + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 2962 + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 2963 + "dev": true, 2964 + "license": "MIT", 2965 + "engines": { 2966 + "node": ">=4" 2967 + } 2968 + }, 2969 + "node_modules/reusify": { 2970 + "version": "1.1.0", 2971 + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", 2972 + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", 2973 + "dev": true, 2974 + "license": "MIT", 2975 + "engines": { 2976 + "iojs": ">=1.0.0", 2977 + "node": ">=0.10.0" 2978 + } 2979 + }, 2980 + "node_modules/rollup": { 2981 + "version": "4.44.0", 2982 + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.0.tgz", 2983 + "integrity": "sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA==", 2984 + "dev": true, 2985 + "license": "MIT", 2986 + "dependencies": { 2987 + "@types/estree": "1.0.8" 2988 + }, 2989 + "bin": { 2990 + "rollup": "dist/bin/rollup" 2991 + }, 2992 + "engines": { 2993 + "node": ">=18.0.0", 2994 + "npm": ">=8.0.0" 2995 + }, 2996 + "optionalDependencies": { 2997 + "@rollup/rollup-android-arm-eabi": "4.44.0", 2998 + "@rollup/rollup-android-arm64": "4.44.0", 2999 + "@rollup/rollup-darwin-arm64": "4.44.0", 3000 + "@rollup/rollup-darwin-x64": "4.44.0", 3001 + "@rollup/rollup-freebsd-arm64": "4.44.0", 3002 + "@rollup/rollup-freebsd-x64": "4.44.0", 3003 + "@rollup/rollup-linux-arm-gnueabihf": "4.44.0", 3004 + "@rollup/rollup-linux-arm-musleabihf": "4.44.0", 3005 + "@rollup/rollup-linux-arm64-gnu": "4.44.0", 3006 + "@rollup/rollup-linux-arm64-musl": "4.44.0", 3007 + "@rollup/rollup-linux-loongarch64-gnu": "4.44.0", 3008 + "@rollup/rollup-linux-powerpc64le-gnu": "4.44.0", 3009 + "@rollup/rollup-linux-riscv64-gnu": "4.44.0", 3010 + "@rollup/rollup-linux-riscv64-musl": "4.44.0", 3011 + "@rollup/rollup-linux-s390x-gnu": "4.44.0", 3012 + "@rollup/rollup-linux-x64-gnu": "4.44.0", 3013 + "@rollup/rollup-linux-x64-musl": "4.44.0", 3014 + "@rollup/rollup-win32-arm64-msvc": "4.44.0", 3015 + "@rollup/rollup-win32-ia32-msvc": "4.44.0", 3016 + "@rollup/rollup-win32-x64-msvc": "4.44.0", 3017 + "fsevents": "~2.3.2" 3018 + } 3019 + }, 3020 + "node_modules/run-parallel": { 3021 + "version": "1.2.0", 3022 + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 3023 + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 3024 + "dev": true, 3025 + "funding": [ 3026 + { 3027 + "type": "github", 3028 + "url": "https://github.com/sponsors/feross" 3029 + }, 3030 + { 3031 + "type": "patreon", 3032 + "url": "https://www.patreon.com/feross" 3033 + }, 3034 + { 3035 + "type": "consulting", 3036 + "url": "https://feross.org/support" 3037 + } 3038 + ], 3039 + "license": "MIT", 3040 + "dependencies": { 3041 + "queue-microtask": "^1.2.2" 3042 + } 3043 + }, 3044 + "node_modules/sade": { 3045 + "version": "1.8.1", 3046 + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", 3047 + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", 3048 + "dev": true, 3049 + "license": "MIT", 3050 + "dependencies": { 3051 + "mri": "^1.1.0" 3052 + }, 3053 + "engines": { 3054 + "node": ">=6" 3055 + } 3056 + }, 3057 + "node_modules/semver": { 3058 + "version": "7.7.2", 3059 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", 3060 + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", 3061 + "dev": true, 3062 + "license": "ISC", 3063 + "bin": { 3064 + "semver": "bin/semver.js" 3065 + }, 3066 + "engines": { 3067 + "node": ">=10" 3068 + } 3069 + }, 3070 + "node_modules/set-cookie-parser": { 3071 + "version": "2.7.1", 3072 + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", 3073 + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", 3074 + "dev": true, 3075 + "license": "MIT" 3076 + }, 3077 + "node_modules/shebang-command": { 3078 + "version": "2.0.0", 3079 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 3080 + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 3081 + "dev": true, 3082 + "license": "MIT", 3083 + "dependencies": { 3084 + "shebang-regex": "^3.0.0" 3085 + }, 3086 + "engines": { 3087 + "node": ">=8" 3088 + } 3089 + }, 3090 + "node_modules/shebang-regex": { 3091 + "version": "3.0.0", 3092 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 3093 + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 3094 + "dev": true, 3095 + "license": "MIT", 3096 + "engines": { 3097 + "node": ">=8" 3098 + } 3099 + }, 3100 + "node_modules/sirv": { 3101 + "version": "3.0.1", 3102 + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", 3103 + "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", 3104 + "dev": true, 3105 + "license": "MIT", 3106 + "dependencies": { 3107 + "@polka/url": "^1.0.0-next.24", 3108 + "mrmime": "^2.0.0", 3109 + "totalist": "^3.0.0" 3110 + }, 3111 + "engines": { 3112 + "node": ">=18" 3113 + } 3114 + }, 3115 + "node_modules/source-map-js": { 3116 + "version": "1.2.1", 3117 + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 3118 + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 3119 + "dev": true, 3120 + "license": "BSD-3-Clause", 3121 + "engines": { 3122 + "node": ">=0.10.0" 3123 + } 3124 + }, 3125 + "node_modules/strip-json-comments": { 3126 + "version": "3.1.1", 3127 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 3128 + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 3129 + "dev": true, 3130 + "license": "MIT", 3131 + "engines": { 3132 + "node": ">=8" 3133 + }, 3134 + "funding": { 3135 + "url": "https://github.com/sponsors/sindresorhus" 3136 + } 3137 + }, 3138 + "node_modules/supports-color": { 3139 + "version": "7.2.0", 3140 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 3141 + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 3142 + "dev": true, 3143 + "license": "MIT", 3144 + "dependencies": { 3145 + "has-flag": "^4.0.0" 3146 + }, 3147 + "engines": { 3148 + "node": ">=8" 3149 + } 3150 + }, 3151 + "node_modules/svelte": { 3152 + "version": "5.34.8", 3153 + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.34.8.tgz", 3154 + "integrity": "sha512-TF+8irl7rpj3+fpaLuPRX5BqReTAqckp0Fumxa/mCeK3fo0/MnBb9W/Z2bLwtqj3C3r5Lm6NKIAw7YrgIv1Fwg==", 3155 + "dev": true, 3156 + "license": "MIT", 3157 + "dependencies": { 3158 + "@ampproject/remapping": "^2.3.0", 3159 + "@jridgewell/sourcemap-codec": "^1.5.0", 3160 + "@sveltejs/acorn-typescript": "^1.0.5", 3161 + "@types/estree": "^1.0.5", 3162 + "acorn": "^8.12.1", 3163 + "aria-query": "^5.3.1", 3164 + "axobject-query": "^4.1.0", 3165 + "clsx": "^2.1.1", 3166 + "esm-env": "^1.2.1", 3167 + "esrap": "^1.4.8", 3168 + "is-reference": "^3.0.3", 3169 + "locate-character": "^3.0.0", 3170 + "magic-string": "^0.30.11", 3171 + "zimmerframe": "^1.1.2" 3172 + }, 3173 + "engines": { 3174 + "node": ">=18" 3175 + } 3176 + }, 3177 + "node_modules/svelte-check": { 3178 + "version": "4.2.2", 3179 + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.2.2.tgz", 3180 + "integrity": "sha512-1+31EOYZ7NKN0YDMKusav2hhEoA51GD9Ws6o//0SphMT0ve9mBTsTUEX7OmDMadUP3KjNHsSKtJrqdSaD8CrGQ==", 3181 + "dev": true, 3182 + "license": "MIT", 3183 + "dependencies": { 3184 + "@jridgewell/trace-mapping": "^0.3.25", 3185 + "chokidar": "^4.0.1", 3186 + "fdir": "^6.2.0", 3187 + "picocolors": "^1.0.0", 3188 + "sade": "^1.7.4" 3189 + }, 3190 + "bin": { 3191 + "svelte-check": "bin/svelte-check" 3192 + }, 3193 + "engines": { 3194 + "node": ">= 18.0.0" 3195 + }, 3196 + "peerDependencies": { 3197 + "svelte": "^4.0.0 || ^5.0.0-next.0", 3198 + "typescript": ">=5.0.0" 3199 + } 3200 + }, 3201 + "node_modules/svelte-eslint-parser": { 3202 + "version": "1.2.0", 3203 + "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.2.0.tgz", 3204 + "integrity": "sha512-mbPtajIeuiyU80BEyGvwAktBeTX7KCr5/0l+uRGLq1dafwRNrjfM5kHGJScEBlPG3ipu6dJqfW/k0/fujvIEVw==", 3205 + "dev": true, 3206 + "license": "MIT", 3207 + "dependencies": { 3208 + "eslint-scope": "^8.2.0", 3209 + "eslint-visitor-keys": "^4.0.0", 3210 + "espree": "^10.0.0", 3211 + "postcss": "^8.4.49", 3212 + "postcss-scss": "^4.0.9", 3213 + "postcss-selector-parser": "^7.0.0" 3214 + }, 3215 + "engines": { 3216 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 3217 + }, 3218 + "funding": { 3219 + "url": "https://github.com/sponsors/ota-meshi" 3220 + }, 3221 + "peerDependencies": { 3222 + "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" 3223 + }, 3224 + "peerDependenciesMeta": { 3225 + "svelte": { 3226 + "optional": true 3227 + } 3228 + } 3229 + }, 3230 + "node_modules/svelte2tsx": { 3231 + "version": "0.7.40", 3232 + "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.40.tgz", 3233 + "integrity": "sha512-Fgqe2lzC9DWT/kQTIXqN39O2ot9rUqzUu9dqpbuI6EsaEJ6+RSXVmXnxcNYMlKb2LRPDoIg9TVzXYWwi0zhCmQ==", 3234 + "dev": true, 3235 + "license": "MIT", 3236 + "dependencies": { 3237 + "dedent-js": "^1.0.1", 3238 + "pascal-case": "^3.1.1" 3239 + }, 3240 + "peerDependencies": { 3241 + "svelte": "^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0", 3242 + "typescript": "^4.9.4 || ^5.0.0" 3243 + } 3244 + }, 3245 + "node_modules/tinyglobby": { 3246 + "version": "0.2.14", 3247 + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", 3248 + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", 3249 + "dev": true, 3250 + "license": "MIT", 3251 + "dependencies": { 3252 + "fdir": "^6.4.4", 3253 + "picomatch": "^4.0.2" 3254 + }, 3255 + "engines": { 3256 + "node": ">=12.0.0" 3257 + }, 3258 + "funding": { 3259 + "url": "https://github.com/sponsors/SuperchupuDev" 3260 + } 3261 + }, 3262 + "node_modules/to-regex-range": { 3263 + "version": "5.0.1", 3264 + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 3265 + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 3266 + "dev": true, 3267 + "license": "MIT", 3268 + "dependencies": { 3269 + "is-number": "^7.0.0" 3270 + }, 3271 + "engines": { 3272 + "node": ">=8.0" 3273 + } 3274 + }, 3275 + "node_modules/totalist": { 3276 + "version": "3.0.1", 3277 + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", 3278 + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", 3279 + "dev": true, 3280 + "license": "MIT", 3281 + "engines": { 3282 + "node": ">=6" 3283 + } 3284 + }, 3285 + "node_modules/ts-api-utils": { 3286 + "version": "2.1.0", 3287 + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", 3288 + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", 3289 + "dev": true, 3290 + "license": "MIT", 3291 + "engines": { 3292 + "node": ">=18.12" 3293 + }, 3294 + "peerDependencies": { 3295 + "typescript": ">=4.8.4" 3296 + } 3297 + }, 3298 + "node_modules/tslib": { 3299 + "version": "2.8.1", 3300 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 3301 + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", 3302 + "dev": true, 3303 + "license": "0BSD" 3304 + }, 3305 + "node_modules/type-check": { 3306 + "version": "0.4.0", 3307 + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 3308 + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 3309 + "dev": true, 3310 + "license": "MIT", 3311 + "dependencies": { 3312 + "prelude-ls": "^1.2.1" 3313 + }, 3314 + "engines": { 3315 + "node": ">= 0.8.0" 3316 + } 3317 + }, 3318 + "node_modules/typescript": { 3319 + "version": "5.8.3", 3320 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", 3321 + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", 3322 + "dev": true, 3323 + "license": "Apache-2.0", 3324 + "bin": { 3325 + "tsc": "bin/tsc", 3326 + "tsserver": "bin/tsserver" 3327 + }, 3328 + "engines": { 3329 + "node": ">=14.17" 3330 + } 3331 + }, 3332 + "node_modules/typescript-eslint": { 3333 + "version": "8.35.0", 3334 + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.35.0.tgz", 3335 + "integrity": "sha512-uEnz70b7kBz6eg/j0Czy6K5NivaYopgxRjsnAJ2Fx5oTLo3wefTHIbL7AkQr1+7tJCRVpTs/wiM8JR/11Loq9A==", 3336 + "dev": true, 3337 + "license": "MIT", 3338 + "dependencies": { 3339 + "@typescript-eslint/eslint-plugin": "8.35.0", 3340 + "@typescript-eslint/parser": "8.35.0", 3341 + "@typescript-eslint/utils": "8.35.0" 3342 + }, 3343 + "engines": { 3344 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 3345 + }, 3346 + "funding": { 3347 + "type": "opencollective", 3348 + "url": "https://opencollective.com/typescript-eslint" 3349 + }, 3350 + "peerDependencies": { 3351 + "eslint": "^8.57.0 || ^9.0.0", 3352 + "typescript": ">=4.8.4 <5.9.0" 3353 + } 3354 + }, 3355 + "node_modules/uri-js": { 3356 + "version": "4.4.1", 3357 + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 3358 + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 3359 + "dev": true, 3360 + "license": "BSD-2-Clause", 3361 + "dependencies": { 3362 + "punycode": "^2.1.0" 3363 + } 3364 + }, 3365 + "node_modules/util-deprecate": { 3366 + "version": "1.0.2", 3367 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3368 + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 3369 + "dev": true, 3370 + "license": "MIT" 3371 + }, 3372 + "node_modules/vite": { 3373 + "version": "6.3.5", 3374 + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", 3375 + "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", 3376 + "dev": true, 3377 + "license": "MIT", 3378 + "dependencies": { 3379 + "esbuild": "^0.25.0", 3380 + "fdir": "^6.4.4", 3381 + "picomatch": "^4.0.2", 3382 + "postcss": "^8.5.3", 3383 + "rollup": "^4.34.9", 3384 + "tinyglobby": "^0.2.13" 3385 + }, 3386 + "bin": { 3387 + "vite": "bin/vite.js" 3388 + }, 3389 + "engines": { 3390 + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" 3391 + }, 3392 + "funding": { 3393 + "url": "https://github.com/vitejs/vite?sponsor=1" 3394 + }, 3395 + "optionalDependencies": { 3396 + "fsevents": "~2.3.3" 3397 + }, 3398 + "peerDependencies": { 3399 + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", 3400 + "jiti": ">=1.21.0", 3401 + "less": "*", 3402 + "lightningcss": "^1.21.0", 3403 + "sass": "*", 3404 + "sass-embedded": "*", 3405 + "stylus": "*", 3406 + "sugarss": "*", 3407 + "terser": "^5.16.0", 3408 + "tsx": "^4.8.1", 3409 + "yaml": "^2.4.2" 3410 + }, 3411 + "peerDependenciesMeta": { 3412 + "@types/node": { 3413 + "optional": true 3414 + }, 3415 + "jiti": { 3416 + "optional": true 3417 + }, 3418 + "less": { 3419 + "optional": true 3420 + }, 3421 + "lightningcss": { 3422 + "optional": true 3423 + }, 3424 + "sass": { 3425 + "optional": true 3426 + }, 3427 + "sass-embedded": { 3428 + "optional": true 3429 + }, 3430 + "stylus": { 3431 + "optional": true 3432 + }, 3433 + "sugarss": { 3434 + "optional": true 3435 + }, 3436 + "terser": { 3437 + "optional": true 3438 + }, 3439 + "tsx": { 3440 + "optional": true 3441 + }, 3442 + "yaml": { 3443 + "optional": true 3444 + } 3445 + } 3446 + }, 3447 + "node_modules/vitefu": { 3448 + "version": "1.0.7", 3449 + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.7.tgz", 3450 + "integrity": "sha512-eRWXLBbJjW3X5z5P5IHcSm2yYbYRPb2kQuc+oqsbAl99WB5kVsPbiiox+cymo8twTzifA6itvhr2CmjnaZZp0Q==", 3451 + "dev": true, 3452 + "license": "MIT", 3453 + "workspaces": [ 3454 + "tests/deps/*", 3455 + "tests/projects/*" 3456 + ], 3457 + "peerDependencies": { 3458 + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" 3459 + }, 3460 + "peerDependenciesMeta": { 3461 + "vite": { 3462 + "optional": true 3463 + } 3464 + } 3465 + }, 3466 + "node_modules/which": { 3467 + "version": "2.0.2", 3468 + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 3469 + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 3470 + "dev": true, 3471 + "license": "ISC", 3472 + "dependencies": { 3473 + "isexe": "^2.0.0" 3474 + }, 3475 + "bin": { 3476 + "node-which": "bin/node-which" 3477 + }, 3478 + "engines": { 3479 + "node": ">= 8" 3480 + } 3481 + }, 3482 + "node_modules/word-wrap": { 3483 + "version": "1.2.5", 3484 + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", 3485 + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", 3486 + "dev": true, 3487 + "license": "MIT", 3488 + "engines": { 3489 + "node": ">=0.10.0" 3490 + } 3491 + }, 3492 + "node_modules/yaml": { 3493 + "version": "2.8.0", 3494 + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", 3495 + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", 3496 + "dev": true, 3497 + "license": "ISC", 3498 + "optional": true, 3499 + "peer": true, 3500 + "bin": { 3501 + "yaml": "bin.mjs" 3502 + }, 3503 + "engines": { 3504 + "node": ">= 14.6" 3505 + } 3506 + }, 3507 + "node_modules/yocto-queue": { 3508 + "version": "0.1.0", 3509 + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 3510 + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 3511 + "dev": true, 3512 + "license": "MIT", 3513 + "engines": { 3514 + "node": ">=10" 3515 + }, 3516 + "funding": { 3517 + "url": "https://github.com/sponsors/sindresorhus" 3518 + } 3519 + }, 3520 + "node_modules/zimmerframe": { 3521 + "version": "1.1.2", 3522 + "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.2.tgz", 3523 + "integrity": "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==", 3524 + "dev": true, 3525 + "license": "MIT" 3526 + }, 3527 + "packages/kgrid": { 3528 + "version": "1.0.0", 3529 + "extraneous": true, 3530 + "devDependencies": {} 3531 + } 3532 + } 3522 3533 }
+10 -3
package.json
··· 1 1 { 2 2 "name": "kutils", 3 3 "version": "0.0.1", 4 + "description": "Utilities for TypeScript and Svelte", 5 + "type": "module", 4 6 "scripts": { 5 7 "dev": "vite dev", 6 8 "build": "vite build && npm run prepack", ··· 22 24 ], 23 25 "svelte": "./dist/index.js", 24 26 "types": "./dist/index.d.ts", 25 - "type": "module", 26 27 "exports": { 27 28 ".": { 28 29 "types": "./dist/index.d.ts", 29 30 "svelte": "./dist/index.js" 31 + }, 32 + "./virtual-grid": { 33 + "types": "./dist/virtual-grid.d.ts", 34 + "svelte": "./dist/virtual-grid.js" 30 35 } 31 36 }, 32 37 "peerDependencies": { ··· 50 55 "vite": "^6.3.5" 51 56 }, 52 57 "keywords": [ 53 - "svelte" 54 - ] 58 + "svelte", 59 + "typescript", 60 + "virtual-grid" 61 + ], 55 62 "prettier": { 56 63 "useTabs": true, 57 64 "printWidth": 100,
+76
src/lib/auto-snapshot.ts
··· 1 + /** 2 + * Automatically snapshot Svelte form values for `input`, `textarea` and `select` elements. 3 + * 4 + * The `name` attribute is used as the key. If you need to use a different key than the `name` attribute, you can alternatively specify it with the `data-snapsho` attribute. 5 + * 6 + * ### Usage 7 + * ```svelte 8 + * <script> 9 + * const snapshotter = auto_snapshot() 10 + * export const snapshot = snapshotter 11 + * </script> 12 + * <div use:snapshotter.container> 13 + * <input type="text" name="first_name" /> 14 + * </div> 15 + * ``` 16 + * 17 + */ 18 + export function auto_snapshot() { 19 + let container_el: HTMLElement | undefined 20 + const selector = 'input[data-snapshot],textarea[data-snapshot],select[data-snapshot]' 21 + return { 22 + capture() { 23 + if (!container_el?.querySelectorAll) { 24 + throw new Error('auto_snapshot: container element not set') 25 + } 26 + const elements = container_el.querySelectorAll(selector) 27 + const values: Record<string, string> = {} 28 + for (const element of elements) { 29 + if ( 30 + element instanceof HTMLInputElement || 31 + element instanceof HTMLSelectElement || 32 + element instanceof HTMLTextAreaElement 33 + ) { 34 + let key = element.dataset.snapshot 35 + if (!key || key === 'true' || key === 'false') { 36 + key = element.name 37 + } 38 + values[key] = element.value 39 + } 40 + } 41 + return values 42 + }, 43 + restore(value: Record<string, string>) { 44 + if (!container_el?.querySelectorAll) { 45 + throw new Error('auto_snapshot: container element not set') 46 + } 47 + const elements = container_el.querySelectorAll(selector) 48 + for (const element of elements) { 49 + if ( 50 + element instanceof HTMLInputElement || 51 + element instanceof HTMLSelectElement || 52 + element instanceof HTMLTextAreaElement 53 + ) { 54 + let key = element.dataset.snapshot 55 + if (!key || key === 'true' || key === 'false') { 56 + key = element.name 57 + } 58 + if (!value[key]) { 59 + continue 60 + } 61 + if (element instanceof HTMLInputElement && element.type === 'checkbox') { 62 + element.checked = value[key] === 'on' 63 + } else { 64 + element.value = value[key] 65 + } 66 + // Trigger Svelte state to updates 67 + element.dispatchEvent(new Event('change')) 68 + element.dispatchEvent(new Event('snapshot-restore')) 69 + } 70 + } 71 + }, 72 + container(node: HTMLElement) { 73 + container_el = node 74 + }, 75 + } 76 + }
+2
src/lib/index.ts
··· 1 + export { check_shortcut, check_mouse_shortcut, check_modifiers, is_mac } from './shortcuts.ts' 2 + export { auto_snapshot } from './auto-snapshot.ts'
+399
src/lib/selection.ts
··· 1 + import { writable, type Writable } from 'svelte/store' 2 + import { check_mouse_shortcut, check_shortcut } from './shortcuts.ts' 3 + 4 + type SelectionOptions<T> = { 5 + scroll_to: (target: { item: T; index: number }) => void 6 + on_contextmenu: (items: Set<T>) => void 7 + } 8 + 9 + class Selection<T> { 10 + /** Currently selected items. Disallowing assignment 11 + * prevents the Svelte store from getting out of sync */ 12 + readonly items = new Set<T>() 13 + /** Full list of items that can be selected */ 14 + all: T[] 15 + /** The last added index */ 16 + last_added: { index: number; item: T } | null = null 17 + /** An anchor index for shift selection. */ 18 + shift_anchor: { index: number; item: T } | null = null 19 + /** Whether the user is current mouseup is a click or a selection update */ 20 + possible_row_click = false 21 + 22 + scroll_to: SelectionOptions<T>['scroll_to'] 23 + on_contextmenu: SelectionOptions<T>['on_contextmenu'] 24 + 25 + constructor(all_items: T[], options: SelectionOptions<T>) { 26 + this.all = all_items 27 + this.scroll_to = options.scroll_to 28 + this.on_contextmenu = options.on_contextmenu 29 + } 30 + 31 + clear() { 32 + this.items.clear() 33 + this.last_added = null 34 + this.shift_anchor = null 35 + } 36 + 37 + /** Update the list of items that can be selected. 38 + * Items that no longer exist are de-selected. */ 39 + update_all_items(all: T[]) { 40 + this.all = all 41 + const keep = new Set(all.filter((item) => this.items.has(item))) 42 + for (const item of this.items) { 43 + if (!keep.has(item)) { 44 + this.items.delete(item) 45 + } 46 + } 47 + if (this.last_added !== null) { 48 + if (this.items.has(this.last_added.item)) { 49 + const index = this.all.indexOf(this.last_added.item) 50 + this.last_added = { index, item: this.last_added.item } 51 + } else { 52 + this.last_added = null 53 + } 54 + } 55 + if (this.shift_anchor !== null && !this.items.has(this.shift_anchor.item)) { 56 + if (this.items.has(this.shift_anchor.item)) { 57 + const index = this.all.indexOf(this.shift_anchor.item) 58 + this.shift_anchor = { index, item: this.shift_anchor.item } 59 + } else { 60 + this.shift_anchor = null 61 + } 62 + } 63 + } 64 + 65 + /** Get first selected index, or `null` if selection is empty */ 66 + find_first_index() { 67 + const item_i = this.all.findIndex((item) => this.items.has(item)) 68 + if (item_i === -1) { 69 + return null 70 + } 71 + return item_i 72 + } 73 + 74 + /** Get first selected item, or `undefined` if selection is empty */ 75 + find_first() { 76 + const item_i = this.all.find((item) => this.items.has(item)) 77 + return item_i 78 + } 79 + 80 + items_as_array() { 81 + return this.all.filter((item) => this.items.has(item)) 82 + } 83 + 84 + get_selected_indexes() { 85 + const indexes = [] 86 + for (let i = 0; i < this.all.length; i++) { 87 + if (this.items.has(this.all[i])) { 88 + indexes.push(i) 89 + } 90 + } 91 + return indexes 92 + } 93 + 94 + #get_shift_anchor() { 95 + if (this.shift_anchor !== null) return this.shift_anchor 96 + else return this.last_added 97 + } 98 + 99 + add_index(index: number) { 100 + if (index >= 0 && index < this.all.length) { 101 + this.items.add(this.all[index]) 102 + this.last_added = { index, item: this.all[index] } 103 + this.shift_anchor = null 104 + } 105 + } 106 + 107 + add_index_unchecked(index: number) { 108 + this.items.add(this.all[index]) 109 + this.last_added = { index, item: this.all[index] } 110 + this.shift_anchor = null 111 + } 112 + 113 + #add_index_in_shift_mode(index: number) { 114 + this.items.add(this.all[index]) 115 + this.last_added = { index, item: this.all[index] } 116 + } 117 + 118 + #add_index_range_in_shift_mode(from_index: number, to_index: number) { 119 + // Direction here determines this.last_added 120 + if (from_index < to_index) { 121 + for (let i = from_index; i <= to_index; i++) { 122 + this.#add_index_in_shift_mode(i) 123 + } 124 + } else { 125 + for (let i = from_index; i >= to_index; i--) { 126 + this.#add_index_in_shift_mode(i) 127 + } 128 + } 129 + } 130 + 131 + #remove_range_in_shift_mode(from_i: number, to_i: number) { 132 + if (from_i < to_i) { 133 + for (let i = from_i; i <= to_i; i++) { 134 + this.items.delete(this.all[i]) 135 + } 136 + } else { 137 + for (let i = from_i; i >= to_i; i--) { 138 + this.items.delete(this.all[i]) 139 + } 140 + } 141 + } 142 + 143 + /** Shift-select to index */ 144 + shift_select_to(to_index: number) { 145 + const anchor = this.#get_shift_anchor() 146 + const last_added = this.last_added 147 + if (last_added === null || anchor === null) { 148 + return this.items 149 + } 150 + 151 + if (anchor.index < to_index) { 152 + if (to_index < last_added.index) { 153 + // Retract selection closer to anchor 154 + this.#remove_range_in_shift_mode(to_index + 1, last_added.index) 155 + } else if (last_added.index < anchor.index) { 156 + // New shift selection is on the other side of anchor 157 + this.#remove_range_in_shift_mode(anchor.index - 1, last_added.index) 158 + this.#add_index_range_in_shift_mode(anchor.index, to_index) 159 + } else { 160 + this.#add_index_range_in_shift_mode(last_added.index, to_index) 161 + } 162 + this.last_added = { index: to_index, item: this.all[to_index] } 163 + } else { 164 + if (to_index > last_added.index) { 165 + // Retract selection closer to anchor 166 + this.#remove_range_in_shift_mode(to_index - 1, last_added.index) 167 + } else if (last_added.index > anchor.index) { 168 + // New shift selection is on the other side of anchor 169 + this.#remove_range_in_shift_mode(anchor.index + 1, last_added.index) 170 + this.#add_index_range_in_shift_mode(anchor.index, to_index) 171 + } else { 172 + this.#add_index_range_in_shift_mode(last_added.index, to_index) 173 + } 174 + this.last_added = { index: to_index, item: this.all[to_index] } 175 + } 176 + this.shift_anchor = anchor 177 + } 178 + 179 + /** Replace selection with the previous index, like perssing `ArrowUp` in a list. */ 180 + go_backward() { 181 + if (this.all.length === 0) { 182 + return 183 + } else if (this.items.size === 0) { 184 + this.add_index_unchecked(this.all.length - 1) 185 + } else if (this.last_added !== null) { 186 + const prev_index = this.last_added.index - 1 187 + this.clear() 188 + this.add_index_unchecked(Math.max(prev_index, 0)) 189 + } 190 + } 191 + 192 + /** Replace selection with the previous index, like perssing `ArrowDown` in a list. */ 193 + go_forward() { 194 + if (this.all.length === 0) { 195 + return 196 + } else if (this.items.size === 0) { 197 + this.add_index_unchecked(0) 198 + } else if (this.last_added !== null) { 199 + console.log('go_forward', { ...this }) 200 + const next_index = this.last_added.index + 1 201 + this.clear() 202 + this.add_index_unchecked(Math.min(next_index, this.all.length - 1)) 203 + console.log('.', { ...this }) 204 + } 205 + } 206 + /** Expand or shrink selection backwards (shift+up) */ 207 + shift_select_backward() { 208 + const anchor = this.#get_shift_anchor() 209 + this.shift_anchor = anchor 210 + if (anchor === null || this.last_added === null) { 211 + return 212 + } 213 + if (this.last_added.index <= anchor.index) { 214 + // add prev to selection 215 + for (let i = this.last_added.index; i >= 0; i--) { 216 + if (!this.items.has(this.all[i])) { 217 + this.#add_index_in_shift_mode(i) 218 + return 219 + } 220 + } 221 + } else { 222 + // remove first from selection 223 + this.items.delete(this.last_added.item) 224 + this.last_added = { 225 + index: this.last_added.index - 1, 226 + item: this.all[this.last_added.index - 1], 227 + } 228 + } 229 + } 230 + /** Expand or shrink selection forwards (shift+down) */ 231 + shift_select_forward() { 232 + const anchor = this.#get_shift_anchor() 233 + this.shift_anchor = anchor 234 + if (anchor === null || this.last_added === null) { 235 + return 236 + } 237 + if (this.last_added.index >= anchor.index) { 238 + // add next to selection 239 + for (let i = this.last_added.index; i < this.all.length; i++) { 240 + if (!this.items.has(this.all[i])) { 241 + this.#add_index_in_shift_mode(i) 242 + return 243 + } 244 + } 245 + } else { 246 + // remove last from selection 247 + this.items.delete(this.last_added.item) 248 + this.last_added = { 249 + index: this.last_added.index + 1, 250 + item: this.all[this.last_added.index + 1], 251 + } 252 + } 253 + } 254 + #toggle(index: number) { 255 + if (this.items.has(this.all[index])) { 256 + if (this.last_added && this.last_added.item === this.all[index]) { 257 + this.last_added = null 258 + } 259 + this.items.delete(this.all[index]) 260 + } else { 261 + this.add_index_unchecked(index) 262 + } 263 + this.shift_anchor = null 264 + } 265 + 266 + mouse_down_select(e: MouseEvent, index: number) { 267 + const is_selected = this.items.has(this.all[index]) 268 + if (check_mouse_shortcut(e) && !is_selected) { 269 + this.clear() 270 + this.add_index_unchecked(index) 271 + } else if (check_mouse_shortcut(e, { cmd_or_ctrl: true }) && !is_selected) { 272 + this.add_index_unchecked(index) 273 + } else if (check_mouse_shortcut(e, { shift: true })) { 274 + this.shift_select_to(index) 275 + } 276 + } 277 + 278 + handle_mouse_down(e: MouseEvent, index: number) { 279 + if (e.button !== 0) { 280 + return 281 + } 282 + if (this.items.has(this.all[index])) { 283 + this.possible_row_click = true 284 + } 285 + this.mouse_down_select(e, index) 286 + } 287 + handle_contextmenu(e: MouseEvent, index: number) { 288 + this.mouse_down_select(e, index) 289 + this.on_contextmenu(this.items) 290 + } 291 + handle_click(e: MouseEvent, index: number) { 292 + if (this.possible_row_click && e.button === 0) { 293 + if (check_mouse_shortcut(e)) { 294 + this.clear() 295 + this.add_index_unchecked(index) 296 + } else if (check_mouse_shortcut(e, { cmd_or_ctrl: true })) { 297 + this.#toggle(index) 298 + } 299 + } 300 + this.possible_row_click = false 301 + } 302 + handle_keydown(e: KeyboardEvent) { 303 + if (check_shortcut(e, 'Escape')) { 304 + this.clear() 305 + } else if (check_shortcut(e, 'A', { cmd_or_ctrl: true })) { 306 + if (this.all.length > 1) { 307 + this.#add_index_range_in_shift_mode(0, this.all.length - 1) 308 + } 309 + } else if (check_shortcut(e, 'ArrowUp')) { 310 + this.go_backward() 311 + if (this.last_added) this.scroll_to({ ...this.last_added }) 312 + } else if (check_shortcut(e, 'ArrowUp', { shift: true })) { 313 + this.shift_select_backward() 314 + if (this.last_added) this.scroll_to({ ...this.last_added }) 315 + } else if (check_shortcut(e, 'ArrowUp', { alt: true })) { 316 + this.clear() 317 + if (this.all.length > 1) { 318 + this.add_index_unchecked(0) 319 + if (this.last_added) this.scroll_to({ ...this.last_added }) 320 + } 321 + } else if (check_shortcut(e, 'ArrowUp', { shift: true, alt: true })) { 322 + this.shift_select_to(0) 323 + if (this.last_added) this.scroll_to({ ...this.last_added }) 324 + } else if (check_shortcut(e, 'ArrowDown')) { 325 + this.go_forward() 326 + if (this.last_added) this.scroll_to({ ...this.last_added }) 327 + } else if (check_shortcut(e, 'ArrowDown', { shift: true })) { 328 + this.shift_select_forward() 329 + if (this.last_added) this.scroll_to({ ...this.last_added }) 330 + } else if (check_shortcut(e, 'ArrowDown', { alt: true })) { 331 + this.clear() 332 + if (this.all.length > 1) { 333 + this.add_index_unchecked(this.all.length - 1) 334 + if (this.last_added) this.scroll_to({ ...this.last_added }) 335 + } 336 + } else if (check_shortcut(e, 'ArrowDown', { shift: true, alt: true })) { 337 + this.shift_select_to(this.all.length - 1) 338 + if (this.last_added) this.scroll_to({ ...this.last_added }) 339 + } else { 340 + return 341 + } 342 + e.preventDefault() 343 + } 344 + } 345 + 346 + export class SvelteSelection<T> { 347 + readonly #selection: Selection<T> 348 + readonly #store: Writable<Set<T>> 349 + readonly subscribe: Writable<Set<T>>['subscribe'] 350 + readonly items: Set<T> 351 + constructor(all_items: T[], options: SelectionOptions<T>) { 352 + this.#selection = new Selection(all_items, options) 353 + this.#store = writable(this.#selection.items) 354 + this.subscribe = this.#store.subscribe 355 + this.items = this.#selection.items 356 + } 357 + 358 + find_first_index() { 359 + return this.#selection.find_first_index() 360 + } 361 + find_first() { 362 + return this.#selection.find_first() 363 + } 364 + items_as_array() { 365 + return this.#selection.items_as_array() 366 + } 367 + get_selected_indexes() { 368 + return this.#selection.get_selected_indexes() 369 + } 370 + 371 + add_index(index: number) { 372 + this.#selection.add_index(index) 373 + } 374 + 375 + clear() { 376 + this.#selection.clear() 377 + this.#store.set(this.#selection.items) 378 + } 379 + update_all_items(all: T[]) { 380 + this.#selection.update_all_items(all) 381 + this.#store.set(this.#selection.items) 382 + } 383 + handle_mousedown(e: MouseEvent, index: number) { 384 + this.#selection.handle_mouse_down(e, index) 385 + this.#store.set(this.#selection.items) 386 + } 387 + handle_contextmenu(e: MouseEvent, index: number) { 388 + this.#selection.handle_contextmenu(e, index) 389 + this.#store.set(this.#selection.items) 390 + } 391 + handle_click(e: MouseEvent, index: number) { 392 + this.#selection.handle_click(e, index) 393 + this.#store.set(this.#selection.items) 394 + } 395 + handle_keydown(e: KeyboardEvent) { 396 + this.#selection.handle_keydown(e) 397 + this.#store.set(this.#selection.items) 398 + } 399 + }
+40
src/lib/shortcuts.ts
··· 1 + export function is_mac() { 2 + return /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform) 3 + } 4 + 5 + type ShortcutOptions = { 6 + shift?: boolean 7 + alt?: boolean 8 + cmd_or_ctrl?: boolean 9 + } 10 + 11 + export function check_modifiers(e: KeyboardEvent | MouseEvent, options: ShortcutOptions = {}) { 12 + const target = { 13 + shift: options.shift || false, 14 + alt: options.alt || false, 15 + ctrl: (!is_mac() && options.cmd_or_ctrl) || false, 16 + meta: (is_mac() && options.cmd_or_ctrl) || false, 17 + } 18 + 19 + const pressed = { 20 + shift: !!e.shiftKey, 21 + alt: !!e.altKey, 22 + ctrl: !!e.ctrlKey, 23 + meta: !!e.metaKey, 24 + } 25 + 26 + return ( 27 + pressed.shift === target.shift && 28 + pressed.alt === target.alt && 29 + pressed.ctrl === target.ctrl && 30 + pressed.meta === target.meta 31 + ) 32 + } 33 + 34 + export function check_shortcut(e: KeyboardEvent, key: string, options: ShortcutOptions = {}) { 35 + if (e.key.toUpperCase() !== key.toUpperCase()) return false 36 + return check_modifiers(e, options) 37 + } 38 + export function check_mouse_shortcut(e: MouseEvent, options: ShortcutOptions = {}) { 39 + return check_modifiers(e, options) 40 + }
+305
src/lib/virtual-grid.ts
··· 1 + export type Column = { 2 + name: string 3 + key: string 4 + width: number 5 + is_pct?: true 6 + offset?: number 7 + /** Handles both creation and updating of rows */ 8 + cell_render?: (element: HTMLElement, value: unknown) => void 9 + } 10 + 11 + export const RefreshLevel = { 12 + Nothing: 0, 13 + // Render rows that go in/out of the viewport 14 + NewRows: 1, 15 + // Render all rows in the viewport 16 + AllRows: 2, 17 + } as const 18 + export type RefreshLevel = (typeof RefreshLevel)[keyof typeof RefreshLevel] 19 + 20 + type Row = { 21 + /* null means it will render */ 22 + element: HTMLElement | null 23 + /* null means it will be removed */ 24 + index: number | null 25 + rendered: boolean 26 + } 27 + 28 + /** 29 + * Note that parentElement is not reactive. 30 + * Do not add other elements into the row elements. Things would break because cells are referenced by indexing into the row's children. 31 + */ 32 + export class VirtualGrid<I, R extends Record<string, unknown>> { 33 + main_element?: HTMLElement 34 + viewport?: HTMLElement 35 + size_observer?: ResizeObserver 36 + refreshing: RefreshLevel = RefreshLevel.Nothing 37 + 38 + private constructor( 39 + public source_items: I[], 40 + public options: { 41 + buffer?: number 42 + row_prepare: (source_items: I, index: number) => R 43 + row_render: (element: HTMLElement, item: R, index: number) => void 44 + }, 45 + ) {} 46 + 47 + static create<I, R extends Record<string, unknown>>( 48 + source_items: I[], 49 + options: { 50 + buffer?: number 51 + row_prepare: (source_items: I, index: number) => R 52 + row_render: (element: HTMLElement, item: R, index: number) => void 53 + }, 54 + ) { 55 + return new VirtualGrid<I, R>(source_items, options) 56 + } 57 + 58 + row_height = 24 59 + 60 + set_source_items(source_items: I[]) { 61 + this.source_items = source_items 62 + this.#update_viewport_size() 63 + this.refresh(RefreshLevel.AllRows) 64 + } 65 + 66 + viewport_row_count = 0 67 + 68 + #update_viewport_size() { 69 + const viewport_height = this.viewport?.clientHeight ?? 0 70 + this.viewport_row_count = Math.ceil(viewport_height / this.row_height) 71 + 72 + const height = this.source_items.length * this.row_height 73 + if (this.main_element) { 74 + this.main_element.style.height = height + 'px' 75 + } 76 + } 77 + 78 + rows: Row[] = [] 79 + 80 + #recalculate_visible_indexes() { 81 + if (!this.viewport) { 82 + return 83 + } 84 + const buffer = this.options.buffer ?? 5 85 + const rendered_count = this.viewport_row_count + buffer * 2 86 + 87 + let start_index = Math.max(0, Math.floor(this.viewport.scrollTop / this.row_height - buffer)) 88 + const end_index = Math.min(this.source_items.length - 1, start_index - 1 + rendered_count) 89 + if (end_index - start_index + 1 < rendered_count) { 90 + // fill backwards when scrolled to the end 91 + start_index = Math.max(0, end_index + 1 - rendered_count) 92 + } 93 + 94 + // figure out which indexes should now be added 95 + const new_visible_indexes: number[] = [] 96 + for (let i = start_index; i <= end_index; i++) { 97 + const exists = this.rows.find((row) => row.index === i) 98 + if (!exists) { 99 + new_visible_indexes.push(i) 100 + } 101 + } 102 + 103 + // update the visible indexes 104 + for (let i = 0; i < this.rows.length; i++) { 105 + const row = this.rows[i] 106 + const still_visible = row.index !== null && row.index >= start_index && row.index <= end_index 107 + if (!still_visible) { 108 + const new_index = new_visible_indexes.pop() 109 + if (new_index !== undefined) { 110 + // update it to a new visible index 111 + row.index = new_index 112 + row.rendered = false 113 + } else { 114 + // if there are no new visible indexes left, remove it 115 + row.index = null 116 + row.rendered = false 117 + } 118 + } 119 + } 120 + if (new_visible_indexes.length > 0) { 121 + // add new visible indexes 122 + for (const index of new_visible_indexes) { 123 + this.rows.push({ 124 + element: null, 125 + index, 126 + rendered: false, 127 + }) 128 + } 129 + } 130 + } 131 + 132 + refresh(level: RefreshLevel = RefreshLevel.AllRows) { 133 + if (this.refreshing) { 134 + if (level > this.refreshing) { 135 + this.refreshing = level 136 + } 137 + return 138 + } 139 + this.refreshing = level 140 + 141 + requestAnimationFrame(() => { 142 + this.#recalculate_visible_indexes() 143 + if (this.refreshing === RefreshLevel.AllRows) { 144 + for (const row of this.rows) { 145 + row.rendered = false 146 + } 147 + } 148 + this.#render() 149 + this.refreshing = 0 150 + }) 151 + } 152 + 153 + columns: Column[] = [] 154 + set_columns(columns: Column[]) { 155 + const total_fixed_width = columns.reduce((sum, col) => sum + (col.is_pct ? 0 : col.width), 0) 156 + const total_percent_pct = columns.reduce((sum, col) => sum + (col.is_pct ? col.width : 0), 0) 157 + const container_width = this.viewport?.clientWidth ?? total_fixed_width 158 + const total_percent_width = container_width - total_fixed_width 159 + let offset = 0 160 + this.columns = columns.map((col) => { 161 + col = { ...col } 162 + if (col.is_pct) { 163 + const pct = col.width / total_percent_pct 164 + col.width = pct * total_percent_width 165 + } 166 + col.offset = offset 167 + offset += col.width 168 + return col 169 + }) 170 + 171 + // make all rows fully rerender 172 + for (const row of this.rows) { 173 + row.element?.remove() 174 + } 175 + this.rows = [] 176 + 177 + this.refresh(RefreshLevel.NewRows) 178 + return this.columns 179 + } 180 + 181 + #render() { 182 + // prepare rows, before any DOM updates 183 + const items: R[] = [] 184 + for (const row of this.rows) { 185 + if (row.index === null || row.rendered) { 186 + continue 187 + } 188 + const row_item = this.options.row_prepare(this.source_items[row.index], row.index) 189 + items[row.index] = row_item 190 + } 191 + 192 + // create new row elements 193 + for (const row of this.rows) { 194 + if (row.element || row.index === null) { 195 + continue 196 + } 197 + const row_element = document.createElement('div') 198 + row_element.className = 'row' 199 + row_element.setAttribute('role', 'row') 200 + row_element.setAttribute('draggable', 'true') 201 + row.element = row_element 202 + this.main_element?.appendChild(row_element) 203 + 204 + for (const column of this.columns) { 205 + const cell = document.createElement('div') 206 + cell.className = `cell ${column.key}` 207 + cell.style.width = `${column.width}px` 208 + cell.style.translate = `${column.offset}px 0` 209 + row_element.appendChild(cell) 210 + } 211 + } 212 + 213 + // render rows 214 + for (const row of this.rows) { 215 + if (row.rendered || row.index === null) { 216 + continue 217 + } 218 + if (!row.element) { 219 + throw new Error('Unexpected missing row element') 220 + } 221 + row.element.style.translate = `0 ${row.index * this.row_height}px` 222 + row.element.setAttribute('aria-rowindex', String(row.index + 1)) 223 + const row_item = items[row.index] 224 + for (let ci = 0; ci < this.columns.length; ci++) { 225 + const column = this.columns[ci] 226 + const cell = row.element.children[ci] as HTMLElement 227 + let cell_value = row_item[column.key] 228 + if (cell_value === undefined || cell_value === null) { 229 + cell_value = '' 230 + } 231 + if (column.cell_render) { 232 + column.cell_render(cell, cell_value) 233 + } else { 234 + cell.textContent = String(cell_value) 235 + } 236 + } 237 + this.options.row_render(row.element, row_item, row.index) 238 + row.rendered = true 239 + } 240 + 241 + // delete rows that are no longer visible 242 + for (let i = this.rows.length - 1; i >= 0; i--) { 243 + const row = this.rows[i] 244 + if (row.index === null) { 245 + row.element?.remove() 246 + this.rows.splice(i, 1) 247 + } 248 + } 249 + } 250 + 251 + scroll_to_index(index: number, scroll_margin_bottom = 0) { 252 + if (!this.viewport) { 253 + throw new Error('No viewport') 254 + } 255 + const dummy = document.createElement('div') 256 + dummy.style.height = this.row_height + 'px' 257 + dummy.style.position = 'absolute' 258 + dummy.style.top = index * this.row_height + 'px' 259 + dummy.style.scrollMarginBottom = scroll_margin_bottom + 'px' 260 + this.viewport.prepend(dummy) 261 + dummy.scrollIntoView({ behavior: 'instant', block: 'nearest' }) 262 + dummy.remove() 263 + } 264 + 265 + setup(node: HTMLElement) { 266 + this.main_element = node 267 + 268 + const viewport_result = this.main_element.parentElement 269 + if (!viewport_result) { 270 + throw new Error('No viewport') 271 + } 272 + const viewport = viewport_result 273 + this.viewport = viewport 274 + 275 + this.#update_viewport_size() 276 + 277 + this.size_observer = new ResizeObserver(() => { 278 + this.#update_viewport_size() 279 + this.refresh(RefreshLevel.NewRows) 280 + }) 281 + this.size_observer.observe(this.viewport) 282 + 283 + const on_scroll = () => this.refresh(RefreshLevel.NewRows) 284 + const on_keydown = (e: KeyboardEvent) => { 285 + let prevent = true 286 + if (e.key === 'Home') viewport.scrollTop = 0 287 + else if (e.key === 'End') viewport.scrollTop = viewport.scrollHeight 288 + else if (e.key === 'PageUp') viewport.scrollTop -= viewport.clientHeight 289 + else if (e.key === 'PageDown') viewport.scrollTop += viewport.clientHeight 290 + else prevent = false 291 + if (prevent) e.preventDefault() 292 + } 293 + viewport.addEventListener('scroll', on_scroll) 294 + viewport.addEventListener('keydown', on_keydown) 295 + return () => { 296 + viewport.removeEventListener('scroll', on_scroll) 297 + viewport.removeEventListener('keydown', on_keydown) 298 + this.size_observer?.disconnect() 299 + } 300 + } 301 + attach() { 302 + // This is a function in order to make `this` work 303 + return (node: HTMLElement) => this.setup(node) 304 + } 305 + }