From 9ccd86b3bfb4ce05e5b2f9d133b5902ea5a55363 Mon Sep 17 00:00:00 2001 From: Raphael Schweikert Date: Tue, 19 Nov 2024 11:39:15 +0100 Subject: [PATCH 01/13] test(editor): add simple playwright spec and integrate with gradle --- build.gradle.kts | 357 ++++++++++++++++-------------- configs/playwright.config.ts | 82 +++++++ package-lock.json | 90 ++++++++ package.json | 7 +- src/test/playwright/basic.spec.ts | 8 + 5 files changed, 373 insertions(+), 171 deletions(-) create mode 100644 configs/playwright.config.ts create mode 100644 src/test/playwright/basic.spec.ts diff --git a/build.gradle.kts b/build.gradle.kts index 2d0b29d..43a9a6f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,14 +2,14 @@ import com.cognifide.gradle.aem.bundle.tasks.bundle import com.github.gradle.node.npm.task.NpmTask plugins { - java - `maven-publish` - alias(libs.plugins.gap.bundle) - alias(libs.plugins.gap.pkg) - alias(libs.plugins.nebula) - alias(libs.plugins.quality) - alias(libs.plugins.cpd) - alias(libs.plugins.node) + java + `maven-publish` + alias(libs.plugins.gap.bundle) + alias(libs.plugins.gap.pkg) + alias(libs.plugins.nebula) + alias(libs.plugins.quality) + alias(libs.plugins.cpd) + alias(libs.plugins.node) } group = "com.swisscom.aem.tools" @@ -18,184 +18,201 @@ description = "JCR Hopper: Migrate AEM with Grace" defaultTasks("check") quality { - checkstyleVersion = libs.versions.checkstyle.get() - pmdVersion = libs.versions.pmd.get() - spotbugsVersion = libs.versions.spotbugs.get() - spotbugsEffort = "max" // min, less, more or max - spotbugsLevel = "low" // low, medium, high + checkstyleVersion = libs.versions.checkstyle.get() + pmdVersion = libs.versions.pmd.get() + spotbugsVersion = libs.versions.spotbugs.get() + spotbugsEffort = "max" // min, less, more or max + spotbugsLevel = "low" // low, medium, high } afterEvaluate { - tasks.named("check") { - dependsOn("checkQualityMain") - } - - dependencies { - add("spotbugsPlugins", libs.findsecbugs) - add("spotbugsPlugins", libs.sbContrib) - add("pmd", libs.pmd.ant) - add("pmd", libs.pmd.java) - - // Spotbugs runtime annotations - add("compileOnly", libs.spotbugs.annotations) - } + tasks.named("check") { + dependsOn("checkQualityMain") + } + + dependencies { + add("spotbugsPlugins", libs.findsecbugs) + add("spotbugsPlugins", libs.sbContrib) + add("pmd", libs.pmd.ant) + add("pmd", libs.pmd.java) + + // Spotbugs runtime annotations + add("compileOnly", libs.spotbugs.annotations) + } } tasks { - withType { - options.encoding = "UTF-8" - options.compilerArgs.add("-Xlint:all") - options.compilerArgs.add("-Xlint:-processing") - options.compilerArgs.add("-Xlint:-serial") - options.compilerArgs.add("-Werror") - } - - test { - useJUnitPlatform() - } - - javadoc { - options.encoding = "UTF-8" - } + withType { + options.encoding = "UTF-8" + options.compilerArgs.add("-Xlint:all") + options.compilerArgs.add("-Xlint:-processing") + options.compilerArgs.add("-Xlint:-serial") + options.compilerArgs.add("-Werror") + } + + test { + useJUnitPlatform() + } + + javadoc { + options.encoding = "UTF-8" + } } java { - afterEvaluate { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - } - - dependencies { - // Lombok - annotationProcessor(libs.lombok) - compileOnly(libs.lombok) - - // AEM - compileOnly(libs.servlet) - compileOnly(libs.gson) - compileOnly(libs.apacheCommons.lang3) - compileOnly(libs.osgi.annotation) - compileOnly(libs.osgi.cmpn) - compileOnly(libs.jcr) - compileOnly(libs.geronimo) - compileOnly(libs.spiCommons) - compileOnly(libs.sling.annotations) - compileOnly(libs.sling.api) - compileOnly(libs.sling.models) - - // Test framework - testImplementation(libs.junit) - testImplementation(libs.aemMock) - testImplementation(libs.oakMock) - testImplementation(libs.mockito) - testImplementation(libs.aemUberJar) - testImplementation(libs.jsonAssert) - } + afterEvaluate { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + + dependencies { + // Lombok + annotationProcessor(libs.lombok) + compileOnly(libs.lombok) + + // AEM + compileOnly(libs.servlet) + compileOnly(libs.gson) + compileOnly(libs.apacheCommons.lang3) + compileOnly(libs.osgi.annotation) + compileOnly(libs.osgi.cmpn) + compileOnly(libs.jcr) + compileOnly(libs.geronimo) + compileOnly(libs.spiCommons) + compileOnly(libs.sling.annotations) + compileOnly(libs.sling.api) + compileOnly(libs.sling.models) + + // Test framework + testImplementation(libs.junit) + testImplementation(libs.aemMock) + testImplementation(libs.oakMock) + testImplementation(libs.mockito) + testImplementation(libs.aemUberJar) + testImplementation(libs.jsonAssert) + } } node { - version.set(libs.versions.node.get()) - npmVersion.set(libs.versions.npm.get()) - npmInstallCommand.set("ci") - download.set(true) + version.set(libs.versions.node.get()) + npmVersion.set(libs.versions.npm.get()) + npmInstallCommand.set("ci") + download.set(true) } aem { - bundleEmbed(libs.apacheCommons.jexl, "org.apache.commons.jexl3.*", export = false) - - tasks { - val frontendBuild by registering(NpmTask::class) { - dependsOn(npmInstall) - npmCommand.set(listOf("run", "build")) - - inputs.dir("src/main/frontend") - inputs.file("package-lock.json") - outputs.dir(layout.buildDirectory.dir("frontend")) - } - - val lint by registering(NpmTask::class) { - dependsOn(npmInstall) - npmCommand.set(listOf("run", "test:lint")) - - inputs.dir("src/main/frontend") - inputs.file("package-lock.json") - } - - val tsc by registering(NpmTask::class) { - dependsOn(npmInstall) - npmCommand.set(listOf("run", "test:compile")) - - inputs.dir("src/main/frontend") - inputs.file("package-lock.json") - } - - val format by registering(NpmTask::class) { - dependsOn(npmInstall) - npmCommand.set(listOf("run", "test:format")) - - inputs.dir("src") - inputs.file("package-lock.json") - inputs.file(".prettierrc.json") - } - - val prettierFormat by registering(NpmTask::class) { - dependsOn(npmInstall) - npmCommand.set(listOf("run", "test:format", "--", "--write")) - outputs.upToDateWhen { false } - } - - packageValidate { - enabled = true - } - - check { - dependsOn(lint, tsc, format, packageValidate) - } - - val aemContent by registering(Sync::class) { - from("$projectDir/src/main/content") - from(frontendBuild) - - destinationDir = project.layout.buildDirectory.dir(name).get().asFile - packageOptions.contentDir.set(destinationDir) - } - - assemble { - dependsOn(aemContent) - } - - packagePrepare { - dependsOn(aemContent) - } - - withType { - bundle { - javaPackage.set("${project.group}.jcrhopper") - } - } - } + bundleEmbed(libs.apacheCommons.jexl, "org.apache.commons.jexl3.*", export = false) + + tasks { + val frontendBuild by registering(NpmTask::class) { + dependsOn(npmInstall) + npmCommand.set(listOf("run", "build")) + + inputs.dir("src/main/frontend") + inputs.file("package-lock.json") + outputs.dir(layout.buildDirectory.dir("frontend")) + } + + val lint by registering(NpmTask::class) { + dependsOn(npmInstall) + npmCommand.set(listOf("run", "test:lint")) + + inputs.dir("src/main/frontend") + inputs.file("package-lock.json") + } + + val tsc by registering(NpmTask::class) { + dependsOn(npmInstall) + npmCommand.set(listOf("run", "test:compile")) + + inputs.dir("src/main/frontend") + inputs.file("package-lock.json") + } + + val playwrightInstall by registering(NpmTask::class) { + dependsOn(npmInstall) + npmCommand.set(listOf("run", "install:playwright")) + outputs.upToDateWhen { false } + } + + val playwright by registering(NpmTask::class) { + mustRunAfter(playwrightInstall) + dependsOn(npmInstall) + dependsOn(frontendBuild) + npmCommand.set(listOf("run", "test:playwright")) + + inputs.dir("src/test/playwright") + inputs.file("configs/playwright.config.ts") + outputs.dir(project.layout.buildDirectory.dir("reports/$name")) + } + + val format by registering(NpmTask::class) { + dependsOn(npmInstall) + npmCommand.set(listOf("run", "test:format")) + + inputs.dir("src") + inputs.file("package-lock.json") + inputs.file(".prettierrc.json") + } + + val prettierFormat by registering(NpmTask::class) { + dependsOn(npmInstall) + npmCommand.set(listOf("run", "test:format", "--", "--write")) + outputs.upToDateWhen { false } + } + + packageValidate { + enabled = true + } + + check { + dependsOn(lint, tsc, format, packageValidate, playwright) + } + + val aemContent by registering(Sync::class) { + from("$projectDir/src/main/content") + from(frontendBuild) + + destinationDir = project.layout.buildDirectory.dir(name).get().asFile + packageOptions.contentDir.set(destinationDir) + } + + assemble { + dependsOn(aemContent) + } + + packagePrepare { + dependsOn(aemContent) + } + + withType { + bundle { + javaPackage.set("${project.group}.jcrhopper") + } + } + } } publishing { - repositories { - val mavenPublishUser: String? by project - val mavenPublishPassword: String? by project - if (mavenPublishUser != null && mavenPublishPassword != null) { - maven { - name = "GitHub" - url = uri("https://maven.pkg.github.com/swisscom/JCR-Hopper") - credentials { - username = mavenPublishUser - password = mavenPublishPassword - } - } - } - } - - publications { - create("hopper") { - artifact(tasks.packageCompose) - from(components["java"]) - } - } + repositories { + val mavenPublishUser: String? by project + val mavenPublishPassword: String? by project + if (mavenPublishUser != null && mavenPublishPassword != null) { + maven { + name = "GitHub" + url = uri("https://maven.pkg.github.com/swisscom/JCR-Hopper") + credentials { + username = mavenPublishUser + password = mavenPublishPassword + } + } + } + } + + publications { + create("hopper") { + artifact(tasks.packageCompose) + from(components["java"]) + } + } } diff --git a/configs/playwright.config.ts b/configs/playwright.config.ts new file mode 100644 index 0000000..d4d28c0 --- /dev/null +++ b/configs/playwright.config.ts @@ -0,0 +1,82 @@ +import { devices, PlaywrightTestConfig } from '@playwright/test'; +import { getPort } from 'get-port-please'; + +const outputDir = '../build/reports/playwright'; + +async function loadConfig(): Promise { + const port = await getPort({ random: true }); + + /** + * See https://playwright.dev/docs/test-configuration. + */ + return { + testDir: '../src/test/playwright', + /* Run tests in files in parallel */ + fullyParallel: true, + /* Fail the build on CI if you accidentally left test.only in the source code. */ + forbidOnly: !!process.env.CI, + /* Retry on CI only */ + retries: process.env.CI ? 2 : 0, + /* Opt out of parallel tests on CI. */ + workers: process.env.CI ? 1 : undefined, + /* Reporter to use. See https://playwright.dev/docs/test-reporters */ + reporter: [['html', { open: process.env.CI ? 'never' : 'on-failure', outputFolder: outputDir }]], + /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ + use: { + /* Base URL to use in actions like `await page.goto('/')`. */ + // baseURL: 'http://127.0.0.1:3000', + + /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ + trace: 'on-first-retry', + }, + + outputDir, + + /* Configure projects for major browsers */ + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] }, + }, + + { + name: 'firefox', + use: { ...devices['Desktop Firefox'] }, + }, + + { + name: 'webkit', + use: { ...devices['Desktop Safari'] }, + }, + + /* Test against mobile viewports. */ + // { + // name: 'Mobile Chrome', + // use: { ...devices['Pixel 5'] }, + // }, + // { + // name: 'Mobile Safari', + // use: { ...devices['iPhone 12'] }, + // }, + + /* Test against branded browsers. */ + // { + // name: 'Microsoft Edge', + // use: { ...devices['Desktop Edge'], channel: 'msedge' }, + // }, + // { + // name: 'Google Chrome', + // use: { ...devices['Desktop Chrome'], channel: 'chrome' }, + // }, + ], + + /* Run your local dev server before starting the tests */ + webServer: { + command: `npm run watch:serve -- --listen=${port}`, + port, + reuseExistingServer: !process.env.CI, + }, + }; +} + +export default loadConfig(); diff --git a/package-lock.json b/package-lock.json index 7768c66..9b82abb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,9 @@ "devDependencies": { "@parcel/optimizer-data-url": "^2.12.0", "@parcel/transformer-inline-string": "^2.12.0", + "@playwright/test": "^1.48.2", "@prettier/plugin-xml": "^3.4.1", + "@types/node": "^22.9.0", "@types/react": "^18.3.11", "@types/react-dom": "^18.3.0", "@typescript-eslint/eslint-plugin": "^8.8.0", @@ -27,6 +29,7 @@ "eslint-config-prettier": "^9.1.0", "eslint-plugin-react": "^7.37.1", "eslint-plugin-react-hooks": "^4.6.2", + "get-port-please": "^3.1.2", "immer": "^10.1.1", "parcel": "^2.12.0", "prettier": "^3.3.3", @@ -4828,6 +4831,22 @@ "node": ">=14" } }, + "node_modules/@playwright/test": { + "version": "1.48.2", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.48.2.tgz", + "integrity": "sha512-54w1xCWfXuax7dz4W2M9uw0gDyh+ti/0K/MxcCUxChFh37kkdxPdfZDw5QBbuPUJHr1CiHJ1hXgSs+GgeQc5Zw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright": "1.48.2" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@prettier/plugin-xml": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/@prettier/plugin-xml/-/plugin-xml-3.4.1.tgz", @@ -5071,6 +5090,16 @@ "node": ">=10.13.0" } }, + "node_modules/@types/node": { + "version": "22.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", + "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.8" + } + }, "node_modules/@types/prop-types": { "version": "15.7.13", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", @@ -7546,6 +7575,21 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -7610,6 +7654,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-port-please": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.2.tgz", + "integrity": "sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==", + "dev": true, + "license": "MIT" + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -9846,6 +9897,38 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/playwright": { + "version": "1.48.2", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.48.2.tgz", + "integrity": "sha512-NjYvYgp4BPmiwfe31j4gHLa3J7bD2WiBz8Lk2RoSsmX38SVIARZ18VYjxLjAcDsAhA+F4iSEXTSGgjua0rrlgQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.48.2" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.48.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.2.tgz", + "integrity": "sha512-sjjw+qrLFlriJo64du+EK0kJgZzoQPsabGF4lBvsid+3CNIZIYLgnMj9V6JY5VhM2Peh20DJWIVpVljLLnlawA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/pn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", @@ -11241,6 +11324,13 @@ "node": ">=4" } }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true, + "license": "MIT" + }, "node_modules/uniq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", diff --git a/package.json b/package.json index 7c9fa44..8d85be8 100644 --- a/package.json +++ b/package.json @@ -5,11 +5,13 @@ "test": "echo \"Error: use ./gradlew check to test\" && exit 1", "test:lint": "eslint . --max-warnings 0", "test:compile": "tsc --noEmit --project .", + "test:playwright": "playwright test --config configs/playwright.config.ts", "test:format": "prettier --check .", "watch": "concurrently npm:watch:*", "watch:serve": "serve", "watch:parcel": "parcel watch", - "build": "parcel build" + "build": "parcel build", + "install:playwright": "playwright install --with-deps" }, "targets": { "editor": { @@ -21,7 +23,9 @@ "devDependencies": { "@parcel/optimizer-data-url": "^2.12.0", "@parcel/transformer-inline-string": "^2.12.0", + "@playwright/test": "^1.48.2", "@prettier/plugin-xml": "^3.4.1", + "@types/node": "^22.9.0", "@types/react": "^18.3.11", "@types/react-dom": "^18.3.0", "@typescript-eslint/eslint-plugin": "^8.8.0", @@ -32,6 +36,7 @@ "eslint-config-prettier": "^9.1.0", "eslint-plugin-react": "^7.37.1", "eslint-plugin-react-hooks": "^4.6.2", + "get-port-please": "^3.1.2", "immer": "^10.1.1", "parcel": "^2.12.0", "prettier": "^3.3.3", diff --git a/src/test/playwright/basic.spec.ts b/src/test/playwright/basic.spec.ts new file mode 100644 index 0000000..f3eec79 --- /dev/null +++ b/src/test/playwright/basic.spec.ts @@ -0,0 +1,8 @@ +import { test, expect } from '@playwright/test'; + +test('has title', async ({ page }) => { + await page.goto('/'); + + // Expect a title "to contain" a substring. + await expect(page).toHaveTitle(/JCR Hopper/); +}); From 2f6fd89f9abe3f255b53d624dfb0341094dc40cf Mon Sep 17 00:00:00 2001 From: Raphael Schweikert Date: Tue, 19 Nov 2024 11:39:31 +0100 Subject: [PATCH 02/13] test(editor): run playwright checks as part of build --- .github/workflows/check.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index cf23b96..6320afc 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -23,4 +23,11 @@ jobs: - uses: gradle/actions/setup-gradle@v4 - name: Run checks - run: ./gradlew check --continue + run: ./gradlew playwrightInstall check --continue + + - uses: actions/upload-artifact@v4 + if: ${{ !cancelled() }} + with: + name: reports + path: build/reports/ + retention-days: 30 From 4814a30e8a8961518ade50e529a2e542b1d9ae37 Mon Sep 17 00:00:00 2001 From: Raphael Schweikert Date: Tue, 19 Nov 2024 11:51:30 +0100 Subject: [PATCH 03/13] ci: report JUnit test results inline --- .github/workflows/check.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 6320afc..200e75d 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -31,3 +31,8 @@ jobs: name: reports path: build/reports/ retention-days: 30 + + - uses: mikepenz/action-junit-report@v5 + if: ${{ !cancelled() }} + with: + report_paths: '**/build/test-results/test/TEST-*.xml' From 902552c9994c28dd68c1854755349b6f6f853956 Mon Sep 17 00:00:00 2001 From: Raphael Schweikert Date: Tue, 19 Nov 2024 12:14:10 +0100 Subject: [PATCH 04/13] ci: allow the mikepenz/action-junit-report@v5 action to update the checks --- .github/workflows/check.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 200e75d..f4eb5f4 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -12,6 +12,7 @@ jobs: runs-on: ubuntu-latest permissions: contents: read + checks: write steps: - uses: actions/checkout@v4 From 948f5aaff71c07b15f2b1c83acd3136e52eb415d Mon Sep 17 00:00:00 2001 From: Raphael Schweikert Date: Tue, 19 Nov 2024 12:14:34 +0100 Subject: [PATCH 05/13] ci: make playwright publish a JUnit report --- .github/workflows/check.yml | 2 +- configs/playwright.config.ts | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index f4eb5f4..afc8759 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -36,4 +36,4 @@ jobs: - uses: mikepenz/action-junit-report@v5 if: ${{ !cancelled() }} with: - report_paths: '**/build/test-results/test/TEST-*.xml' + report_paths: '**/build/**/TEST-*.xml' diff --git a/configs/playwright.config.ts b/configs/playwright.config.ts index d4d28c0..f136701 100644 --- a/configs/playwright.config.ts +++ b/configs/playwright.config.ts @@ -20,7 +20,10 @@ async function loadConfig(): Promise { /* Opt out of parallel tests on CI. */ workers: process.env.CI ? 1 : undefined, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: [['html', { open: process.env.CI ? 'never' : 'on-failure', outputFolder: outputDir }]], + reporter: [ + ['html', { open: process.env.CI ? 'never' : 'on-failure', outputFolder: outputDir }], + ['junit', { outputFile: `${outputDir}/TEST-playwright.xml` }], + ], /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { /* Base URL to use in actions like `await page.goto('/')`. */ From 74fe1b2a37a36e59d6eb368d5d23a594fe643c9e Mon Sep 17 00:00:00 2001 From: Raphael Schweikert Date: Tue, 19 Nov 2024 12:33:43 +0100 Subject: [PATCH 06/13] fix(meta): clean up config files in root --- bnd.bnd | 3 --- build.gradle.kts | 8 ++++++++ serve.json => configs/serve.json | 0 versions.toml => configs/versions.toml | 0 package.json | 2 +- settings.gradle.kts | 2 +- lombok.config => src/main/java/lombok.config | 0 7 files changed, 10 insertions(+), 5 deletions(-) delete mode 100644 bnd.bnd rename serve.json => configs/serve.json (100%) rename versions.toml => configs/versions.toml (100%) rename lombok.config => src/main/java/lombok.config (100%) diff --git a/bnd.bnd b/bnd.bnd deleted file mode 100644 index 86deff3..0000000 --- a/bnd.bnd +++ /dev/null @@ -1,3 +0,0 @@ -Import-Package: javax.annotation;version=0.0.0,\ - org.apache.commons.logging;version=0.0.0,\ - *;provide:=false diff --git a/build.gradle.kts b/build.gradle.kts index 43a9a6f..0f1de1a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -188,6 +188,14 @@ aem { withType { bundle { javaPackage.set("${project.group}.jcrhopper") + + bnd( + """ + Import-Package: javax.annotation;version=0.0.0,\ + org.apache.commons.logging;version=0.0.0,\ + *;provide:=false + """.trimIndent() + ) } } } diff --git a/serve.json b/configs/serve.json similarity index 100% rename from serve.json rename to configs/serve.json diff --git a/versions.toml b/configs/versions.toml similarity index 100% rename from versions.toml rename to configs/versions.toml diff --git a/package.json b/package.json index 8d85be8..408e76e 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "test:playwright": "playwright test --config configs/playwright.config.ts", "test:format": "prettier --check .", "watch": "concurrently npm:watch:*", - "watch:serve": "serve", + "watch:serve": "serve --config=configs/serve.json", "watch:parcel": "parcel watch", "build": "parcel build", "install:playwright": "playwright install --with-deps" diff --git a/settings.gradle.kts b/settings.gradle.kts index 589bdcf..e966495 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,7 +1,7 @@ dependencyResolutionManagement { versionCatalogs { create("libs") { - from(files("versions.toml")) + from(files("configs/versions.toml")) } } } diff --git a/lombok.config b/src/main/java/lombok.config similarity index 100% rename from lombok.config rename to src/main/java/lombok.config From 702b569516deadfcfc8d3573749ba0efcb8a20d0 Mon Sep 17 00:00:00 2001 From: Raphael Schweikert Date: Tue, 19 Nov 2024 12:55:00 +0100 Subject: [PATCH 07/13] chore(meta): update NPM dependencies --- build.gradle.kts | 1 + eslint.config.mjs | 59 + package-lock.json | 8260 +++++------------ package.json | 37 +- .../coral/patchCoralUiCreateElement.ts | 1 - .../tools/testsupport/FileTestRunHandler.java | 15 +- 6 files changed, 2182 insertions(+), 6191 deletions(-) create mode 100644 eslint.config.mjs diff --git a/build.gradle.kts b/build.gradle.kts index 0f1de1a..f97e337 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -119,6 +119,7 @@ aem { inputs.dir("src/main/frontend") inputs.file("package-lock.json") + outputs.upToDateWhen { false } } val tsc by registering(NpmTask::class) { diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..98e7c95 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,59 @@ +import react from 'eslint-plugin-react'; +import reactHooks from 'eslint-plugin-react-hooks'; +import typescriptEslint from '@typescript-eslint/eslint-plugin'; +import { fixupPluginRules } from '@eslint/compat'; +import globals from 'globals'; +import tsParser from '@typescript-eslint/parser'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import js from '@eslint/js'; +import { FlatCompat } from '@eslint/eslintrc'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all, +}); + +export default [ + { + ignores: ['build/**/*'], + }, + ...compat.extends('eslint:recommended', 'plugin:react/recommended', 'plugin:@typescript-eslint/recommended', 'prettier'), + { + plugins: { + react, + 'react-hooks': fixupPluginRules(reactHooks), + '@typescript-eslint': typescriptEslint, + }, + + languageOptions: { + globals: { + ...globals.browser, + }, + + parser: tsParser, + ecmaVersion: 'latest', + sourceType: 'module', + }, + + settings: { + react: { + createClass: 'createReactClass', + pragma: 'React', + fragment: 'Fragment', + version: 'detect', + }, + + componentWrapperFunctions: ['styled'], + }, + + rules: { + '@typescript-eslint/no-non-null-assertion': 0, + '@typescript-eslint/no-unused-vars': 0, + 'react/prop-types': 0, + }, + }, +]; diff --git a/package-lock.json b/package-lock.json index 9b82abb..4602c7a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,44 +8,51 @@ "license": "MIT", "dependencies": { "@monaco-editor/react": "^4.6.0", - "goober": "^2.1.14", + "goober": "^2.1.16", "monaco-editor": "^0.52.0", "react": "^18.3.1", "react-dom": "^18.3.1" }, "devDependencies": { - "@parcel/optimizer-data-url": "^2.12.0", - "@parcel/transformer-inline-string": "^2.12.0", - "@playwright/test": "^1.48.2", + "@eslint/compat": "^1.2.3", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "^9.15.0", + "@parcel/optimizer-data-url": "^2.13.0", + "@parcel/transformer-inline-string": "^2.13.0", + "@playwright/test": "^1.49.0", "@prettier/plugin-xml": "^3.4.1", "@types/node": "^22.9.0", - "@types/react": "^18.3.11", - "@types/react-dom": "^18.3.0", - "@typescript-eslint/eslint-plugin": "^8.8.0", - "@typescript-eslint/parser": "^8.8.0", + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", + "@typescript-eslint/eslint-plugin": "^8.15.0", + "@typescript-eslint/parser": "^8.15.0", "@uidotdev/usehooks": "^2.4.1", - "concurrently": "^9.0.1", - "eslint": "^8.57.1", + "concurrently": "^9.1.0", + "eslint": "^9.15.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-react": "^7.37.1", - "eslint-plugin-react-hooks": "^4.6.2", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", "get-port-please": "^3.1.2", + "globals": "^15.12.0", "immer": "^10.1.1", - "parcel": "^2.12.0", + "parcel": "^2.13.0", "prettier": "^3.3.3", - "prettier-plugin-java": "^2.6.4", + "prettier-plugin-java": "^2.6.5", "process": "^0.11.10", - "serve": "^14.2.3", - "typescript": "^5.6.2" + "serve": "^14.2.4", + "svgo": "^3.3.2", + "typescript": "^5.6.3" } }, "node_modules/@babel/code-frame": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", - "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { @@ -53,25 +60,11 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", - "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", - "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -131,24 +124,69 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", - "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, + "node_modules/@eslint/compat": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.2.3.tgz", + "integrity": "sha512-wlZhwlDFxkxIZ571aH0FoK4h4Vwx7P3HJx62Gp8hTc10bfpwT2x0nULuAHmQSJBOWPgPeVf+9YtnD4j50zVHmA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": "^9.10.0" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/@eslint/config-array": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.0.tgz", + "integrity": "sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.0.tgz", + "integrity": "sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -156,187 +194,136 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", + "node_modules/@eslint/js": { + "version": "9.15.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.15.0.tgz", + "integrity": "sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==", "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, + "license": "MIT", "engines": { - "node": ">=10.10.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/@eslint/plugin-kit": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.3.tgz", + "integrity": "sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==", "dev": true, - "optional": true, - "peer": true, + "license": "Apache-2.0", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "levn": "^0.4.1" }, "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true, - "optional": true, - "peer": true, + "license": "Apache-2.0", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": ">=18.18.0" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", "dev": true, - "optional": true, - "peer": true, + "license": "Apache-2.0", "dependencies": { - "ansi-regex": "^6.0.1" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=18.18.0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, + "license": "Apache-2.0", "engines": { - "node": ">=6.0.0" + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "optional": true, - "peer": true, "engines": { - "node": ">=6.0.0" + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "node_modules/@humanwhocodes/retry": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", "dev": true, - "optional": true, - "peer": true, + "license": "Apache-2.0", "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, "node_modules/@lezer/common": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.2.tgz", - "integrity": "sha512-Z+R3hN6kXbgBWAuejUNPihylAL1Z5CaFqnIe0nTX8Ej+XlIy3EGtXxn6WtLMO+os2hRkQvm2yvaGMYliUzlJaw==", - "dev": true + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.3.tgz", + "integrity": "sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==", + "dev": true, + "license": "MIT" }, "node_modules/@lezer/lr": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.2.tgz", "integrity": "sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==", "dev": true, + "license": "MIT", "dependencies": { "@lezer/common": "^1.0.0" } @@ -349,6 +336,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -362,6 +350,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -375,6 +364,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -388,6 +378,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -401,6 +392,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -414,6 +406,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -424,6 +417,7 @@ "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz", "integrity": "sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==", "dev": true, + "license": "MIT", "dependencies": { "@lezer/common": "^1.0.0", "@lezer/lr": "^1.0.0", @@ -433,18 +427,6 @@ "node": ">=12.0.0" } }, - "node_modules/@mischnic/json-sourcemap/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/@monaco-editor/loader": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@monaco-editor/loader/-/loader-1.4.0.tgz", @@ -477,6 +459,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -490,6 +473,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -503,6 +487,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -516,6 +501,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -529,6 +515,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -542,6 +529,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -583,21 +571,22 @@ } }, "node_modules/@parcel/bundler-default": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.12.0.tgz", - "integrity": "sha512-3ybN74oYNMKyjD6V20c9Gerdbh7teeNvVMwIoHIQMzuIFT6IGX53PyOLlOKRLbjxMc0TMimQQxIt2eQqxR5LsA==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.13.0.tgz", + "integrity": "sha512-qx6v8mBJkgiEeNXZwzW+1x0YZ3lpkx/WDmqa63GE/CUWSIlMb14ZELyXewAo7mzX99qDhV4E6+OX1vRUI47+nQ==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/graph": "3.2.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/utils": "2.12.0", + "@parcel/diagnostic": "2.13.0", + "@parcel/graph": "3.3.0", + "@parcel/plugin": "2.13.0", + "@parcel/rust": "2.13.0", + "@parcel/utils": "2.13.0", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", @@ -605,3989 +594,1232 @@ } }, "node_modules/@parcel/cache": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.12.0.tgz", - "integrity": "sha512-FX5ZpTEkxvq/yvWklRHDESVRz+c7sLTXgFuzz6uEnBcXV38j6dMSikflNpHA6q/L4GKkCqRywm9R6XQwhwIMyw==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.13.0.tgz", + "integrity": "sha512-8GA4Dmhu917a5ZAfLgc7G3gDEWOkFhxeoY44eU7WYgh12rSJCS9XVIaWVnzDKb0ou3brSpbVKz9rhNj1K7kmPw==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/fs": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/utils": "2.12.0", + "@parcel/fs": "2.13.0", + "@parcel/logger": "2.13.0", + "@parcel/utils": "2.13.0", "lmdb": "2.8.5" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.12.0" + "@parcel/core": "^2.13.0" } }, - "node_modules/@parcel/cache/node_modules/@parcel/fs": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.12.0.tgz", - "integrity": "sha512-NnFkuvou1YBtPOhTdZr44WN7I60cGyly2wpHzqRl62yhObyi1KvW0SjwOMa0QGNcBOIzp4G0CapoZ93hD0RG5Q==", + "node_modules/@parcel/codeframe": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.13.0.tgz", + "integrity": "sha512-mKOQSDmRzWqC/ELwjGv9ZDqkYtHwkwvpLC4gb5mUAw6VJsDqraydtluxGR2NejYwETiS4j9mQElcbHZoRcZ9uA==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/rust": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/watcher": "^2.0.7", - "@parcel/workers": "2.12.0" + "chalk": "^4.1.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/cache/node_modules/@parcel/watcher": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", - "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", + "node_modules/@parcel/compressor-raw": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.13.0.tgz", + "integrity": "sha512-T6+qN36Rci/D3C79vImzZyQyReKOqKQetWAG2n3PG780mt+6omTGyZKRVUQTxJIbStgttlL9ZRlTHFiQeid7rg==", "dev": true, + "license": "MIT", "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" + "@parcel/plugin": "2.13.0" }, "engines": { - "node": ">= 10.0.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.4.1", - "@parcel/watcher-darwin-arm64": "2.4.1", - "@parcel/watcher-darwin-x64": "2.4.1", - "@parcel/watcher-freebsd-x64": "2.4.1", - "@parcel/watcher-linux-arm-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-musl": "2.4.1", - "@parcel/watcher-linux-x64-glibc": "2.4.1", - "@parcel/watcher-linux-x64-musl": "2.4.1", - "@parcel/watcher-win32-arm64": "2.4.1", - "@parcel/watcher-win32-ia32": "2.4.1", - "@parcel/watcher-win32-x64": "2.4.1" - } - }, - "node_modules/@parcel/cache/node_modules/@parcel/workers": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.12.0.tgz", - "integrity": "sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/profiler": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0" + } + }, + "node_modules/@parcel/config-default": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.13.0.tgz", + "integrity": "sha512-clxN5xXeVrq6GhxrKWoQi0BkmLYmbfttoXA/zXsX2XF15QZALHqQtUKuKh2LLZj4NmwplTkIRz5vT80n8uvLOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/bundler-default": "2.13.0", + "@parcel/compressor-raw": "2.13.0", + "@parcel/namer-default": "2.13.0", + "@parcel/optimizer-css": "2.13.0", + "@parcel/optimizer-htmlnano": "2.13.0", + "@parcel/optimizer-image": "2.13.0", + "@parcel/optimizer-svgo": "2.13.0", + "@parcel/optimizer-swc": "2.13.0", + "@parcel/packager-css": "2.13.0", + "@parcel/packager-html": "2.13.0", + "@parcel/packager-js": "2.13.0", + "@parcel/packager-raw": "2.13.0", + "@parcel/packager-svg": "2.13.0", + "@parcel/packager-wasm": "2.13.0", + "@parcel/reporter-dev-server": "2.13.0", + "@parcel/resolver-default": "2.13.0", + "@parcel/runtime-browser-hmr": "2.13.0", + "@parcel/runtime-js": "2.13.0", + "@parcel/runtime-react-refresh": "2.13.0", + "@parcel/runtime-service-worker": "2.13.0", + "@parcel/transformer-babel": "2.13.0", + "@parcel/transformer-css": "2.13.0", + "@parcel/transformer-html": "2.13.0", + "@parcel/transformer-image": "2.13.0", + "@parcel/transformer-js": "2.13.0", + "@parcel/transformer-json": "2.13.0", + "@parcel/transformer-postcss": "2.13.0", + "@parcel/transformer-posthtml": "2.13.0", + "@parcel/transformer-raw": "2.13.0", + "@parcel/transformer-react-refresh-wrap": "2.13.0", + "@parcel/transformer-svg": "2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.12.0" + "@parcel/core": "^2.13.0" } }, - "node_modules/@parcel/cache/node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true - }, - "node_modules/@parcel/codeframe": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.12.0.tgz", - "integrity": "sha512-v2VmneILFiHZJTxPiR7GEF1wey1/IXPdZMcUlNXBiPZyWDfcuNgGGVQkx/xW561rULLIvDPharOMdxz5oHOKQg==", + "node_modules/@parcel/core": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.13.0.tgz", + "integrity": "sha512-ok2y14uJebDuDz5QGcv+Ui4cjdroV/L5HUorYDfttNbuxjc4XpLJC9bzfu3MSwVKF44n/prT9pt3AK/Vf1LFDg==", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^4.1.0" + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/cache": "2.13.0", + "@parcel/diagnostic": "2.13.0", + "@parcel/events": "2.13.0", + "@parcel/feature-flags": "2.13.0", + "@parcel/fs": "2.13.0", + "@parcel/graph": "3.3.0", + "@parcel/logger": "2.13.0", + "@parcel/package-manager": "2.13.0", + "@parcel/plugin": "2.13.0", + "@parcel/profiler": "2.13.0", + "@parcel/rust": "2.13.0", + "@parcel/source-map": "^2.1.1", + "@parcel/types": "2.13.0", + "@parcel/utils": "2.13.0", + "@parcel/workers": "2.13.0", + "base-x": "^3.0.8", + "browserslist": "^4.6.6", + "clone": "^2.1.1", + "dotenv": "^16.4.5", + "dotenv-expand": "^11.0.6", + "json5": "^2.2.0", + "msgpackr": "^1.9.9", + "nullthrows": "^1.1.1", + "semver": "^7.5.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/codeframe/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@parcel/diagnostic": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.13.0.tgz", + "integrity": "sha512-ocgqebLD4VL7/zkOoNBcIRu4ndFRipPwNkLd9cdfux3QBYuYBi5DE+3RSt9IWMrwjS8DMFXCxmtNANr7zujgjw==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@mischnic/json-sourcemap": "^0.1.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 16.0.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/codeframe/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@parcel/events": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.13.0.tgz", + "integrity": "sha512-vFB/GebsoiSxQy68DvrX8zpeJP2xWhSNYSN99ZbyADxutiAUnquu4nKMJCp4Pb+gNPHr2TitU6LKNGXqWLEE7w==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 16.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/codeframe/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@parcel/feature-flags": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/feature-flags/-/feature-flags-2.13.0.tgz", + "integrity": "sha512-HNTUy7DfEuowGqkKq2DGwhGEO9U3ORgIgRyxG4cXHMhx9BIE1lmB3ZVfu+dyq34GSYw6ceOgo0I3BZYs7rRKDA==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, + "license": "MIT", "engines": { - "node": ">=7.0.0" + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/codeframe/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@parcel/codeframe/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/@parcel/fs": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.13.0.tgz", + "integrity": "sha512-qMaTdlrmnZPk7jy5+FC0xdE5tqzGutRhcoEKGTvtbjEBh++azw9mKkGxLe2CQXnoJXydvM++dhUUIsKhchQGxA==", "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/feature-flags": "2.13.0", + "@parcel/rust": "2.13.0", + "@parcel/types-internal": "2.13.0", + "@parcel/utils": "2.13.0", + "@parcel/watcher": "^2.0.7", + "@parcel/workers": "2.13.0" + }, "engines": { - "node": ">=8" + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.13.0" } }, - "node_modules/@parcel/codeframe/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@parcel/graph": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-3.3.0.tgz", + "integrity": "sha512-CMiX+yzpZH4clrHIbWqH7Pz2tfdS4C22WbcpUMvS4W+U97BhY4B6mm4ytEUOmyqKWiFNGFTfGwZKst9RjSLE6A==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@parcel/feature-flags": "2.13.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/compressor-raw": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.12.0.tgz", - "integrity": "sha512-h41Q3X7ZAQ9wbQ2csP8QGrwepasLZdXiuEdpUryDce6rF9ZiHoJ97MRpdLxOhOPyASTw/xDgE1xyaPQr0Q3f5A==", + "node_modules/@parcel/logger": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.13.0.tgz", + "integrity": "sha512-/hWNC27PntVH+GugndqPYflucG8a9Octc6fuQWS40oBZSw5kBQBYs4xkBSkTVLpcI8910HN3aSHjOJIX8ddtRg==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0" + "@parcel/diagnostic": "2.13.0", + "@parcel/events": "2.13.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/config-default": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.12.0.tgz", - "integrity": "sha512-dPNe2n9eEsKRc1soWIY0yToMUPirPIa2QhxcCB3Z5RjpDGIXm0pds+BaiqY6uGLEEzsjhRO0ujd4v2Rmm0vuFg==", - "dev": true, - "dependencies": { - "@parcel/bundler-default": "2.12.0", - "@parcel/compressor-raw": "2.12.0", - "@parcel/namer-default": "2.12.0", - "@parcel/optimizer-css": "2.12.0", - "@parcel/optimizer-htmlnano": "2.12.0", - "@parcel/optimizer-image": "2.12.0", - "@parcel/optimizer-svgo": "2.12.0", - "@parcel/optimizer-swc": "2.12.0", - "@parcel/packager-css": "2.12.0", - "@parcel/packager-html": "2.12.0", - "@parcel/packager-js": "2.12.0", - "@parcel/packager-raw": "2.12.0", - "@parcel/packager-svg": "2.12.0", - "@parcel/packager-wasm": "2.12.0", - "@parcel/reporter-dev-server": "2.12.0", - "@parcel/resolver-default": "2.12.0", - "@parcel/runtime-browser-hmr": "2.12.0", - "@parcel/runtime-js": "2.12.0", - "@parcel/runtime-react-refresh": "2.12.0", - "@parcel/runtime-service-worker": "2.12.0", - "@parcel/transformer-babel": "2.12.0", - "@parcel/transformer-css": "2.12.0", - "@parcel/transformer-html": "2.12.0", - "@parcel/transformer-image": "2.12.0", - "@parcel/transformer-js": "2.12.0", - "@parcel/transformer-json": "2.12.0", - "@parcel/transformer-postcss": "2.12.0", - "@parcel/transformer-posthtml": "2.12.0", - "@parcel/transformer-raw": "2.12.0", - "@parcel/transformer-react-refresh-wrap": "2.12.0", - "@parcel/transformer-svg": "2.12.0" + "node_modules/@parcel/markdown-ansi": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.13.0.tgz", + "integrity": "sha512-kznmctJ7myhu7/JKN9njHudBj4t8bv4oKW4/cvWgzVR7ftsw9oOJ8EE7eqtqOzzInyATZxXmbk+EYX4S04vLUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/namer-default": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.13.0.tgz", + "integrity": "sha512-D4NbhiSr9sG0OUE0TpLWCuFtwZDexfQpug4MGF0qBKTDb0urVxd6peITU2cuJJ2Y615kagGHNiw14qJ62MpIgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.13.0", + "@parcel/plugin": "2.13.0", + "nullthrows": "^1.1.1" }, - "peerDependencies": { - "@parcel/core": "^2.12.0" + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/core": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.12.0.tgz", - "integrity": "sha512-s+6pwEj+GfKf7vqGUzN9iSEPueUssCCQrCBUlcAfKrJe0a22hTUCjewpB0I7lNrCIULt8dkndD+sMdOrXsRl6Q==", + "node_modules/@parcel/node-resolver-core": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.4.0.tgz", + "integrity": "sha512-LFbbdUTcrbFI8fYDPk86mJc2SANPZzECTfsrqhx1u36t33iYmJTuGnYUH32unT5ra60KOmeZWny8yqedeyHwuw==", "dev": true, + "license": "MIT", "dependencies": { "@mischnic/json-sourcemap": "^0.1.0", - "@parcel/cache": "2.12.0", - "@parcel/diagnostic": "2.12.0", - "@parcel/events": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/graph": "3.2.0", - "@parcel/logger": "2.12.0", - "@parcel/package-manager": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/profiler": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0", - "abortcontroller-polyfill": "^1.1.9", - "base-x": "^3.0.8", - "browserslist": "^4.6.6", - "clone": "^2.1.1", - "dotenv": "^7.0.0", - "dotenv-expand": "^5.1.0", - "json5": "^2.2.0", - "msgpackr": "^1.9.9", + "@parcel/diagnostic": "2.13.0", + "@parcel/fs": "2.13.0", + "@parcel/rust": "2.13.0", + "@parcel/utils": "2.13.0", "nullthrows": "^1.1.1", "semver": "^7.5.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/core/node_modules/@parcel/fs": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.12.0.tgz", - "integrity": "sha512-NnFkuvou1YBtPOhTdZr44WN7I60cGyly2wpHzqRl62yhObyi1KvW0SjwOMa0QGNcBOIzp4G0CapoZ93hD0RG5Q==", + "node_modules/@parcel/optimizer-css": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.13.0.tgz", + "integrity": "sha512-rB+zltYJaHTqaiVSYkZfYns6bkk4X9AG0AuD78VpGnGhcramle0bvsB8w6zOOtseY66m1+nlYUe6OPw6jrE6Lg==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/rust": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/watcher": "^2.0.7", - "@parcel/workers": "2.12.0" + "@parcel/diagnostic": "2.13.0", + "@parcel/plugin": "2.13.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.13.0", + "browserslist": "^4.6.6", + "lightningcss": "^1.22.1", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/core/node_modules/@parcel/watcher": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", - "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", + "node_modules/@parcel/optimizer-data-url": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-data-url/-/optimizer-data-url-2.13.0.tgz", + "integrity": "sha512-4ozINDXejFbn8NMRdC1eBa7x5SezwTfyaO+AYthP4+/vumFQ7mtvE8FvNrBfh7pnuBEk2X2E7FmADzzdwqS8Hw==", "dev": true, + "license": "MIT", "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" + "@parcel/plugin": "2.13.0", + "@parcel/utils": "2.13.0", + "isbinaryfile": "^5.0.2", + "mime": "^3.0.0" }, "engines": { - "node": ">= 10.0.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.4.1", - "@parcel/watcher-darwin-arm64": "2.4.1", - "@parcel/watcher-darwin-x64": "2.4.1", - "@parcel/watcher-freebsd-x64": "2.4.1", - "@parcel/watcher-linux-arm-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-musl": "2.4.1", - "@parcel/watcher-linux-x64-glibc": "2.4.1", - "@parcel/watcher-linux-x64-musl": "2.4.1", - "@parcel/watcher-win32-arm64": "2.4.1", - "@parcel/watcher-win32-ia32": "2.4.1", - "@parcel/watcher-win32-x64": "2.4.1" - } - }, - "node_modules/@parcel/core/node_modules/@parcel/workers": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.12.0.tgz", - "integrity": "sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/profiler": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" + } + }, + "node_modules/@parcel/optimizer-htmlnano": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.13.0.tgz", + "integrity": "sha512-69Of5qyiWAAHCKyrqg7NbkriuonzowAysIOQNjQPuy5HVMy+hJjUmgikCcwfRxmV+7af/DRlBYGo0ay6wzH/7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.13.0", + "@parcel/plugin": "2.13.0", + "@parcel/utils": "2.13.0", + "htmlnano": "^2.0.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/core/node_modules/dotenv": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", - "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "node_modules/@parcel/optimizer-image": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.13.0.tgz", + "integrity": "sha512-lCcmUrH91PKLLInADr8k+gEjvGTox4D9XGQkU3o88M+h7nBM0Tx2mKrDjWlMhFag73juc2vuMQKyjt7Sszk+MQ==", "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.13.0", + "@parcel/plugin": "2.13.0", + "@parcel/rust": "2.13.0", + "@parcel/utils": "2.13.0", + "@parcel/workers": "2.13.0" + }, "engines": { - "node": ">=6" + "node": ">= 16.0.0", + "parcel": "^2.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.13.0" } }, - "node_modules/@parcel/core/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "node_modules/@parcel/optimizer-svgo": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.13.0.tgz", + "integrity": "sha512-dksW0u0IdA73VhutwDYnNhY/Yl5xscm+bia0zmm+02wr11PRW6nvsxvIyFSI/lU0+gsk7nMMxeSqWuPFDJWfrw==", "dev": true, - "bin": { - "json5": "lib/cli.js" + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.13.0", + "@parcel/plugin": "2.13.0", + "@parcel/utils": "2.13.0" }, "engines": { - "node": ">=6" + "node": ">= 16.0.0", + "parcel": "^2.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/core/node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true - }, - "node_modules/@parcel/diagnostic": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.12.0.tgz", - "integrity": "sha512-8f1NOsSFK+F4AwFCKynyIu9Kr/uWHC+SywAv4oS6Bv3Acig0gtwUjugk0C9UaB8ztBZiW5TQZhw+uPZn9T/lJA==", + "node_modules/@parcel/optimizer-swc": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.13.0.tgz", + "integrity": "sha512-tBo1kn003BJh3dkGQ3Yd5Gsf9yTS+O8G/U0eSvFb/2Xov/Syx98yNFN9JJv9rOf/agJ7Ism3LjbgBEzDDjzZ0w==", "dev": true, + "license": "MIT", "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/diagnostic": "2.13.0", + "@parcel/plugin": "2.13.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.13.0", + "@swc/core": "^1.7.26", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/events": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.12.0.tgz", - "integrity": "sha512-nmAAEIKLjW1kB2cUbCYSmZOGbnGj8wCzhqnK727zCCWaA25ogzAtt657GPOeFyqW77KyosU728Tl63Fc8hphIA==", + "node_modules/@parcel/package-manager": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.13.0.tgz", + "integrity": "sha512-S8cnSFpJUkPFSvrWc886nDHVTUGWqdCaoA5R8BJ8I8fMOu6pSUkkUexqK5yYnN7S0dn1bLMnKU3ARpwXhOUZJw==", "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.13.0", + "@parcel/fs": "2.13.0", + "@parcel/logger": "2.13.0", + "@parcel/node-resolver-core": "3.4.0", + "@parcel/types": "2.13.0", + "@parcel/utils": "2.13.0", + "@parcel/workers": "2.13.0", + "@swc/core": "^1.7.26", + "semver": "^7.5.2" + }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.13.0" } }, - "node_modules/@parcel/graph": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-3.2.0.tgz", - "integrity": "sha512-xlrmCPqy58D4Fg5umV7bpwDx5Vyt7MlnQPxW68vae5+BA4GSWetfZt+Cs5dtotMG2oCHzZxhIPt7YZ7NRyQzLA==", + "node_modules/@parcel/packager-css": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.13.0.tgz", + "integrity": "sha512-Zgf2lr0erqiCh4zqmGjnuo63Q6JhouXfYNVTXYWEf+vgCnSanuy7q4e17YC6SU4QmHdy6IF0zoAz1D+x23hsQA==", "dev": true, + "license": "MIT", "dependencies": { + "@parcel/diagnostic": "2.13.0", + "@parcel/plugin": "2.13.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.13.0", + "lightningcss": "^1.22.1", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/logger": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.12.0.tgz", - "integrity": "sha512-cJ7Paqa7/9VJ7C+KwgJlwMqTQBOjjn71FbKk0G07hydUEBISU2aDfmc/52o60ErL9l+vXB26zTrIBanbxS8rVg==", + "node_modules/@parcel/packager-html": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.13.0.tgz", + "integrity": "sha512-L/QrmiG3Zib3WnPy7kxC8njT4r8yvIpNveyv2NE8MRwwlsHf5GytTyK0euRPVLlnl4wCg3z15nrA3081E/OPjw==", "dev": true, "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/events": "2.12.0" + "@parcel/plugin": "2.13.0", + "@parcel/types": "2.13.0", + "@parcel/utils": "2.13.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/markdown-ansi": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.12.0.tgz", - "integrity": "sha512-WZz3rzL8k0H3WR4qTHX6Ic8DlEs17keO9gtD4MNGyMNQbqQEvQ61lWJaIH0nAtgEetu0SOITiVqdZrb8zx/M7w==", + "node_modules/@parcel/packager-js": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.13.0.tgz", + "integrity": "sha512-aObsQMSTyZtyvozuAoIRH3Qr7Xqcp+7w8mZNbhxjQsReQoRcnWfoN02yJ658f9vy+JT5lQkgdkNN3k6YfI7lsw==", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^4.1.0" + "@parcel/diagnostic": "2.13.0", + "@parcel/plugin": "2.13.0", + "@parcel/rust": "2.13.0", + "@parcel/source-map": "^2.1.1", + "@parcel/types": "2.13.0", + "@parcel/utils": "2.13.0", + "globals": "^13.2.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/markdown-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@parcel/packager-js/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "type-fest": "^0.20.2" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@parcel/markdown-ansi/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@parcel/packager-raw": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.13.0.tgz", + "integrity": "sha512-HiLdxaMk588NfUh2ROyOORMaz1kDoPqZzcShz32U9q2kangFSFJmUN+5Sqdw1eSN/cVmK7StWsRyMulGJ+mbgQ==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@parcel/plugin": "2.13.0" }, "engines": { - "node": ">=10" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/markdown-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@parcel/packager-svg": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.13.0.tgz", + "integrity": "sha512-hzSKpgXO/d1vzMFDXe4qjsuDoPTcclkX/41CJ1WWtKmBtU7UVK2BEq+hfps4ZrE04cER/0ZvxrrH4xXviYKsig==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@parcel/plugin": "2.13.0", + "@parcel/types": "2.13.0", + "@parcel/utils": "2.13.0", + "posthtml": "^0.16.4" }, "engines": { - "node": ">=7.0.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/markdown-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@parcel/markdown-ansi/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/@parcel/packager-wasm": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-wasm/-/packager-wasm-2.13.0.tgz", + "integrity": "sha512-2KJnDQhDCU8E79zeUYMy3t6DPC0o1lg8KqvW6cVFS6Cr9Lot5YRzMGSY6/2M3upXK6M9TigfGs21WEcdf10tLw==", "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.13.0" + }, "engines": { - "node": ">=8" + "node": ">=16.0.0", + "parcel": "^2.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/markdown-ansi/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@parcel/plugin": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.13.0.tgz", + "integrity": "sha512-Q00Zv+zJ+rx+C/bHVNscXot1/cPm7Xx2H/NaJpwoXGg1+GNJFRYI37ids5HyWp9H+K67OnM0bC/7VPsTr9NJ0A==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@parcel/types": "2.13.0" }, "engines": { - "node": ">=8" + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/namer-default": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.12.0.tgz", - "integrity": "sha512-9DNKPDHWgMnMtqqZIMiEj/R9PNWW16lpnlHjwK3ciRlMPgjPJ8+UNc255teZODhX0T17GOzPdGbU/O/xbxVPzA==", + "node_modules/@parcel/profiler": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.13.0.tgz", + "integrity": "sha512-LW2p0Pfz5TWQprJevN1xHRhqlVm01plCgbzT72qmgjzPMI4QYcZVyG+Y62VGn6iBPivpBqm2TNqdiXzfJreQuw==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "nullthrows": "^1.1.1" + "@parcel/diagnostic": "2.13.0", + "@parcel/events": "2.13.0", + "@parcel/types-internal": "2.13.0", + "chrome-trace-event": "^1.0.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/node-resolver-core": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.3.0.tgz", - "integrity": "sha512-rhPW9DYPEIqQBSlYzz3S0AjXxjN6Ub2yS6tzzsW/4S3Gpsgk/uEq4ZfxPvoPf/6TgZndVxmKwpmxaKtGMmf3cA==", + "node_modules/@parcel/reporter-cli": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.13.0.tgz", + "integrity": "sha512-cChHsbp+XrW/3pGZe6Sa+AyWxKRE5uoO9HzFD/r3j6ijCctX2b/Sshs7kmVZLGfDx1GO0u5xU+NzZA8lpFkIkg==", "dev": true, + "license": "MIT", "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", - "@parcel/diagnostic": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1", - "semver": "^7.5.2" + "@parcel/plugin": "2.13.0", + "@parcel/types": "2.13.0", + "@parcel/utils": "2.13.0", + "chalk": "^4.1.2", + "term-size": "^2.2.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/node-resolver-core/node_modules/@parcel/fs": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.12.0.tgz", - "integrity": "sha512-NnFkuvou1YBtPOhTdZr44WN7I60cGyly2wpHzqRl62yhObyi1KvW0SjwOMa0QGNcBOIzp4G0CapoZ93hD0RG5Q==", + "node_modules/@parcel/reporter-dev-server": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.13.0.tgz", + "integrity": "sha512-LYm/2peex4aNv5mBqWqSJSpmiGegfuL4i73c3J1zXlcx/lnUIrjAkjh24v+LQsud5Krapqabr19nVlAHpOk33g==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/rust": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/watcher": "^2.0.7", - "@parcel/workers": "2.12.0" + "@parcel/plugin": "2.13.0", + "@parcel/utils": "2.13.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/node-resolver-core/node_modules/@parcel/watcher": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", - "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", - "dev": true, - "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.4.1", - "@parcel/watcher-darwin-arm64": "2.4.1", - "@parcel/watcher-darwin-x64": "2.4.1", - "@parcel/watcher-freebsd-x64": "2.4.1", - "@parcel/watcher-linux-arm-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-musl": "2.4.1", - "@parcel/watcher-linux-x64-glibc": "2.4.1", - "@parcel/watcher-linux-x64-musl": "2.4.1", - "@parcel/watcher-win32-arm64": "2.4.1", - "@parcel/watcher-win32-ia32": "2.4.1", - "@parcel/watcher-win32-x64": "2.4.1" - } - }, - "node_modules/@parcel/node-resolver-core/node_modules/@parcel/workers": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.12.0.tgz", - "integrity": "sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/profiler": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" - } - }, - "node_modules/@parcel/node-resolver-core/node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true - }, - "node_modules/@parcel/optimizer-css": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.12.0.tgz", - "integrity": "sha512-ifbcC97fRzpruTjaa8axIFeX4MjjSIlQfem3EJug3L2AVqQUXnM1XO8L0NaXGNLTW2qnh1ZjIJ7vXT/QhsphsA==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "browserslist": "^4.6.6", - "lightningcss": "^1.22.1", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/optimizer-data-url": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-data-url/-/optimizer-data-url-2.12.0.tgz", - "integrity": "sha512-9g7+1bXZkLFFQ2cLm+CsiJzxMMSDxdo3w3xcqzIj5hcha22jaPP6N1weCAbfxkd6D8wgmljeNUzewFMT0Ob2FQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "isbinaryfile": "^4.0.2", - "mime": "^2.4.4" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/optimizer-htmlnano": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.12.0.tgz", - "integrity": "sha512-MfPMeCrT8FYiOrpFHVR+NcZQlXAptK2r4nGJjfT+ndPBhEEZp4yyL7n1y7HfX9geg5altc4WTb4Gug7rCoW8VQ==", - "dev": true, - "dependencies": { - "@parcel/plugin": "2.12.0", - "htmlnano": "^2.0.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "svgo": "^2.4.0" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", - "dev": true, - "dependencies": { - "env-paths": "^2.2.1", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/css-declaration-sorter": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", - "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "^14 || ^16 || >=18" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/cssnano": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.6.tgz", - "integrity": "sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "cssnano-preset-default": "^7.0.6", - "lilconfig": "^3.1.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/cssnano-preset-default": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.6.tgz", - "integrity": "sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "browserslist": "^4.23.3", - "css-declaration-sorter": "^7.2.0", - "cssnano-utils": "^5.0.0", - "postcss-calc": "^10.0.2", - "postcss-colormin": "^7.0.2", - "postcss-convert-values": "^7.0.4", - "postcss-discard-comments": "^7.0.3", - "postcss-discard-duplicates": "^7.0.1", - "postcss-discard-empty": "^7.0.0", - "postcss-discard-overridden": "^7.0.0", - "postcss-merge-longhand": "^7.0.4", - "postcss-merge-rules": "^7.0.4", - "postcss-minify-font-values": "^7.0.0", - "postcss-minify-gradients": "^7.0.0", - "postcss-minify-params": "^7.0.2", - "postcss-minify-selectors": "^7.0.4", - "postcss-normalize-charset": "^7.0.0", - "postcss-normalize-display-values": "^7.0.0", - "postcss-normalize-positions": "^7.0.0", - "postcss-normalize-repeat-style": "^7.0.0", - "postcss-normalize-string": "^7.0.0", - "postcss-normalize-timing-functions": "^7.0.0", - "postcss-normalize-unicode": "^7.0.2", - "postcss-normalize-url": "^7.0.0", - "postcss-normalize-whitespace": "^7.0.0", - "postcss-ordered-values": "^7.0.1", - "postcss-reduce-initial": "^7.0.2", - "postcss-reduce-transforms": "^7.0.0", - "postcss-svgo": "^7.0.1", - "postcss-unique-selectors": "^7.0.3" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/cssnano-utils": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.0.tgz", - "integrity": "sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/htmlnano": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.1.1.tgz", - "integrity": "sha512-kAERyg/LuNZYmdqgCdYvugyLWNFAm8MWXpQMz1pLpetmCbFwoMxvkSoaAMlFrOC4OKTWI4KlZGT/RsNxg4ghOw==", - "dev": true, - "dependencies": { - "cosmiconfig": "^9.0.0", - "posthtml": "^0.16.5", - "timsort": "^0.3.0" - }, - "peerDependencies": { - "cssnano": "^7.0.0", - "postcss": "^8.3.11", - "purgecss": "^6.0.0", - "relateurl": "^0.2.7", - "srcset": "5.0.1", - "svgo": "^3.0.2", - "terser": "^5.10.0", - "uncss": "^0.17.3" - }, - "peerDependenciesMeta": { - "cssnano": { - "optional": true - }, - "postcss": { - "optional": true - }, - "purgecss": { - "optional": true - }, - "relateurl": { - "optional": true - }, - "srcset": { - "optional": true - }, - "svgo": { - "optional": true - }, - "terser": { - "optional": true - }, - "uncss": { - "optional": true - } - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/htmlparser2": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", - "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.2", - "domutils": "^2.8.0", - "entities": "^3.0.1" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "optional": true, - "peer": true, - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-calc": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.0.2.tgz", - "integrity": "sha512-DT/Wwm6fCKgpYVI7ZEWuPJ4az8hiEHtCUeYjZXqU7Ou4QqYh1Df2yCQ7Ca6N7xqKPFkxN3fhf+u9KSoOCJNAjg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-selector-parser": "^6.1.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12 || ^20.9 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.38" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-colormin": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.2.tgz", - "integrity": "sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "browserslist": "^4.23.3", - "caniuse-api": "^3.0.0", - "colord": "^2.9.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-convert-values": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.4.tgz", - "integrity": "sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "browserslist": "^4.23.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-discard-comments": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.3.tgz", - "integrity": "sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-selector-parser": "^6.1.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-discard-duplicates": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.1.tgz", - "integrity": "sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-discard-empty": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.0.tgz", - "integrity": "sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-discard-overridden": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.0.tgz", - "integrity": "sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-merge-longhand": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.4.tgz", - "integrity": "sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^7.0.4" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-merge-rules": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.4.tgz", - "integrity": "sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "browserslist": "^4.23.3", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^5.0.0", - "postcss-selector-parser": "^6.1.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-minify-font-values": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-7.0.0.tgz", - "integrity": "sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-minify-gradients": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-7.0.0.tgz", - "integrity": "sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "colord": "^2.9.3", - "cssnano-utils": "^5.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-minify-params": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.2.tgz", - "integrity": "sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "browserslist": "^4.23.3", - "cssnano-utils": "^5.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-minify-selectors": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.4.tgz", - "integrity": "sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "cssesc": "^3.0.0", - "postcss-selector-parser": "^6.1.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-charset": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-7.0.0.tgz", - "integrity": "sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-display-values": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.0.tgz", - "integrity": "sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-positions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-7.0.0.tgz", - "integrity": "sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-repeat-style": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.0.tgz", - "integrity": "sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-string": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-7.0.0.tgz", - "integrity": "sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-timing-functions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.0.tgz", - "integrity": "sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-unicode": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.2.tgz", - "integrity": "sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "browserslist": "^4.23.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-url": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-7.0.0.tgz", - "integrity": "sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-whitespace": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.0.tgz", - "integrity": "sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-ordered-values": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-7.0.1.tgz", - "integrity": "sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "cssnano-utils": "^5.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-reduce-initial": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.2.tgz", - "integrity": "sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "browserslist": "^4.23.3", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-reduce-transforms": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.0.tgz", - "integrity": "sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-svgo": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.0.1.tgz", - "integrity": "sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.3.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >= 18" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-svgo/node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-svgo/node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-svgo/node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "css-tree": "~2.2.0" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-svgo/node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-svgo/node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-svgo/node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-svgo/node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-svgo/node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-svgo/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-svgo/node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-svgo/node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-unique-selectors": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.3.tgz", - "integrity": "sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-selector-parser": "^6.1.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/posthtml": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", - "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", - "dev": true, - "dependencies": { - "posthtml-parser": "^0.11.0", - "posthtml-render": "^3.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/posthtml-parser": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", - "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", - "dev": true, - "dependencies": { - "htmlparser2": "^7.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/posthtml-render": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", - "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", - "dev": true, - "dependencies": { - "is-json": "^2.0.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/purgecss": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-6.0.0.tgz", - "integrity": "sha512-s3EBxg5RSWmpqd0KGzNqPiaBbWDz1/As+2MzoYVGMqgDqRTLBhJW6sywfTBek7OwNfoS/6pS0xdtvChNhFj2cw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "commander": "^12.0.0", - "glob": "^10.3.10", - "postcss": "^8.4.4", - "postcss-selector-parser": "^6.0.7" - }, - "bin": { - "purgecss": "bin/purgecss.js" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/purgecss/node_modules/commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/srcset": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/srcset/-/srcset-5.0.1.tgz", - "integrity": "sha512-/P1UYbGfJVlxZag7aABNRrulEXAwCSDo7fklafOQrantuPTDmYgijJMks2zusPCVzgW9+4P69mq7w6pYuZpgxw==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/stylehacks": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.4.tgz", - "integrity": "sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "browserslist": "^4.23.3", - "postcss-selector-parser": "^6.1.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dev": true, - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/terser": { - "version": "5.34.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.34.1.tgz", - "integrity": "sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@parcel/optimizer-image": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.12.0.tgz", - "integrity": "sha512-bo1O7raeAIbRU5nmNVtx8divLW9Xqn0c57GVNGeAK4mygnQoqHqRZ0mR9uboh64pxv6ijXZHPhKvU9HEpjPjBQ==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" - } - }, - "node_modules/@parcel/optimizer-image/node_modules/@parcel/workers": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.12.0.tgz", - "integrity": "sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/profiler": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" - } - }, - "node_modules/@parcel/optimizer-svgo": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.12.0.tgz", - "integrity": "sha512-Kyli+ZZXnoonnbeRQdoWwee9Bk2jm/49xvnfb+2OO8NN0d41lblBoRhOyFiScRnJrw7eVl1Xrz7NTkXCIO7XFQ==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "svgo": "^2.4.0" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/optimizer-svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@parcel/optimizer-svgo/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/@parcel/optimizer-svgo/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@parcel/optimizer-svgo/node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/@parcel/optimizer-svgo/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/@parcel/optimizer-svgo/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/@parcel/optimizer-svgo/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/@parcel/optimizer-svgo/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/@parcel/optimizer-svgo/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "node_modules/@parcel/optimizer-svgo/node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/@parcel/optimizer-svgo/node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dev": true, - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@parcel/optimizer-swc": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.12.0.tgz", - "integrity": "sha512-iBi6LZB3lm6WmbXfzi8J3DCVPmn4FN2lw7DGXxUXu7MouDPVWfTsM6U/5TkSHJRNRogZ2gqy5q9g34NPxHbJcw==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "@swc/core": "^1.3.36", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/package-manager": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.12.0.tgz", - "integrity": "sha512-0nvAezcjPx9FT+hIL+LS1jb0aohwLZXct7jAh7i0MLMtehOi0z1Sau+QpgMlA9rfEZZ1LIeFdnZZwqSy7Ccspw==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/node-resolver-core": "3.3.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0", - "@swc/core": "^1.3.36", - "semver": "^7.5.2" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" - } - }, - "node_modules/@parcel/package-manager/node_modules/@parcel/fs": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.12.0.tgz", - "integrity": "sha512-NnFkuvou1YBtPOhTdZr44WN7I60cGyly2wpHzqRl62yhObyi1KvW0SjwOMa0QGNcBOIzp4G0CapoZ93hD0RG5Q==", - "dev": true, - "dependencies": { - "@parcel/rust": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/watcher": "^2.0.7", - "@parcel/workers": "2.12.0" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" - } - }, - "node_modules/@parcel/package-manager/node_modules/@parcel/watcher": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", - "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", - "dev": true, - "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.4.1", - "@parcel/watcher-darwin-arm64": "2.4.1", - "@parcel/watcher-darwin-x64": "2.4.1", - "@parcel/watcher-freebsd-x64": "2.4.1", - "@parcel/watcher-linux-arm-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-musl": "2.4.1", - "@parcel/watcher-linux-x64-glibc": "2.4.1", - "@parcel/watcher-linux-x64-musl": "2.4.1", - "@parcel/watcher-win32-arm64": "2.4.1", - "@parcel/watcher-win32-ia32": "2.4.1", - "@parcel/watcher-win32-x64": "2.4.1" - } - }, - "node_modules/@parcel/package-manager/node_modules/@parcel/workers": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.12.0.tgz", - "integrity": "sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/profiler": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" - } - }, - "node_modules/@parcel/package-manager/node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true - }, - "node_modules/@parcel/packager-css": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.12.0.tgz", - "integrity": "sha512-j3a/ODciaNKD19IYdWJT+TP+tnhhn5koBGBWWtrKSu0UxWpnezIGZetit3eE+Y9+NTePalMkvpIlit2eDhvfJA==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "lightningcss": "^1.22.1", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/packager-html": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.12.0.tgz", - "integrity": "sha512-PpvGB9hFFe+19NXGz2ApvPrkA9GwEqaDAninT+3pJD57OVBaxB8U+HN4a5LICKxjUppPPqmrLb6YPbD65IX4RA==", - "dev": true, - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/packager-html/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/@parcel/packager-html/node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@parcel/packager-html/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/@parcel/packager-html/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/@parcel/packager-html/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/@parcel/packager-html/node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@parcel/packager-html/node_modules/htmlparser2": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", - "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.2", - "domutils": "^2.8.0", - "entities": "^3.0.1" - } - }, - "node_modules/@parcel/packager-html/node_modules/posthtml": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", - "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", - "dev": true, - "dependencies": { - "posthtml-parser": "^0.11.0", - "posthtml-render": "^3.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@parcel/packager-html/node_modules/posthtml-parser": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", - "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", - "dev": true, - "dependencies": { - "htmlparser2": "^7.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@parcel/packager-html/node_modules/posthtml-render": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", - "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", - "dev": true, - "dependencies": { - "is-json": "^2.0.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@parcel/packager-js": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.12.0.tgz", - "integrity": "sha512-viMF+FszITRRr8+2iJyk+4ruGiL27Y6AF7hQ3xbJfzqnmbOhGFtLTQwuwhOLqN/mWR2VKdgbLpZSarWaO3yAMg==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "globals": "^13.2.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/packager-raw": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.12.0.tgz", - "integrity": "sha512-tJZqFbHqP24aq1F+OojFbQIc09P/u8HAW5xfndCrFnXpW4wTgM3p03P0xfw3gnNq+TtxHJ8c3UFE5LnXNNKhYA==", - "dev": true, - "dependencies": { - "@parcel/plugin": "2.12.0" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/packager-svg": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.12.0.tgz", - "integrity": "sha512-ldaGiacGb2lLqcXas97k8JiZRbAnNREmcvoY2W2dvW4loVuDT9B9fU777mbV6zODpcgcHWsLL3lYbJ5Lt3y9cg==", - "dev": true, - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "posthtml": "^0.16.4" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/packager-svg/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/@parcel/packager-svg/node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@parcel/packager-svg/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/@parcel/packager-svg/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/@parcel/packager-svg/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/@parcel/packager-svg/node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@parcel/packager-svg/node_modules/htmlparser2": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", - "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.2", - "domutils": "^2.8.0", - "entities": "^3.0.1" - } - }, - "node_modules/@parcel/packager-svg/node_modules/posthtml": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", - "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", - "dev": true, - "dependencies": { - "posthtml-parser": "^0.11.0", - "posthtml-render": "^3.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@parcel/packager-svg/node_modules/posthtml-parser": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", - "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", - "dev": true, - "dependencies": { - "htmlparser2": "^7.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@parcel/packager-svg/node_modules/posthtml-render": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", - "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", - "dev": true, - "dependencies": { - "is-json": "^2.0.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@parcel/packager-wasm": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-wasm/-/packager-wasm-2.12.0.tgz", - "integrity": "sha512-fYqZzIqO9fGYveeImzF8ll6KRo2LrOXfD+2Y5U3BiX/wp9wv17dz50QLDQm9hmTcKGWxK4yWqKQh+Evp/fae7A==", - "dev": true, - "dependencies": { - "@parcel/plugin": "2.12.0" - }, - "engines": { - "node": ">=12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/plugin": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.12.0.tgz", - "integrity": "sha512-nc/uRA8DiMoe4neBbzV6kDndh/58a4wQuGKw5oEoIwBCHUvE2W8ZFSu7ollSXUGRzfacTt4NdY8TwS73ScWZ+g==", - "dev": true, - "dependencies": { - "@parcel/types": "2.12.0" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/profiler": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.12.0.tgz", - "integrity": "sha512-q53fvl5LDcFYzMUtSusUBZSjQrKjMlLEBgKeQHFwkimwR1mgoseaDBDuNz0XvmzDzF1UelJ02TUKCGacU8W2qA==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/events": "2.12.0", - "chrome-trace-event": "^1.0.2" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/reporter-cli": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.12.0.tgz", - "integrity": "sha512-TqKsH4GVOLPSCanZ6tcTPj+rdVHERnt5y4bwTM82cajM21bCX1Ruwp8xOKU+03091oV2pv5ieB18pJyRF7IpIw==", - "dev": true, - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "chalk": "^4.1.0", - "term-size": "^2.2.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/reporter-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@parcel/reporter-cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@parcel/reporter-cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@parcel/reporter-cli/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@parcel/reporter-cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@parcel/reporter-cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@parcel/reporter-dev-server": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.12.0.tgz", - "integrity": "sha512-tIcDqRvAPAttRlTV28dHcbWT5K2r/MBFks7nM4nrEDHWtnrCwimkDmZTc1kD8QOCCjGVwRHcQybpHvxfwol6GA==", - "dev": true, - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/reporter-tracer": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.12.0.tgz", - "integrity": "sha512-g8rlu9GxB8Ut/F8WGx4zidIPQ4pcYFjU9bZO+fyRIPrSUFH2bKijCnbZcr4ntqzDGx74hwD6cCG4DBoleq2UlQ==", - "dev": true, - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "chrome-trace-event": "^1.0.3", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/resolver-default": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.12.0.tgz", - "integrity": "sha512-uuhbajTax37TwCxu7V98JtRLiT6hzE4VYSu5B7Qkauy14/WFt2dz6GOUXPgVsED569/hkxebPx3KCMtZW6cHHA==", - "dev": true, - "dependencies": { - "@parcel/node-resolver-core": "3.3.0", - "@parcel/plugin": "2.12.0" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/runtime-browser-hmr": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.12.0.tgz", - "integrity": "sha512-4ZLp2FWyD32r0GlTulO3+jxgsA3oO1P1b5oO2IWuWilfhcJH5LTiazpL5YdusUjtNn9PGN6QLAWfxmzRIfM+Ow==", - "dev": true, - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/runtime-js": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.12.0.tgz", - "integrity": "sha512-sBerP32Z1crX5PfLNGDSXSdqzlllM++GVnVQVeM7DgMKS8JIFG3VLi28YkX+dYYGtPypm01JoIHCkvwiZEcQJg==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/runtime-react-refresh": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.12.0.tgz", - "integrity": "sha512-SCHkcczJIDFTFdLTzrHTkQ0aTrX3xH6jrA4UsCBL6ji61+w+ohy4jEEe9qCgJVXhnJfGLE43HNXek+0MStX+Mw==", - "dev": true, - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "react-error-overlay": "6.0.9", - "react-refresh": "^0.9.0" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/runtime-service-worker": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.12.0.tgz", - "integrity": "sha512-BXuMBsfiwpIEnssn+jqfC3jkgbS8oxeo3C7xhSQsuSv+AF2FwY3O3AO1c1RBskEW3XrBLNINOJujroNw80VTKA==", - "dev": true, - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/rust": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/rust/-/rust-2.12.0.tgz", - "integrity": "sha512-005cldMdFZFDPOjbDVEXcINQ3wT4vrxvSavRWI3Az0e3E18exO/x/mW9f648KtXugOXMAqCEqhFHcXECL9nmMw==", - "dev": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/source-map": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz", - "integrity": "sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==", - "dev": true, - "dependencies": { - "detect-libc": "^1.0.3" - }, - "engines": { - "node": "^12.18.3 || >=14" - } - }, - "node_modules/@parcel/transformer-babel": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.12.0.tgz", - "integrity": "sha512-zQaBfOnf/l8rPxYGnsk/ufh/0EuqvmnxafjBIpKZ//j6rGylw5JCqXSb1QvvAqRYruKeccxGv7+HrxpqKU6V4A==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "browserslist": "^4.6.6", - "json5": "^2.2.0", - "nullthrows": "^1.1.1", - "semver": "^7.5.2" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/transformer-babel/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@parcel/transformer-css": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.12.0.tgz", - "integrity": "sha512-vXhOqoAlQGATYyQ433Z1DXKmiKmzOAUmKysbYH3FD+LKEKLMEl/pA14goqp00TW+A/EjtSKKyeMyHlMIIUqj4Q==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "browserslist": "^4.6.6", - "lightningcss": "^1.22.1", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/transformer-html": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.12.0.tgz", - "integrity": "sha512-5jW4dFFBlYBvIQk4nrH62rfA/G/KzVzEDa6S+Nne0xXhglLjkm64Ci9b/d4tKZfuGWUbpm2ASAq8skti/nfpXw==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", - "posthtml-render": "^3.0.0", - "semver": "^7.5.2", - "srcset": "4" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/transformer-html/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/@parcel/transformer-html/node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@parcel/transformer-html/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/@parcel/transformer-html/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/@parcel/transformer-html/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/@parcel/transformer-html/node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@parcel/transformer-html/node_modules/htmlparser2": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", - "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.2", - "domutils": "^2.8.0", - "entities": "^3.0.1" - } - }, - "node_modules/@parcel/transformer-html/node_modules/posthtml": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", - "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", - "dev": true, - "dependencies": { - "posthtml-parser": "^0.11.0", - "posthtml-render": "^3.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@parcel/transformer-html/node_modules/posthtml-parser": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", - "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", - "dev": true, - "dependencies": { - "htmlparser2": "^7.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@parcel/transformer-html/node_modules/posthtml-render": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", - "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", - "dev": true, - "dependencies": { - "is-json": "^2.0.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@parcel/transformer-html/node_modules/posthtml/node_modules/posthtml-parser": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", - "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", - "dev": true, - "dependencies": { - "htmlparser2": "^7.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@parcel/transformer-html/node_modules/srcset": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", - "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@parcel/transformer-image": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.12.0.tgz", - "integrity": "sha512-8hXrGm2IRII49R7lZ0RpmNk27EhcsH+uNKsvxuMpXPuEnWgC/ha/IrjaI29xCng1uGur74bJF43NUSQhR4aTdw==", - "dev": true, - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" - } - }, - "node_modules/@parcel/transformer-image/node_modules/@parcel/workers": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.12.0.tgz", - "integrity": "sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/profiler": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" - } - }, - "node_modules/@parcel/transformer-inline-string": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-inline-string/-/transformer-inline-string-2.12.0.tgz", - "integrity": "sha512-FawH7Hgc7E8/Uc0t1UlFT2AdKdEQysu6OJp88NJixAqNhZT7G24OtKltM+VyayPxQZyLblPcp6TnYpY+Tz9VGA==", + "node_modules/@parcel/reporter-tracer": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.13.0.tgz", + "integrity": "sha512-POKec53mKPI3XurJUIjaKDl9NHdGzkNONzkjcerHdRHp5W5xUp1KuasKIOQY8tHlvqG0Pp1bytszjDvZB3CnmA==", "dev": true, "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/transformer-js": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.12.0.tgz", - "integrity": "sha512-OSZpOu+FGDbC/xivu24v092D9w6EGytB3vidwbdiJ2FaPgfV7rxS0WIUjH4I0OcvHAcitArRXL0a3+HrNTdQQw==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0", - "@swc/helpers": "^0.5.0", - "browserslist": "^4.6.6", - "nullthrows": "^1.1.1", - "regenerator-runtime": "^0.13.7", - "semver": "^7.5.2" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" - } - }, - "node_modules/@parcel/transformer-js/node_modules/@parcel/workers": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.12.0.tgz", - "integrity": "sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/profiler": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", + "@parcel/plugin": "2.13.0", + "@parcel/utils": "2.13.0", + "chrome-trace-event": "^1.0.3", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" - } - }, - "node_modules/@parcel/transformer-js/node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true - }, - "node_modules/@parcel/transformer-json": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.12.0.tgz", - "integrity": "sha512-Utv64GLRCQILK5r0KFs4o7I41ixMPllwOLOhkdjJKvf1hZmN6WqfOmB1YLbWS/y5Zb/iB52DU2pWZm96vLFQZQ==", - "dev": true, - "dependencies": { - "@parcel/plugin": "2.12.0", - "json5": "^2.2.0" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/transformer-json/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@parcel/transformer-postcss": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.12.0.tgz", - "integrity": "sha512-FZqn+oUtiLfPOn67EZxPpBkfdFiTnF4iwiXPqvst3XI8H+iC+yNgzmtJkunOOuylpYY6NOU5jT8d7saqWSDv2Q==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/utils": "2.12.0", - "clone": "^2.1.1", - "nullthrows": "^1.1.1", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.2" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/transformer-postcss/node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/@parcel/transformer-posthtml": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.12.0.tgz", - "integrity": "sha512-z6Z7rav/pcaWdeD+2sDUcd0mmNZRUvtHaUGa50Y2mr+poxrKilpsnFMSiWBT+oOqPt7j71jzDvrdnAF4XkCljg==", - "dev": true, - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", - "posthtml-render": "^3.0.0", - "semver": "^7.5.2" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/transformer-posthtml/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/@parcel/transformer-posthtml/node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@parcel/transformer-posthtml/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/@parcel/transformer-posthtml/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/@parcel/transformer-posthtml/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/@parcel/transformer-posthtml/node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@parcel/transformer-posthtml/node_modules/htmlparser2": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", - "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.2", - "domutils": "^2.8.0", - "entities": "^3.0.1" - } - }, - "node_modules/@parcel/transformer-posthtml/node_modules/posthtml": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", - "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", - "dev": true, - "dependencies": { - "posthtml-parser": "^0.11.0", - "posthtml-render": "^3.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@parcel/transformer-posthtml/node_modules/posthtml-parser": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", - "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", - "dev": true, - "dependencies": { - "htmlparser2": "^7.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@parcel/transformer-posthtml/node_modules/posthtml-render": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", - "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", - "dev": true, - "dependencies": { - "is-json": "^2.0.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@parcel/transformer-posthtml/node_modules/posthtml/node_modules/posthtml-parser": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", - "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", - "dev": true, - "dependencies": { - "htmlparser2": "^7.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@parcel/transformer-raw": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.12.0.tgz", - "integrity": "sha512-Ht1fQvXxix0NncdnmnXZsa6hra20RXYh1VqhBYZLsDfkvGGFnXIgO03Jqn4Z8MkKoa0tiNbDhpKIeTjyclbBxQ==", + "node_modules/@parcel/resolver-default": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.13.0.tgz", + "integrity": "sha512-fdqJ6KnxbZW3Ll65JgHldGiAfVWIhfTVYpnUsh+VvIhranHzn4+JjfevTyjCqx1eLRMxOIjg0uEkwT8d2MOFLw==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0" + "@parcel/node-resolver-core": "3.4.0", + "@parcel/plugin": "2.13.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/transformer-react-refresh-wrap": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.12.0.tgz", - "integrity": "sha512-GE8gmP2AZtkpBIV5vSCVhewgOFRhqwdM5Q9jNPOY5PKcM3/Ff0qCqDiTzzGLhk0/VMBrdjssrfZkVx6S/lHdJw==", + "node_modules/@parcel/runtime-browser-hmr": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.13.0.tgz", + "integrity": "sha512-5aSVcow/BN8HG3kS1ACY7SKRMm9zaQ9stCpNLtY5HgqwZ+sSC2jtQPeqMnhrSn9ZHunysGJfJ57Xb9Olgjwh5Q==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "react-refresh": "^0.9.0" + "@parcel/plugin": "2.13.0", + "@parcel/utils": "2.13.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/transformer-svg": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.12.0.tgz", - "integrity": "sha512-cZJqGRJ4JNdYcb+vj94J7PdOuTnwyy45dM9xqbIMH+HSiiIkfrMsdEwYft0GTyFTdsnf+hdHn3tau7Qa5hhX+A==", + "node_modules/@parcel/runtime-js": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.13.0.tgz", + "integrity": "sha512-19YxijsDLVs6iGve0ARSkxvz12fgwAXYwvZqXaXn0bZYKHAB5M+Yhd/9fW8/z2NXARfI+hnYWdSaMJAardDltQ==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", - "posthtml-render": "^3.0.0", - "semver": "^7.5.2" + "@parcel/diagnostic": "2.13.0", + "@parcel/plugin": "2.13.0", + "@parcel/utils": "2.13.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/transformer-svg/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "node_modules/@parcel/runtime-react-refresh": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.13.0.tgz", + "integrity": "sha512-RoUpZjdTai85G4lL+gIERJvZlQJfVylqK/BSjTe4udEez6EZlumxxRKnGLo2ciJEJE4o/+yI0eZDkVmGXCj4pQ==", "dev": true, + "license": "MIT", "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "@parcel/plugin": "2.13.0", + "@parcel/utils": "2.13.0", + "react-error-overlay": "6.0.9", + "react-refresh": ">=0.9 <=0.14" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/transformer-svg/node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "node_modules/@parcel/runtime-service-worker": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.13.0.tgz", + "integrity": "sha512-UcYIwEbfjdsHeDU/7f28uzz9gdffhkqP2mQeAwyn5okMb4yaWNxx0lCzcMigC5ORy7kNAYO6875FxzqqlsQBxA==", "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.13.0", + "@parcel/utils": "2.13.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.13.0" + }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/transformer-svg/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/@parcel/transformer-svg/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "node_modules/@parcel/rust": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/rust/-/rust-2.13.0.tgz", + "integrity": "sha512-7wPx5fma2imcIpwoBHxkt4yMDLYbnxQ1utswXaDj59iDu3mJkHU9/WyZWD2KzZdrADAdF8ulR1fg1woBYQ+nwA==", "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, + "license": "MIT", "engines": { - "node": ">= 4" + "node": ">= 16.0.0" }, "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/transformer-svg/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "node_modules/@parcel/source-map": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz", + "integrity": "sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==", "dev": true, + "license": "MIT", "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "detect-libc": "^1.0.3" }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "engines": { + "node": "^12.18.3 || >=14" } }, - "node_modules/@parcel/transformer-svg/node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "node_modules/@parcel/transformer-babel": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.13.0.tgz", + "integrity": "sha512-hAZFlZoX/RWbMWezk0/2hyFFmM+D0V7KM31NuNZhuCmgeM54e5QeB64qRUFEXFCN0z2XZR2fdxcYNv3dAb17Ww==", "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.13.0", + "@parcel/plugin": "2.13.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.13.0", + "browserslist": "^4.6.6", + "json5": "^2.2.0", + "nullthrows": "^1.1.1", + "semver": "^7.5.2" + }, "engines": { - "node": ">=0.12" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/transformer-svg/node_modules/htmlparser2": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", - "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "node_modules/@parcel/transformer-css": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.13.0.tgz", + "integrity": "sha512-zxQ5mYFonnv5LR+7CQNH0KxuO+Lao/mtkwRSS+KqsgM/h3liVOumZ406jgag08f22gwXxndQDCE+khys/ODMIA==", "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], + "license": "MIT", "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.2", - "domutils": "^2.8.0", - "entities": "^3.0.1" + "@parcel/diagnostic": "2.13.0", + "@parcel/plugin": "2.13.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.13.0", + "browserslist": "^4.6.6", + "lightningcss": "^1.22.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/transformer-svg/node_modules/posthtml": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", - "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", + "node_modules/@parcel/transformer-html": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.13.0.tgz", + "integrity": "sha512-iCgW95Nb+Hvu5y+2owjipuzxGOMzLdw2OHcGAN4iw+lyQtXD1TnovL4kzHxjURk5Jj+or0xRAjACtdHjAz7O8Q==", "dev": true, + "license": "MIT", "dependencies": { - "posthtml-parser": "^0.11.0", - "posthtml-render": "^3.0.0" + "@parcel/diagnostic": "2.13.0", + "@parcel/plugin": "2.13.0", + "@parcel/rust": "2.13.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.12.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2", + "srcset": "4" }, "engines": { - "node": ">=12.0.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/transformer-svg/node_modules/posthtml-parser": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", - "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", + "node_modules/@parcel/transformer-html/node_modules/srcset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", + "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", "dev": true, - "dependencies": { - "htmlparser2": "^7.1.1" - }, + "license": "MIT", "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@parcel/transformer-svg/node_modules/posthtml-render": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", - "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "node_modules/@parcel/transformer-image": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.13.0.tgz", + "integrity": "sha512-wehluaZIB6sMqCDU70d2WQW53ubQ6nlzWIsCKoXQxDVThf4xNPbXaqDwZ4udwKZQ+x3frfmeEZXhv1JcFFN5Yw==", "dev": true, + "license": "MIT", "dependencies": { - "is-json": "^2.0.1" + "@parcel/plugin": "2.13.0", + "@parcel/utils": "2.13.0", + "@parcel/workers": "2.13.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=12" + "node": ">= 16.0.0", + "parcel": "^2.13.0" + }, + "peerDependencies": { + "@parcel/core": "^2.13.0" } }, - "node_modules/@parcel/transformer-svg/node_modules/posthtml/node_modules/posthtml-parser": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", - "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", + "node_modules/@parcel/transformer-inline-string": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-inline-string/-/transformer-inline-string-2.13.0.tgz", + "integrity": "sha512-b+AKMhxOYOvKR3QmwjJ3qomTVbjyr+lOE/DG6ghD9l6D+PNHn6khoIwUBGgKQUSbNkdRzMg8nk+oD0+8rwuUaw==", "dev": true, + "license": "MIT", "dependencies": { - "htmlparser2": "^7.1.1" + "@parcel/plugin": "2.13.0" }, "engines": { - "node": ">=12" + "node": ">= 16.0.0", + "parcel": "^2.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/types": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.12.0.tgz", - "integrity": "sha512-8zAFiYNCwNTQcglIObyNwKfRYQK5ELlL13GuBOrSMxueUiI5ylgsGbTS1N7J3dAGZixHO8KhHGv5a71FILn9rQ==", + "node_modules/@parcel/transformer-js": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.13.0.tgz", + "integrity": "sha512-vFSLXhdAQ1G4QqdXPE3bu2Yxh047HeqsxoQpbUNqPzLY/IR8P+ZTG4lUVVE5sGGfck2FfHksJP8uTq6RII4cnw==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/cache": "2.12.0", - "@parcel/diagnostic": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/package-manager": "2.12.0", + "@parcel/diagnostic": "2.13.0", + "@parcel/plugin": "2.13.0", + "@parcel/rust": "2.13.0", "@parcel/source-map": "^2.1.1", - "@parcel/workers": "2.12.0", - "utility-types": "^3.10.0" + "@parcel/utils": "2.13.0", + "@parcel/workers": "2.13.0", + "@swc/helpers": "^0.5.0", + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1", + "regenerator-runtime": "^0.14.1", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.13.0" } }, - "node_modules/@parcel/types/node_modules/@parcel/fs": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.12.0.tgz", - "integrity": "sha512-NnFkuvou1YBtPOhTdZr44WN7I60cGyly2wpHzqRl62yhObyi1KvW0SjwOMa0QGNcBOIzp4G0CapoZ93hD0RG5Q==", + "node_modules/@parcel/transformer-json": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.13.0.tgz", + "integrity": "sha512-aNmOZcX8oMHrgP4BlqShAoXleTTIstdM2Cflf4d8gUxm4G0GgfYvXRlypxg4twbEtbEHyqrb3qI6wEzIz6U9ZQ==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/rust": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/watcher": "^2.0.7", - "@parcel/workers": "2.12.0" + "@parcel/plugin": "2.13.0", + "json5": "^2.2.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/types/node_modules/@parcel/watcher": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", - "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", + "node_modules/@parcel/transformer-postcss": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.13.0.tgz", + "integrity": "sha512-04W4QSEqqY36wqpDB9zw847C5LKuQ2pOAO/AseLc7pdvt7W8Pq7GYFTCUUhlo0Lravvw5Z7mMJq043Z05IoCDg==", "dev": true, + "license": "MIT", "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" + "@parcel/diagnostic": "2.13.0", + "@parcel/plugin": "2.13.0", + "@parcel/rust": "2.13.0", + "@parcel/utils": "2.13.0", + "clone": "^2.1.1", + "nullthrows": "^1.1.1", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.2" }, "engines": { - "node": ">= 10.0.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.4.1", - "@parcel/watcher-darwin-arm64": "2.4.1", - "@parcel/watcher-darwin-x64": "2.4.1", - "@parcel/watcher-freebsd-x64": "2.4.1", - "@parcel/watcher-linux-arm-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-musl": "2.4.1", - "@parcel/watcher-linux-x64-glibc": "2.4.1", - "@parcel/watcher-linux-x64-musl": "2.4.1", - "@parcel/watcher-win32-arm64": "2.4.1", - "@parcel/watcher-win32-ia32": "2.4.1", - "@parcel/watcher-win32-x64": "2.4.1" - } - }, - "node_modules/@parcel/types/node_modules/@parcel/workers": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.12.0.tgz", - "integrity": "sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/profiler": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" + } + }, + "node_modules/@parcel/transformer-posthtml": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.13.0.tgz", + "integrity": "sha512-MnfF0a5LMCALxm5h7zgmGnOkSC/o9J9l6QwddzX1om3MSsCwRWmvEewuASSftyIy80Opx0J8bBPVJbkCCAWqLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.13.0", + "@parcel/utils": "2.13.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.12.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/types/node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true - }, - "node_modules/@parcel/utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.12.0.tgz", - "integrity": "sha512-z1JhLuZ8QmDaYoEIuUCVZlhcFrS7LMfHrb2OCRui5SQFntRWBH2fNM6H/fXXUkT9SkxcuFP2DUA6/m4+Gkz72g==", + "node_modules/@parcel/transformer-raw": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.13.0.tgz", + "integrity": "sha512-9gvh3ozDOXOjpufTrEcqmzKisjTFeXA+GO9pochiVdjVB5Sg0FBxFFX9dkcXmC0dFcHchh7/d4unbUUQuCjM8Q==", "dev": true, "license": "MIT", "dependencies": { - "@parcel/codeframe": "2.12.0", - "@parcel/diagnostic": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/markdown-ansi": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/source-map": "^2.1.1", - "chalk": "^4.1.0", - "nullthrows": "^1.1.1" + "@parcel/plugin": "2.13.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@parcel/transformer-react-refresh-wrap": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.13.0.tgz", + "integrity": "sha512-AHbCYewzMmIH8ajFvequTtCEST9oHIGHTzYfIss7TMjvAvSrgUs4ESQ9qyNV1Y0A6Nrj5nOe1Oax4bCsBMDWCw==", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@parcel/plugin": "2.13.0", + "@parcel/utils": "2.13.0", + "react-refresh": ">=0.9 <=0.14" }, "engines": { - "node": ">=8" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@parcel/transformer-svg": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.13.0.tgz", + "integrity": "sha512-9lV9ab6TBBs1GQhNcgs9IwpdqvWnfOeZiORqGH7aSpiAaTy9w9Nm+1hSycK5Fz4EZ9wavvdcHftf0LGyymK2MQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@parcel/diagnostic": "2.13.0", + "@parcel/plugin": "2.13.0", + "@parcel/rust": "2.13.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.12.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2" }, "engines": { - "node": ">=10" + "node": ">= 16.0.0", + "parcel": "^2.13.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } - }, - "node_modules/@parcel/utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + }, + "node_modules/@parcel/types": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.13.0.tgz", + "integrity": "sha512-o9Oe43ZIe5rwY/vqE70yZxSPfkNAIoXdLTnqYX+bIDchqWqY6xSSeNdhkwuT5VNKAh5F8T1UJput7rgE6Znx/w==", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "@parcel/types-internal": "2.13.0", + "@parcel/workers": "2.13.0" } }, - "node_modules/@parcel/utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/@parcel/types-internal": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/types-internal/-/types-internal-2.13.0.tgz", + "integrity": "sha512-yhIbaH+VXQB7Leifsnwifr80R6q2Yqeo+xN4KcPGuGH94iX7LrxJ3V0iwUMIg5nGmh5hmNbq0MEYFFxqVuZ8wQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.13.0", + "@parcel/feature-flags": "2.13.0", + "@parcel/source-map": "^2.1.1", + "utility-types": "^3.10.0" + } }, - "node_modules/@parcel/utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/@parcel/utils": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.13.0.tgz", + "integrity": "sha512-tLHtce8s2gNFHC9kS5VkNrf6YX9ZjVigk/+ZeWpsde8lBpCaY8OHLubJMXSAdk6q26RDn8tCrdMkndlfautDIw==", "dev": true, "license": "MIT", + "dependencies": { + "@parcel/codeframe": "2.13.0", + "@parcel/diagnostic": "2.13.0", + "@parcel/logger": "2.13.0", + "@parcel/markdown-ansi": "2.13.0", + "@parcel/rust": "2.13.0", + "@parcel/source-map": "^2.1.1", + "chalk": "^4.1.2", + "nullthrows": "^1.1.1" + }, "engines": { - "node": ">=8" + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@parcel/watcher": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz", + "integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==", "dev": true, + "hasInstallScript": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.0", + "@parcel/watcher-darwin-arm64": "2.5.0", + "@parcel/watcher-darwin-x64": "2.5.0", + "@parcel/watcher-freebsd-x64": "2.5.0", + "@parcel/watcher-linux-arm-glibc": "2.5.0", + "@parcel/watcher-linux-arm-musl": "2.5.0", + "@parcel/watcher-linux-arm64-glibc": "2.5.0", + "@parcel/watcher-linux-arm64-musl": "2.5.0", + "@parcel/watcher-linux-x64-glibc": "2.5.0", + "@parcel/watcher-linux-x64-musl": "2.5.0", + "@parcel/watcher-win32-arm64": "2.5.0", + "@parcel/watcher-win32-ia32": "2.5.0", + "@parcel/watcher-win32-x64": "2.5.0" } }, "node_modules/@parcel/watcher-android-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", - "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz", + "integrity": "sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -4601,13 +1833,14 @@ } }, "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", - "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz", + "integrity": "sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -4621,13 +1854,14 @@ } }, "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", - "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz", + "integrity": "sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -4641,13 +1875,14 @@ } }, "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", - "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz", + "integrity": "sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -4661,13 +1896,35 @@ } }, "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", - "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz", + "integrity": "sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz", + "integrity": "sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -4681,13 +1938,14 @@ } }, "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", - "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz", + "integrity": "sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -4701,13 +1959,14 @@ } }, "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", - "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz", + "integrity": "sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -4721,13 +1980,14 @@ } }, "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", - "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz", + "integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -4741,13 +2001,14 @@ } }, "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", - "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz", + "integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -4761,13 +2022,14 @@ } }, "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", - "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz", + "integrity": "sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -4781,13 +2043,14 @@ } }, "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", - "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz", + "integrity": "sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -4801,13 +2064,14 @@ } }, "node_modules/@parcel/watcher-win32-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", - "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz", + "integrity": "sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -4820,25 +2084,39 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/@parcel/workers": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.13.0.tgz", + "integrity": "sha512-E9LryfGSog45j/ZSMyGSQVuuBWen2P0s/SEwIsXIYQFP/MGY9tL4ZUwVyfThHOI0kx8d8PfdNaSHBOZEIRrXvQ==", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.13.0", + "@parcel/logger": "2.13.0", + "@parcel/profiler": "2.13.0", + "@parcel/types-internal": "2.13.0", + "@parcel/utils": "2.13.0", + "nullthrows": "^1.1.1" + }, "engines": { - "node": ">=14" + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.13.0" } }, "node_modules/@playwright/test": { - "version": "1.48.2", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.48.2.tgz", - "integrity": "sha512-54w1xCWfXuax7dz4W2M9uw0gDyh+ti/0K/MxcCUxChFh37kkdxPdfZDw5QBbuPUJHr1CiHJ1hXgSs+GgeQc5Zw==", + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.49.0.tgz", + "integrity": "sha512-DMulbwQURa8rNIQrf94+jPJQ4FmOVdpE5ZppRNvWVjvhC+6sOeo28r8MgIpQRYouXRtt/FCCXU7zn20jnHR4Qw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright": "1.48.2" + "playwright": "1.49.0" }, "bin": { "playwright": "cli.js" @@ -4860,14 +2138,15 @@ } }, "node_modules/@swc/core": { - "version": "1.7.26", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.26.tgz", - "integrity": "sha512-f5uYFf+TmMQyYIoxkn/evWhNGuUzC730dFwAKGwBVHHVoPyak1/GvJUm6i1SKl+2Hrj9oN0i3WSoWWZ4pgI8lw==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.9.2.tgz", + "integrity": "sha512-dYyEkO6mRYtZFpnOsnYzv9rY69fHAHoawYOjGOEcxk9WYtaJhowMdP/w6NcOKnz2G7GlZaenjkzkMa6ZeQeMsg==", "dev": true, "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3", - "@swc/types": "^0.1.12" + "@swc/types": "^0.1.15" }, "engines": { "node": ">=10" @@ -4877,16 +2156,16 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.7.26", - "@swc/core-darwin-x64": "1.7.26", - "@swc/core-linux-arm-gnueabihf": "1.7.26", - "@swc/core-linux-arm64-gnu": "1.7.26", - "@swc/core-linux-arm64-musl": "1.7.26", - "@swc/core-linux-x64-gnu": "1.7.26", - "@swc/core-linux-x64-musl": "1.7.26", - "@swc/core-win32-arm64-msvc": "1.7.26", - "@swc/core-win32-ia32-msvc": "1.7.26", - "@swc/core-win32-x64-msvc": "1.7.26" + "@swc/core-darwin-arm64": "1.9.2", + "@swc/core-darwin-x64": "1.9.2", + "@swc/core-linux-arm-gnueabihf": "1.9.2", + "@swc/core-linux-arm64-gnu": "1.9.2", + "@swc/core-linux-arm64-musl": "1.9.2", + "@swc/core-linux-x64-gnu": "1.9.2", + "@swc/core-linux-x64-musl": "1.9.2", + "@swc/core-win32-arm64-msvc": "1.9.2", + "@swc/core-win32-ia32-msvc": "1.9.2", + "@swc/core-win32-x64-msvc": "1.9.2" }, "peerDependencies": { "@swc/helpers": "*" @@ -4898,13 +2177,14 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.7.26", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.26.tgz", - "integrity": "sha512-FF3CRYTg6a7ZVW4yT9mesxoVVZTrcSWtmZhxKCYJX9brH4CS/7PRPjAKNk6kzWgWuRoglP7hkjQcd6EpMcZEAw==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.9.2.tgz", + "integrity": "sha512-nETmsCoY29krTF2PtspEgicb3tqw7Ci5sInTI03EU5zpqYbPjoPH99BVTjj0OsF53jP5MxwnLI5Hm21lUn1d6A==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" @@ -4914,13 +2194,14 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.7.26", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.26.tgz", - "integrity": "sha512-az3cibZdsay2HNKmc4bjf62QVukuiMRh5sfM5kHR/JMTrLyS6vSw7Ihs3UTkZjUxkLTT8ro54LI6sV6sUQUbLQ==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.9.2.tgz", + "integrity": "sha512-9gD+bwBz8ZByjP6nZTXe/hzd0tySIAjpDHgkFiUrc+5zGF+rdTwhcNrzxNHJmy6mw+PW38jqII4uspFHUqqxuQ==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" @@ -4930,13 +2211,14 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.7.26", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.26.tgz", - "integrity": "sha512-VYPFVJDO5zT5U3RpCdHE5v1gz4mmR8BfHecUZTmD2v1JeFY6fv9KArJUpjrHEEsjK/ucXkQFmJ0jaiWXmpOV9Q==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.9.2.tgz", + "integrity": "sha512-kYq8ief1Qrn+WmsTWAYo4r+Coul4dXN6cLFjiPZ29Cv5pyU+GFvSPAB4bEdMzwy99rCR0u2P10UExaeCjurjvg==", "cpu": [ "arm" ], "dev": true, + "license": "Apache-2.0", "optional": true, "os": [ "linux" @@ -4946,13 +2228,14 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.7.26", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.26.tgz", - "integrity": "sha512-YKevOV7abpjcAzXrhsl+W48Z9mZvgoVs2eP5nY+uoMAdP2b3GxC0Df1Co0I90o2lkzO4jYBpTMcZlmUXLdXn+Q==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.9.2.tgz", + "integrity": "sha512-n0W4XiXlmEIVqxt+rD3ZpkogsEWUk1jJ+i5bQNgB+1JuWh0fBE8c/blDgTQXa0GB5lTPVDZQussgdNOCnAZwiA==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -4962,13 +2245,14 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.7.26", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.26.tgz", - "integrity": "sha512-3w8iZICMkQQON0uIcvz7+Q1MPOW6hJ4O5ETjA0LSP/tuKqx30hIniCGOgPDnv3UTMruLUnQbtBwVCZTBKR3Rkg==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.9.2.tgz", + "integrity": "sha512-8xzrOmsyCC1zrx2Wzx/h8dVsdewO1oMCwBTLc1gSJ/YllZYTb04pNm6NsVbzUX2tKddJVRgSJXV10j/NECLwpA==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -4978,13 +2262,14 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.7.26", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.26.tgz", - "integrity": "sha512-c+pp9Zkk2lqb06bNGkR2Looxrs7FtGDMA4/aHjZcCqATgp348hOKH5WPvNLBl+yPrISuWjbKDVn3NgAvfvpH4w==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.9.2.tgz", + "integrity": "sha512-kZrNz/PjRQKcchWF6W292jk3K44EoVu1ad5w+zbS4jekIAxsM8WwQ1kd+yjUlN9jFcF8XBat5NKIs9WphJCVXg==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -4994,13 +2279,14 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.7.26", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.26.tgz", - "integrity": "sha512-PgtyfHBF6xG87dUSSdTJHwZ3/8vWZfNIXQV2GlwEpslrOkGqy+WaiiyE7Of7z9AvDILfBBBcJvJ/r8u980wAfQ==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.9.2.tgz", + "integrity": "sha512-TTIpR4rjMkhX1lnFR+PSXpaL83TrQzp9znRdp2TzYrODlUd/R20zOwSo9vFLCyH6ZoD47bccY7QeGZDYT3nlRg==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -5010,13 +2296,14 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.7.26", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.26.tgz", - "integrity": "sha512-9TNXPIJqFynlAOrRD6tUQjMq7KApSklK3R/tXgIxc7Qx+lWu8hlDQ/kVPLpU7PWvMMwC/3hKBW+p5f+Tms1hmA==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.9.2.tgz", + "integrity": "sha512-+Eg2d4icItKC0PMjZxH7cSYFLWk0aIp94LNmOw6tPq0e69ax6oh10upeq0D1fjWsKLmOJAWEvnXlayZcijEXDw==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -5026,13 +2313,14 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.7.26", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.26.tgz", - "integrity": "sha512-9YngxNcG3177GYdsTum4V98Re+TlCeJEP4kEwEg9EagT5s3YejYdKwVAkAsJszzkXuyRDdnHUpYbTrPG6FiXrQ==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.9.2.tgz", + "integrity": "sha512-nLWBi4vZDdM/LkiQmPCakof8Dh1/t5EM7eudue04V1lIcqx9YHVRS3KMwEaCoHLGg0c312Wm4YgrWQd9vwZ5zQ==", "cpu": [ "ia32" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -5042,13 +2330,14 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.7.26", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.26.tgz", - "integrity": "sha512-VR+hzg9XqucgLjXxA13MtV5O3C0bK0ywtLIBw/+a+O+Oc6mxFWHtdUeXDbIi5AiPbn0fjgVJMqYnyjGyyX8u0w==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.9.2.tgz", + "integrity": "sha512-ik/k+JjRJBFkXARukdU82tSVx0CbExFQoQ78qTO682esbYXzjdB5eLVkoUbwen299pnfr88Kn4kyIqFPTje8Xw==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -5061,22 +2350,25 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/@swc/helpers": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz", - "integrity": "sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==", + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "tslib": "^2.4.0" + "tslib": "^2.8.0" } }, "node_modules/@swc/types": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.12.tgz", - "integrity": "sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==", + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.15.tgz", + "integrity": "sha512-XKaZ+dzDIQ9Ot9o89oJQ/aluI17+VvUnIpYJTcZtvv1iYX6MzHh3Ik2CSR7MdPKpPwfZXHBeCingb2b4PoDVdw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3" } @@ -5090,6 +2382,20 @@ "node": ">=10.13.0" } }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { "version": "22.9.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", @@ -5107,35 +2413,38 @@ "dev": true }, "node_modules/@types/react": { - "version": "18.3.11", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.11.tgz", - "integrity": "sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==", + "version": "18.3.12", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.12.tgz", + "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", "dev": true, + "license": "MIT", "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", - "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/react": "*" } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.8.0.tgz", - "integrity": "sha512-wORFWjU30B2WJ/aXBfOm1LX9v9nyt9D3jsSOxC3cCaTQGCW5k4jNpmjFv3U7p/7s4yvdjHzwtv2Sd2dOyhjS0A==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.15.0.tgz", + "integrity": "sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.8.0", - "@typescript-eslint/type-utils": "8.8.0", - "@typescript-eslint/utils": "8.8.0", - "@typescript-eslint/visitor-keys": "8.8.0", + "@typescript-eslint/scope-manager": "8.15.0", + "@typescript-eslint/type-utils": "8.15.0", + "@typescript-eslint/utils": "8.15.0", + "@typescript-eslint/visitor-keys": "8.15.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -5159,15 +2468,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.8.0.tgz", - "integrity": "sha512-uEFUsgR+tl8GmzmLjRqz+VrDv4eoaMqMXW7ruXfgThaAShO9JTciKpEsB+TvnfFfbg5IpujgMXVV36gOJRLtZg==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.15.0.tgz", + "integrity": "sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "8.8.0", - "@typescript-eslint/types": "8.8.0", - "@typescript-eslint/typescript-estree": "8.8.0", - "@typescript-eslint/visitor-keys": "8.8.0", + "@typescript-eslint/scope-manager": "8.15.0", + "@typescript-eslint/types": "8.15.0", + "@typescript-eslint/typescript-estree": "8.15.0", + "@typescript-eslint/visitor-keys": "8.15.0", "debug": "^4.3.4" }, "engines": { @@ -5187,13 +2497,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.8.0.tgz", - "integrity": "sha512-EL8eaGC6gx3jDd8GwEFEV091210U97J0jeEHrAYvIYosmEGet4wJ+g0SYmLu+oRiAwbSA5AVrt6DxLHfdd+bUg==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.15.0.tgz", + "integrity": "sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.8.0", - "@typescript-eslint/visitor-keys": "8.8.0" + "@typescript-eslint/types": "8.15.0", + "@typescript-eslint/visitor-keys": "8.15.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5204,13 +2515,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.8.0.tgz", - "integrity": "sha512-IKwJSS7bCqyCeG4NVGxnOP6lLT9Okc3Zj8hLO96bpMkJab+10HIfJbMouLrlpyOr3yrQ1cA413YPFiGd1mW9/Q==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.15.0.tgz", + "integrity": "sha512-UU6uwXDoI3JGSXmcdnP5d8Fffa2KayOhUUqr/AiBnG1Gl7+7ut/oyagVeSkh7bxQ0zSXV9ptRh/4N15nkCqnpw==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.8.0", - "@typescript-eslint/utils": "8.8.0", + "@typescript-eslint/typescript-estree": "8.15.0", + "@typescript-eslint/utils": "8.15.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -5221,6 +2533,9 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + }, "peerDependenciesMeta": { "typescript": { "optional": true @@ -5228,10 +2543,11 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.8.0.tgz", - "integrity": "sha512-QJwc50hRCgBd/k12sTykOJbESe1RrzmX6COk8Y525C9l7oweZ+1lw9JiU56im7Amm8swlz00DRIlxMYLizr2Vw==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.15.0.tgz", + "integrity": "sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -5241,13 +2557,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.8.0.tgz", - "integrity": "sha512-ZaMJwc/0ckLz5DaAZ+pNLmHv8AMVGtfWxZe/x2JVEkD5LnmhWiQMMcYT7IY7gkdJuzJ9P14fRy28lUrlDSWYdw==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.15.0.tgz", + "integrity": "sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "8.8.0", - "@typescript-eslint/visitor-keys": "8.8.0", + "@typescript-eslint/types": "8.15.0", + "@typescript-eslint/visitor-keys": "8.15.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -5273,6 +2590,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -5282,6 +2600,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -5293,15 +2612,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.8.0.tgz", - "integrity": "sha512-QE2MgfOTem00qrlPgyByaCHay9yb1+9BjnMFnSFkUKQfu7adBXDTnCAivURnuPPAG/qiB+kzKkZKmKfaMT0zVg==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.15.0.tgz", + "integrity": "sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.8.0", - "@typescript-eslint/types": "8.8.0", - "@typescript-eslint/typescript-estree": "8.8.0" + "@typescript-eslint/scope-manager": "8.15.0", + "@typescript-eslint/types": "8.15.0", + "@typescript-eslint/typescript-estree": "8.15.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5312,16 +2632,22 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.8.0.tgz", - "integrity": "sha512-8mq51Lx6Hpmd7HnA2fcHQo3YgfX1qbccxQOgZcb4tvasu//zXRaA1j5ZRFeCw/VRAdFi4mRM9DnZw0Nu0Q2d1g==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.15.0.tgz", + "integrity": "sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.8.0", - "eslint-visitor-keys": "^3.4.3" + "@typescript-eslint/types": "8.15.0", + "eslint-visitor-keys": "^4.2.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5331,6 +2657,19 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/@uidotdev/usehooks": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/@uidotdev/usehooks/-/usehooks-2.4.1.tgz", @@ -5344,12 +2683,6 @@ "react-dom": ">=18.0.0" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, "node_modules/@xml-tools/parser": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/@xml-tools/parser/-/parser-1.0.11.tgz", @@ -5374,21 +2707,6 @@ "integrity": "sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==", "dev": true }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "deprecated": "Use your platform's native atob() and btoa() methods instead", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/abortcontroller-polyfill": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", - "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", - "dev": true - }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -5403,36 +2721,11 @@ } }, "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -5445,26 +2738,17 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -5515,15 +2799,19 @@ } }, "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/arch": { @@ -5560,17 +2848,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-equal": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.2.tgz", - "integrity": "sha512-gUHx76KtnhEgB3HOuFYiCm3FIdEs6ocM2asHvNTkfu/Y09qQVrrVVaOKENmS2KkSaGoxgXNqC+ZVtR/n0MOkSA==", - "dev": true, - "optional": true, - "peer": true, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/array-includes": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", @@ -5685,44 +2962,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -5738,25 +2977,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", - "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -5768,21 +2988,11 @@ "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "^5.0.1" } }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -5841,6 +3051,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -5848,18 +3059,10 @@ "node": ">=8" } }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/browserslist": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", - "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", "dev": true, "funding": [ { @@ -5875,11 +3078,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001663", - "electron-to-chromium": "^1.5.28", + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -5888,14 +3092,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -5933,24 +3129,10 @@ "node": ">=14.16" } }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, "node_modules/caniuse-lite": { - "version": "1.0.30001666", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001666.tgz", - "integrity": "sha512-gD14ICmoV5ZZM1OdzPWmpx+q4GyefaK06zi8hmfHV5xe4/2nOQX3+Dw5o+fSqOws2xVwL9j+anOPFwHzdEdV4g==", + "version": "1.0.30001680", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz", + "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==", "dev": true, "funding": [ { @@ -5965,104 +3147,36 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true, - "optional": true, - "peer": true + ], + "license": "CC-BY-4.0" }, "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/chalk-template/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chalk-template/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { "node": ">=10" - } - }, - "node_modules/chalk-template/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/chalk-template/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/chalk-template/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chalk-template/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "chalk": "^4.1.2" }, "engines": { - "node": ">=8" + "node": ">=12" } }, "node_modules/chevrotain": { @@ -6096,6 +3210,7 @@ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0" } @@ -6137,36 +3252,6 @@ "node": ">=12" } }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cliui/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/cliui/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -6206,55 +3291,41 @@ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, - "optional": true, - "peer": true + "license": "MIT" }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=18" } }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", @@ -6313,10 +3384,11 @@ "dev": true }, "node_modules/concurrently": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.0.1.tgz", - "integrity": "sha512-wYKvCd/f54sTXJMSfV6Ln/B8UrfLBKOYa+lzc6CHay3Qek+LorVSBdMVfyewFhRbH0Rbabsk4D+3PL/VjQ5gzg==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.1.0.tgz", + "integrity": "sha512-VxkzwMAn4LP7WyMnJNbHN5mKV9L2IbyDjpzemKr99sXNR3GqRNMMHdm7prV1ws9wg7ETj6WUkNOigZVsptwbgg==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.2", "lodash": "^4.17.21", @@ -6332,70 +3404,9 @@ }, "engines": { "node": ">=18" - } - }, - "node_modules/concurrently/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/concurrently/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/concurrently/node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/concurrently/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/concurrently/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/concurrently/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" } }, "node_modules/concurrently/node_modules/supports-color": { @@ -6415,120 +3426,132 @@ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" }, "engines": { - "node": ">= 8" + "node": ">= 8" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true, - "optional": true, - "peer": true, - "bin": { - "cssesc": "bin/cssesc" - }, "engines": { - "node": ">=4" + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", "dev": true, "dependencies": { - "css-tree": "^1.1.2" + "css-tree": "~2.2.0" }, "engines": { - "node": ">=8.0.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, "node_modules/csso/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", "dev": true, "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" }, "engines": { - "node": ">=8.0.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", "dev": true }, - "node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/cssstyle": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", - "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "cssom": "0.3.x" - } - }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - } - }, "node_modules/data-view-buffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", @@ -6646,22 +3669,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/detect-libc": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", "dev": true, + "license": "Apache-2.0", "bin": { "detect-libc": "bin/detect-libc.js" }, @@ -6669,35 +3682,93 @@ "node": ">=0.10" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, + "license": "MIT", "dependencies": { - "esutils": "^2.0.2" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" }, "engines": { - "node": ">=6.0.0" + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "deprecated": "Use your platform's native DOMException instead", + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", "dev": true, - "optional": true, - "peer": true, + "license": "BSD-2-Clause", "dependencies": { - "webidl-conversions": "^4.0.2" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz", + "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } }, "node_modules/eastasianwidth": { "version": "0.2.0", @@ -6705,23 +3776,12 @@ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "node_modules/electron-to-chromium": { - "version": "1.5.31", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.31.tgz", - "integrity": "sha512-QcDoBbQeYt0+3CWcK/rEbuHvwpbT/8SV9T3OSgs6cX1FlcUAkgrkqbg9zLnDrMM/rLamzQwal4LYFCiWk861Tg==", - "dev": true + "version": "1.5.63", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.63.tgz", + "integrity": "sha512-ddeXKuY9BHo/mw145axlyWjlJ1UBt4WK3AlvkT7W2AbqfRQoacVoRUCF6wL3uIx/8wT9oLKXzI+rFqHHscByaA==", + "dev": true, + "license": "ISC" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -6730,10 +3790,14 @@ "dev": true }, "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -6743,6 +3807,7 @@ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -6752,6 +3817,7 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } @@ -6838,10 +3904,11 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", - "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz", + "integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -6850,12 +3917,13 @@ "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2", "has-proto": "^1.0.3", "has-symbols": "^1.0.3", "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.2", + "iterator.prototype": "^1.1.3", "safe-array-concat": "^1.1.2" }, "engines": { @@ -6923,69 +3991,64 @@ "node": ">=6" } }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/eslint": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "version": "9.15.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.15.0.tgz", + "integrity": "sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.9.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.15.0", + "@eslint/plugin-kit": "^0.2.3", + "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", + "@humanwhocodes/retry": "^0.4.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.5", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, "node_modules/eslint-config-prettier": { @@ -7001,17 +4064,18 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.37.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.1.tgz", - "integrity": "sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==", + "version": "7.37.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", + "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", "dev": true, + "license": "MIT", "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", "array.prototype.flatmap": "^1.3.2", "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.19", + "es-iterator-helpers": "^1.1.0", "estraverse": "^5.3.0", "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", @@ -7033,15 +4097,16 @@ } }, "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", - "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0.tgz", + "integrity": "sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, "node_modules/eslint-plugin-react/node_modules/doctrine": { @@ -7056,15 +4121,6 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-react/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/eslint-plugin-react/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -7075,30 +4131,22 @@ } }, "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-scope/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", @@ -7111,55 +4159,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -7172,26 +4171,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, + "license": "Apache-2.0", "engines": { - "node": ">= 0.8.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/optionator": { @@ -7211,69 +4201,35 @@ "node": ">= 0.8.0" } }, - "node_modules/eslint/node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.9.0", + "acorn": "^8.14.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "eslint-visitor-keys": "^4.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, - "optional": true, - "peer": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, + "license": "Apache-2.0", "engines": { - "node": ">=4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esquery": { @@ -7288,20 +4244,12 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -7309,22 +4257,12 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { + "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "optional": true, - "peer": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -7358,25 +4296,6 @@ "node": ">=10" } }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "optional": true, - "peer": true - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -7388,6 +4307,7 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -7404,6 +4324,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -7415,7 +4336,8 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -7423,15 +4345,6 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, - "node_modules/fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "dev": true, - "dependencies": { - "punycode": "^1.3.2" - } - }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -7442,15 +4355,16 @@ } }, "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, + "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, "node_modules/fill-range": { @@ -7458,6 +4372,7 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -7482,24 +4397,25 @@ } }, "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "keyv": "^4.5.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16" } }, "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "dev": true, + "license": "ISC" }, "node_modules/for-each": { "version": "0.3.3", @@ -7510,71 +4426,6 @@ "is-callable": "^1.1.3" } }, - "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -7687,38 +4538,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -7732,15 +4551,13 @@ } }, "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "version": "15.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.12.0.tgz", + "integrity": "sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7763,9 +4580,10 @@ } }, "node_modules/goober": { - "version": "2.1.14", - "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.14.tgz", - "integrity": "sha512-4UpC0NdGyAFqLNPnhCT2iHpza2q+RAY3GV85a/mRPdzyPQMsj0KmMMuetdIkzWRbJ+Hgau1EZztq8ImmiMGhsg==", + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.16.tgz", + "integrity": "sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==", + "license": "MIT", "peerDependencies": { "csstype": "^3.0.10" } @@ -7788,33 +4606,6 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -7825,12 +4616,13 @@ } }, "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/has-property-descriptors": { @@ -7896,43 +4688,72 @@ "node": ">= 0.4" } }, - "node_modules/html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "node_modules/htmlnano": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.1.1.tgz", + "integrity": "sha512-kAERyg/LuNZYmdqgCdYvugyLWNFAm8MWXpQMz1pLpetmCbFwoMxvkSoaAMlFrOC4OKTWI4KlZGT/RsNxg4ghOw==", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "whatwg-encoding": "^1.0.1" - } - }, - "node_modules/html-tags": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-1.2.0.tgz", - "integrity": "sha512-uVteDXUCs08M7QJx0eY6ue7qQztwIfknap81vAtNob2sdEPKa8PjPinx0vxbs2JONPamovZjMvKZWNW44/PBKg==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.10.0" + "cosmiconfig": "^9.0.0", + "posthtml": "^0.16.5", + "timsort": "^0.3.0" + }, + "peerDependencies": { + "cssnano": "^7.0.0", + "postcss": "^8.3.11", + "purgecss": "^6.0.0", + "relateurl": "^0.2.7", + "srcset": "5.0.1", + "svgo": "^3.0.2", + "terser": "^5.10.0", + "uncss": "^0.17.3" + }, + "peerDependenciesMeta": { + "cssnano": { + "optional": true + }, + "postcss": { + "optional": true + }, + "purgecss": { + "optional": true + }, + "relateurl": { + "optional": true + }, + "srcset": { + "optional": true + }, + "svgo": { + "optional": true + }, + "terser": { + "optional": true + }, + "uncss": { + "optional": true + } } }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "node_modules/htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", "dev": true, - "optional": true, - "peer": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" } }, "node_modules/human-signals": { @@ -7944,20 +4765,6 @@ "node": ">=10.17.0" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", @@ -7998,31 +4805,6 @@ "node": ">=0.8.19" } }, - "node_modules/indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", @@ -8063,13 +4845,15 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-async-function": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -8191,6 +4975,7 @@ "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -8212,6 +4997,7 @@ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -8234,31 +5020,19 @@ "node": ">=0.10.0" } }, - "node_modules/is-html": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-html/-/is-html-1.1.0.tgz", - "integrity": "sha512-eoGsQVAAyvLFRKnbt4jo7Il56agsH5I04pDymPoxRp/tnna5yiIpdNzvKPOy5G1Ff0zY/jfN2hClb7ju+sOrdA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "html-tags": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-json": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -8283,6 +5057,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -8302,15 +5077,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-port-reachable": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", @@ -8341,6 +5107,7 @@ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -8417,19 +5184,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/is-weakmap": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -8454,6 +5214,7 @@ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4" @@ -8484,13 +5245,13 @@ "dev": true }, "node_modules/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.4.tgz", + "integrity": "sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ==", "dev": true, "license": "MIT", "engines": { - "node": ">= 8.0.0" + "node": ">= 18.0.0" }, "funding": { "url": "https://github.com/sponsors/gjtorikian/" @@ -8502,42 +5263,21 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/iterator.prototype": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", - "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz", + "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", "dev": true, + "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", "reflect.getprototypeof": "^1.0.4", "set-function-name": "^2.0.1" - } - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "engines": { + "node": ">= 0.4" } }, "node_modules/java-parser": { @@ -8568,127 +5308,26 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/jsdom": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-14.1.0.tgz", - "integrity": "sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "abab": "^2.0.0", - "acorn": "^6.0.4", - "acorn-globals": "^4.3.0", - "array-equal": "^1.0.0", - "cssom": "^0.3.4", - "cssstyle": "^1.1.1", - "data-urls": "^1.1.0", - "domexception": "^1.0.1", - "escodegen": "^1.11.0", - "html-encoding-sniffer": "^1.0.2", - "nwsapi": "^2.1.3", - "parse5": "5.1.0", - "pn": "^1.1.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.5", - "saxes": "^3.1.9", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.5.0", - "w3c-hr-time": "^1.0.1", - "w3c-xmlserializer": "^1.1.2", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^7.0.0", - "ws": "^6.1.2", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jsdom/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, - "optional": true, - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/jsdom/node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/jsdom/node_modules/ws": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", - "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "async-limiter": "~1.0.0" - } - }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true, - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -8696,29 +5335,17 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" + "license": "MIT", + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": ">=0.6.0" + "node": ">=6" } }, "node_modules/jsx-ast-utils": { @@ -8741,30 +5368,31 @@ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } }, "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/lightningcss": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.27.0.tgz", - "integrity": "sha512-8f7aNmS1+etYSLHht0fQApPc2kNO8qGRutifN5rVIc6Xo6ABsEbqOr758UwI7ALVbTt4x1fllKt0PYgzD9S3yQ==", + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.28.1.tgz", + "integrity": "sha512-KRDkHlLlNj3DWh79CDt93fPlRJh2W1AuHV0ZSZAMMuN7lqlsZTV5842idfS1urWG8q9tc17velp1gCXhY7sLnQ==", "dev": true, + "license": "MPL-2.0", "dependencies": { "detect-libc": "^1.0.3" }, @@ -8776,26 +5404,27 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "lightningcss-darwin-arm64": "1.27.0", - "lightningcss-darwin-x64": "1.27.0", - "lightningcss-freebsd-x64": "1.27.0", - "lightningcss-linux-arm-gnueabihf": "1.27.0", - "lightningcss-linux-arm64-gnu": "1.27.0", - "lightningcss-linux-arm64-musl": "1.27.0", - "lightningcss-linux-x64-gnu": "1.27.0", - "lightningcss-linux-x64-musl": "1.27.0", - "lightningcss-win32-arm64-msvc": "1.27.0", - "lightningcss-win32-x64-msvc": "1.27.0" + "lightningcss-darwin-arm64": "1.28.1", + "lightningcss-darwin-x64": "1.28.1", + "lightningcss-freebsd-x64": "1.28.1", + "lightningcss-linux-arm-gnueabihf": "1.28.1", + "lightningcss-linux-arm64-gnu": "1.28.1", + "lightningcss-linux-arm64-musl": "1.28.1", + "lightningcss-linux-x64-gnu": "1.28.1", + "lightningcss-linux-x64-musl": "1.28.1", + "lightningcss-win32-arm64-msvc": "1.28.1", + "lightningcss-win32-x64-msvc": "1.28.1" } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.27.0.tgz", - "integrity": "sha512-Gl/lqIXY+d+ySmMbgDf0pgaWSqrWYxVHoc88q+Vhf2YNzZ8DwoRzGt5NZDVqqIW5ScpSnmmjcgXP87Dn2ylSSQ==", + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.28.1.tgz", + "integrity": "sha512-VG3vvzM0m/rguCdm76DdobNeNJnHK+jWcdkNLFWHLh9YCotRvbRIt45JxwcHlIF8TDqWStVLTdghq5NaigVCBQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "darwin" @@ -8809,13 +5438,14 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.27.0.tgz", - "integrity": "sha512-0+mZa54IlcNAoQS9E0+niovhyjjQWEMrwW0p2sSdLRhLDc8LMQ/b67z7+B5q4VmjYCMSfnFi3djAAQFIDuj/Tg==", + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.28.1.tgz", + "integrity": "sha512-O7ORdislvKfMohFl4Iq7fxKqdJOuuxArcglVI3amuFO5DJ0wfV3Gxgi1JRo49slfr7OVzJQEHLG4muTWYM5cTQ==", "cpu": [ "x64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "darwin" @@ -8829,13 +5459,14 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.27.0.tgz", - "integrity": "sha512-n1sEf85fePoU2aDN2PzYjoI8gbBqnmLGEhKq7q0DKLj0UTVmOTwDC7PtLcy/zFxzASTSBlVQYJUhwIStQMIpRA==", + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.28.1.tgz", + "integrity": "sha512-b7sF89B31kYYijxVcFO7l5u6UNA862YstNu+3YbLl/IQKzveL4a5cwR5cdpG+OOhErg/c2u9WCmzZoX2I5GBvw==", "cpu": [ "x64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "freebsd" @@ -8849,13 +5480,14 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.27.0.tgz", - "integrity": "sha512-MUMRmtdRkOkd5z3h986HOuNBD1c2lq2BSQA1Jg88d9I7bmPGx08bwGcnB75dvr17CwxjxD6XPi3Qh8ArmKFqCA==", + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.28.1.tgz", + "integrity": "sha512-p61kXwvhUDLLzkWHjzSFfUBW/F0iy3jr3CWi3k8SKULtJEsJXTI9DqRm9EixxMSe2AMBQBt4auTYiQL4B1N51A==", "cpu": [ "arm" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "linux" @@ -8869,13 +5501,14 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.27.0.tgz", - "integrity": "sha512-cPsxo1QEWq2sfKkSq2Bq5feQDHdUEwgtA9KaB27J5AX22+l4l0ptgjMZZtYtUnteBofjee+0oW1wQ1guv04a7A==", + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.28.1.tgz", + "integrity": "sha512-iO+fN9hOMmzfwqcG2/BgUtMKD48H2JO/SXU44fyIwpY2veb65QF5xiRrQ9l1FwIxbGK3231KBYCtAqv+xf+NsQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "linux" @@ -8889,13 +5522,14 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.27.0.tgz", - "integrity": "sha512-rCGBm2ax7kQ9pBSeITfCW9XSVF69VX+fm5DIpvDZQl4NnQoMQyRwhZQm9pd59m8leZ1IesRqWk2v/DntMo26lg==", + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.28.1.tgz", + "integrity": "sha512-dnMHeXEmCUzHHZjaDpQBYuBKcN9nPC3nPFKl70bcj5Bkn5EmkcgEqm5p035LKOgvAwk1XwLpQCML6pXmCwz0NQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "linux" @@ -8909,13 +5543,14 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.27.0.tgz", - "integrity": "sha512-Dk/jovSI7qqhJDiUibvaikNKI2x6kWPN79AQiD/E/KeQWMjdGe9kw51RAgoWFDi0coP4jinaH14Nrt/J8z3U4A==", + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.28.1.tgz", + "integrity": "sha512-7vWDISaMUn+oo2TwRdf2hl/BLdPxvywv9JKEqNZB/0K7bXwV4XE9wN/C2sAp1gGuh6QBA8lpjF4JIPt3HNlCHA==", "cpu": [ "x64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "linux" @@ -8929,13 +5564,14 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.27.0.tgz", - "integrity": "sha512-QKjTxXm8A9s6v9Tg3Fk0gscCQA1t/HMoF7Woy1u68wCk5kS4fR+q3vXa1p3++REW784cRAtkYKrPy6JKibrEZA==", + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.28.1.tgz", + "integrity": "sha512-IHCu9tVGP+x5BCpA2rF3D04DBokcBza/a8AuHQU+1AiMKubuMegPwcL7RatBgK4ztFHeYnnD5NdhwhRfYMAtNA==", "cpu": [ "x64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "linux" @@ -8949,13 +5585,14 @@ } }, "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.27.0.tgz", - "integrity": "sha512-/wXegPS1hnhkeG4OXQKEMQeJd48RDC3qdh+OA8pCuOPCyvnm/yEayrJdJVqzBsqpy1aJklRCVxscpFur80o6iQ==", + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.28.1.tgz", + "integrity": "sha512-Erm72kHmMg/3h350PTseskz+eEGBM17Fuu79WW2Qqt0BfWSF1jHHc12lkJCWMYl5jcBHPs5yZdgNHtJ7IJS3Uw==", "cpu": [ "arm64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "win32" @@ -8969,13 +5606,14 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.27.0.tgz", - "integrity": "sha512-/OJLj94Zm/waZShL8nB5jsNj3CfNATLCTyFxZyouilfTmSoLDX7VlVAmhPHoZWVFp4vdmoiEbPEYC8HID3m6yw==", + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.28.1.tgz", + "integrity": "sha512-ZPQtvx+uQBzrSdHH8p4H3M9Alue+x369TPZAA3b4K3d92FPhpZCuBG04+HQzspam9sVeID9mI6f3VRAs2ezaEA==", "cpu": [ "x64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "win32" @@ -8988,25 +5626,12 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/lilconfig": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lmdb": { "version": "2.8.5", @@ -9014,6 +5639,7 @@ "integrity": "sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ==", "dev": true, "hasInstallScript": true, + "license": "MIT", "dependencies": { "msgpackr": "^1.9.5", "node-addon-api": "^6.1.0", @@ -9037,7 +5663,8 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/locate-path": { "version": "6.0.0", @@ -9066,36 +5693,12 @@ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", "dev": true }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -9107,6 +5710,12 @@ "loose-envify": "cli.js" } }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -9118,6 +5727,7 @@ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -9127,6 +5737,7 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -9136,16 +5747,16 @@ } }, "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", "dev": true, "license": "MIT", "bin": { "mime": "cli.js" }, "engines": { - "node": ">=4.0.0" + "node": ">=10.0.0" } }, "node_modules/mime-db": { @@ -9196,17 +5807,6 @@ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/monaco-editor": { "version": "0.52.0", "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.52.0.tgz", @@ -9219,10 +5819,11 @@ "dev": true }, "node_modules/msgpackr": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.0.tgz", - "integrity": "sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==", + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.2.tgz", + "integrity": "sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g==", "dev": true, + "license": "MIT", "optionalDependencies": { "msgpackr-extract": "^3.0.2" } @@ -9233,6 +5834,7 @@ "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "dependencies": { "node-gyp-build-optional-packages": "5.2.2" @@ -9254,6 +5856,7 @@ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", "dev": true, + "license": "Apache-2.0", "optional": true, "engines": { "node": ">=8" @@ -9264,6 +5867,7 @@ "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "detect-libc": "^2.0.1" @@ -9274,26 +5878,6 @@ "node-gyp-build-optional-packages-test": "build-test.js" } }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "optional": true, - "peer": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -9309,11 +5893,19 @@ "node": ">= 0.6" } }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT" + }, "node_modules/node-gyp-build-optional-packages": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz", "integrity": "sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==", "dev": true, + "license": "MIT", "dependencies": { "detect-libc": "^2.0.1" }, @@ -9328,6 +5920,7 @@ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=8" } @@ -9336,7 +5929,8 @@ "version": "2.0.18", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/npm-run-path": { "version": "4.0.1", @@ -9350,30 +5944,24 @@ "node": ">=8" } }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, "node_modules/nullthrows": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", - "dev": true - }, - "node_modules/nwsapi": { - "version": "2.2.13", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.13.tgz", - "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "*" - } + "license": "MIT" }, "node_modules/object-assign": { "version": "4.1.1", @@ -9481,15 +6069,6 @@ "node": ">= 0.8" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -9502,30 +6081,12 @@ "node": ">=6" } }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/ordered-binary": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.2.tgz", - "integrity": "sha512-JTo+4+4Fw7FreyAvlSLjb1BBVaxEQAacmjD3jjuyPZclpbEghTvQZbXBb2qPd2LeIMxiHwXBZUcpmG2Gl/mDEA==", - "dev": true + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.3.tgz", + "integrity": "sha512-oGFr3T+pYdTGJ+YFEILMpS3es+GiIbs9h/XQrclBXUtd44ey7XwfsMzM31f64I1SQOawDoDr/D823kNCADI8TA==", + "dev": true, + "license": "MIT" }, "node_modules/p-limit": { "version": "3.1.0", @@ -9557,182 +6118,38 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/parcel": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.12.0.tgz", - "integrity": "sha512-W+gxAq7aQ9dJIg/XLKGcRT0cvnStFAQHPaI0pvD0U2l6IVLueUAm3nwN7lkY62zZNmlvNx6jNtE4wlbS+CyqSg==", - "dev": true, - "dependencies": { - "@parcel/config-default": "2.12.0", - "@parcel/core": "2.12.0", - "@parcel/diagnostic": "2.12.0", - "@parcel/events": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/package-manager": "2.12.0", - "@parcel/reporter-cli": "2.12.0", - "@parcel/reporter-dev-server": "2.12.0", - "@parcel/reporter-tracer": "2.12.0", - "@parcel/utils": "2.12.0", - "chalk": "^4.1.0", - "commander": "^7.0.0", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.13.0.tgz", + "integrity": "sha512-3IsoqffuH7H/RLrvz3nS6UezJb+iE/L0xTukDTkZNOLUhwI3EW75S6FLCPs+UGTlzqvoCgf7IkyTSRFln9C4rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/config-default": "2.13.0", + "@parcel/core": "2.13.0", + "@parcel/diagnostic": "2.13.0", + "@parcel/events": "2.13.0", + "@parcel/feature-flags": "2.13.0", + "@parcel/fs": "2.13.0", + "@parcel/logger": "2.13.0", + "@parcel/package-manager": "2.13.0", + "@parcel/reporter-cli": "2.13.0", + "@parcel/reporter-dev-server": "2.13.0", + "@parcel/reporter-tracer": "2.13.0", + "@parcel/utils": "2.13.0", + "chalk": "^4.1.2", + "commander": "^12.1.0", "get-port": "^4.2.0" }, "bin": { "parcel": "lib/bin.js" }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/parcel/node_modules/@parcel/fs": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.12.0.tgz", - "integrity": "sha512-NnFkuvou1YBtPOhTdZr44WN7I60cGyly2wpHzqRl62yhObyi1KvW0SjwOMa0QGNcBOIzp4G0CapoZ93hD0RG5Q==", - "dev": true, - "dependencies": { - "@parcel/rust": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/watcher": "^2.0.7", - "@parcel/workers": "2.12.0" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" - } - }, - "node_modules/parcel/node_modules/@parcel/watcher": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", - "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", - "dev": true, - "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.4.1", - "@parcel/watcher-darwin-arm64": "2.4.1", - "@parcel/watcher-darwin-x64": "2.4.1", - "@parcel/watcher-freebsd-x64": "2.4.1", - "@parcel/watcher-linux-arm-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-musl": "2.4.1", - "@parcel/watcher-linux-x64-glibc": "2.4.1", - "@parcel/watcher-linux-x64-musl": "2.4.1", - "@parcel/watcher-win32-arm64": "2.4.1", - "@parcel/watcher-win32-ia32": "2.4.1", - "@parcel/watcher-win32-x64": "2.4.1" - } - }, - "node_modules/parcel/node_modules/@parcel/workers": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.12.0.tgz", - "integrity": "sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/profiler": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" - } - }, - "node_modules/parcel/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/parcel/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/parcel/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/parcel/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/parcel/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" } }, "node_modules/parcel/node_modules/get-port": { @@ -9744,33 +6161,6 @@ "node": ">=6" } }, - "node_modules/parcel/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/parcel/node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true - }, - "node_modules/parcel/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -9792,13 +6182,24 @@ "node": ">=6" } }, - "node_modules/parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, - "optional": true, - "peer": true + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/path-exists": { "version": "4.0.0", @@ -9809,20 +6210,12 @@ "node": ">=8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "dev": true + "dev": true, + "license": "(WTFPL OR MIT)" }, "node_modules/path-key": { "version": "3.1.1", @@ -9839,57 +6232,26 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", - "dev": true - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", + "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", "dev": true, - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -9898,13 +6260,13 @@ } }, "node_modules/playwright": { - "version": "1.48.2", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.48.2.tgz", - "integrity": "sha512-NjYvYgp4BPmiwfe31j4gHLa3J7bD2WiBz8Lk2RoSsmX38SVIARZ18VYjxLjAcDsAhA+F4iSEXTSGgjua0rrlgQ==", + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.49.0.tgz", + "integrity": "sha512-eKpmys0UFDnfNb3vfsf8Vx2LEOtflgRebl0Im2eQQnYMA4Aqd+Zw8bEOB+7ZKvN76901mRnqdsiOGKxzVTbi7A==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.48.2" + "playwright-core": "1.49.0" }, "bin": { "playwright": "cli.js" @@ -9917,9 +6279,9 @@ } }, "node_modules/playwright-core": { - "version": "1.48.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.2.tgz", - "integrity": "sha512-sjjw+qrLFlriJo64du+EK0kJgZzoQPsabGF4lBvsid+3CNIZIYLgnMj9V6JY5VhM2Peh20DJWIVpVljLLnlawA==", + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.49.0.tgz", + "integrity": "sha512-R+3KKTQF3npy5GTiKH/T+kdhoJfJojjHESR1YEWhYuEKRVfVaxH3+4+GvXE5xyCngCxhxnykk0Vlah9v8fs3jA==", "dev": true, "license": "Apache-2.0", "bin": { @@ -9929,14 +6291,6 @@ "node": ">=18" } }, - "node_modules/pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/possible-typed-array-names": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", @@ -9946,55 +6300,161 @@ "node": ">= 0.4" } }, - "node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/posthtml": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", + "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "posthtml-parser": "^0.11.0", + "posthtml-render": "^3.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/posthtml-parser": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.12.1.tgz", + "integrity": "sha512-rYFmsDLfYm+4Ts2Oh4DCDSZPtdC1BLnRXAobypVzX9alj28KGl65dIFtgDY9zB57D0TC4Qxqrawuq/2et1P0GA==", + "dev": true, + "license": "MIT", + "dependencies": { + "htmlparser2": "^9.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/posthtml-render": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-json": "^2.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/posthtml/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/posthtml/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, - "optional": true, - "peer": true, + "license": "BSD-2-Clause", "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "domelementtype": "^2.2.0" }, "engines": { - "node": ">=6.0.0" + "node": ">= 4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "node_modules/posthtml/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, - "optional": true, - "peer": true, + "license": "BSD-2-Clause", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/posthtml/node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=4" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/postcss/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "node_modules/posthtml/node_modules/htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", "dev": true, - "optional": true, - "peer": true + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "node_modules/posthtml/node_modules/posthtml-parser": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", + "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "htmlparser2": "^7.1.1" + }, + "engines": { + "node": ">=12" + } }, "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } @@ -10012,10 +6472,11 @@ } }, "node_modules/prettier-plugin-java": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/prettier-plugin-java/-/prettier-plugin-java-2.6.4.tgz", - "integrity": "sha512-57iGIFM4xSCqzHc4G6RLeC0DJk+i6Vd1JDj5xcIe7GsWZjRSl8WWkpL0f4BB0gZ+jDZ8R1uJaxtnMgnRtzjLDQ==", + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/prettier-plugin-java/-/prettier-plugin-java-2.6.5.tgz", + "integrity": "sha512-2RkPNXyYpP5dRhr04pz45n+e5LXwYWTh1JXrztiCkZTGGokIGYrfwUuGa8csnDoGbP6CDPgVm8zZSIm/9I0SRQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "java-parser": "2.3.2", "lodash": "4.17.21", @@ -10054,31 +6515,6 @@ "react-is": "^16.13.1" } }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - }, - "node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.6" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -10104,6 +6540,7 @@ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -10159,7 +6596,8 @@ "version": "6.0.9", "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/react-is": { "version": "16.13.1", @@ -10168,10 +6606,11 @@ "dev": true }, "node_modules/react-refresh": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", - "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==", + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10181,6 +6620,7 @@ "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -10197,6 +6637,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true, + "license": "MIT" + }, "node_modules/regexp-to-ast": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz", @@ -10243,88 +6690,6 @@ "node": ">=0.10.0" } }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "lodash": "^4.17.19" - }, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "request": "^2.34" - } - }, - "node_modules/request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "engines": { - "node": ">=0.12.0" - }, - "peerDependencies": { - "request": "^2.34" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -10379,22 +6744,6 @@ "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -10482,28 +6831,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/saxes": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", - "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "xmlchars": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/scheduler": { "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", @@ -10517,6 +6844,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -10525,10 +6853,11 @@ } }, "node_modules/serve": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.3.tgz", - "integrity": "sha512-VqUFMC7K3LDGeGnJM9h56D3XGKb6KGgOw0cVNtA26yYXHCcpxf3xwCTUaQoWlVS7i8Jdh3GjQkOB23qsXyjoyQ==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.4.tgz", + "integrity": "sha512-qy1S34PJ/fcY8gjVGszDB3EXiPSk5FKhUa7tQe0UPRddxRidc2V6cNHPNewbE1D7MAkgLuWEt3Vw56vYy73tzQ==", "dev": true, + "license": "MIT", "dependencies": { "@zeit/schemas": "2.36.0", "ajv": "8.12.0", @@ -10539,7 +6868,7 @@ "clipboardy": "3.0.0", "compression": "1.7.4", "is-port-reachable": "4.0.0", - "serve-handler": "6.1.5", + "serve-handler": "6.1.6", "update-check": "1.5.4" }, "bin": { @@ -10550,18 +6879,18 @@ } }, "node_modules/serve-handler": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", - "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", + "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.0.0", "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", "mime-types": "2.1.18", "minimatch": "3.1.2", "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", + "path-to-regexp": "3.3.0", "range-parser": "1.2.0" } }, @@ -10570,6 +6899,7 @@ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -10579,6 +6909,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "dev": true, + "license": "MIT", "dependencies": { "mime-db": "~1.33.0" }, @@ -10696,88 +7027,35 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, - "optional": true, - "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/sshpk": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", - "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "node_modules/srcset": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-5.0.1.tgz", + "integrity": "sha512-/P1UYbGfJVlxZag7aABNRrulEXAwCSDo7fklafOQrantuPTDmYgijJMks2zusPCVzgW9+4P69mq7w6pYuZpgxw==", "dev": true, + "license": "MIT", "optional": true, "peer": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, "engines": { - "node": ">=0.10.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", - "dev": true - }, "node_modules/state-local": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/state-local/-/state-local-1.0.7.tgz", "integrity": "sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==" }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -10795,31 +7073,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", @@ -10944,21 +7197,6 @@ "node": ">=8" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", @@ -10973,6 +7211,7 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -10981,15 +7220,16 @@ } }, "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/supports-preserve-symlinks-flag": { @@ -11004,19 +7244,46 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, - "optional": true, - "peer": true + "engines": { + "node": ">= 10" + } }, "node_modules/term-size": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -11024,23 +7291,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, "node_modules/timsort": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -11048,54 +7311,6 @@ "node": ">=8.0" } }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tough-cookie/node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/tr46/node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -11118,42 +7333,20 @@ } }, "node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "dev": true - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, - "optional": true, - "peer": true + "license": "0BSD" }, "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "prelude-ls": "~1.1.2" + "prelude-ls": "^1.2.1" }, "engines": { "node": ">= 0.8.0" @@ -11164,6 +7357,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -11245,10 +7439,11 @@ } }, "node_modules/typescript": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", - "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -11272,58 +7467,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/uncss": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/uncss/-/uncss-0.17.3.tgz", - "integrity": "sha512-ksdDWl81YWvF/X14fOSw4iu8tESDHFIeyKIeDrK6GEVTQvqJc1WlOEXqostNwOCi3qAj++4EaLsdAgPmUbEyog==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "commander": "^2.20.0", - "glob": "^7.1.4", - "is-absolute-url": "^3.0.1", - "is-html": "^1.1.0", - "jsdom": "^14.1.0", - "lodash": "^4.17.15", - "postcss": "^7.0.17", - "postcss-selector-parser": "6.0.2", - "request": "^2.88.0" - }, - "bin": { - "uncss": "bin/uncss" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/uncss/node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/uncss/node_modules/postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/undici-types": { "version": "6.19.8", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", @@ -11331,14 +7474,6 @@ "dev": true, "license": "MIT" }, - "node_modules/uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/update-browserslist-db": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", @@ -11358,6 +7493,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.0" @@ -11397,35 +7533,16 @@ "node": ">=6" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/utility-types": { "version": "3.11.0", "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "optional": true, - "peer": true, - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -11435,100 +7552,12 @@ "node": ">= 0.8" } }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "optional": true, - "peer": true, - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/verror/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", - "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "domexception": "^1.0.1", - "webidl-conversions": "^4.0.2", - "xml-name-validator": "^3.0.0" - } - }, "node_modules/weak-lru-cache": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", - "dev": true - }, - "node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", "dev": true, - "optional": true, - "peer": true - }, - "node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } + "license": "MIT" }, "node_modules/which": { "version": "2.0.2", @@ -11566,6 +7595,7 @@ "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", "dev": true, + "license": "MIT", "dependencies": { "function.prototype.name": "^1.1.6", "has-tostringtag": "^1.0.2", @@ -11592,6 +7622,7 @@ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, + "license": "MIT", "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", @@ -11662,89 +7693,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", @@ -11784,28 +7732,6 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", diff --git a/package.json b/package.json index 408e76e..852f199 100644 --- a/package.json +++ b/package.json @@ -21,33 +21,38 @@ }, "license": "MIT", "devDependencies": { - "@parcel/optimizer-data-url": "^2.12.0", - "@parcel/transformer-inline-string": "^2.12.0", - "@playwright/test": "^1.48.2", + "@eslint/compat": "^1.2.3", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "^9.15.0", + "@parcel/optimizer-data-url": "^2.13.0", + "@parcel/transformer-inline-string": "^2.13.0", + "@playwright/test": "^1.49.0", "@prettier/plugin-xml": "^3.4.1", "@types/node": "^22.9.0", - "@types/react": "^18.3.11", - "@types/react-dom": "^18.3.0", - "@typescript-eslint/eslint-plugin": "^8.8.0", - "@typescript-eslint/parser": "^8.8.0", + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", + "@typescript-eslint/eslint-plugin": "^8.15.0", + "@typescript-eslint/parser": "^8.15.0", "@uidotdev/usehooks": "^2.4.1", - "concurrently": "^9.0.1", - "eslint": "^8.57.1", + "concurrently": "^9.1.0", + "eslint": "^9.15.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-react": "^7.37.1", - "eslint-plugin-react-hooks": "^4.6.2", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", "get-port-please": "^3.1.2", + "globals": "^15.12.0", "immer": "^10.1.1", - "parcel": "^2.12.0", + "parcel": "^2.13.0", "prettier": "^3.3.3", - "prettier-plugin-java": "^2.6.4", + "prettier-plugin-java": "^2.6.5", "process": "^0.11.10", - "serve": "^14.2.3", - "typescript": "^5.6.2" + "serve": "^14.2.4", + "svgo": "^3.3.2", + "typescript": "^5.6.3" }, "dependencies": { "@monaco-editor/react": "^4.6.0", - "goober": "^2.1.14", + "goober": "^2.1.16", "monaco-editor": "^0.52.0", "react": "^18.3.1", "react-dom": "^18.3.1" diff --git a/src/main/frontend/coral/patchCoralUiCreateElement.ts b/src/main/frontend/coral/patchCoralUiCreateElement.ts index acac8bb..c8ba1f1 100644 --- a/src/main/frontend/coral/patchCoralUiCreateElement.ts +++ b/src/main/frontend/coral/patchCoralUiCreateElement.ts @@ -2,7 +2,6 @@ * Coral UI overrides document.createElement with a version that doesn’t understand when an object is passed as second argument. */ export function patchCoralUiCreateElement() { - // eslint-disable-next-line @typescript-eslint/unbound-method const createElement = document.createElement; if (createElement === Document.prototype.createElement) { diff --git a/src/test/java/com/swisscom/aem/tools/testsupport/FileTestRunHandler.java b/src/test/java/com/swisscom/aem/tools/testsupport/FileTestRunHandler.java index d26fdf7..5bc0756 100644 --- a/src/test/java/com/swisscom/aem/tools/testsupport/FileTestRunHandler.java +++ b/src/test/java/com/swisscom/aem/tools/testsupport/FileTestRunHandler.java @@ -14,13 +14,14 @@ public class FileTestRunHandler implements RunHandler { @Override public void file(@Nonnull File file) { - lastFile = file.getName() + - '.' + - file.getExtension() + - " (" + - file.getMimeType() + - "):\n" + - new String(file.getContents(), StandardCharsets.UTF_8); + lastFile = + file.getName() + + '.' + + file.getExtension() + + " (" + + file.getMimeType() + + "):\n" + + new String(file.getContents(), StandardCharsets.UTF_8); } @Override From 910c4f883746c0787bf63e127afda0657b2e0a3d Mon Sep 17 00:00:00 2001 From: Raphael Schweikert Date: Tue, 19 Nov 2024 16:55:06 +0100 Subject: [PATCH 08/13] test(editor): add basic visual regression tests --- configs/playwright.config.ts | 32 +-------- src/test/playwright/basic.spec.ts | 65 ++++++++++++++++-- .../add-step-1-chromium-linux.png | Bin 0 -> 29108 bytes .../add-step-2-chromium-linux.png | Bin 0 -> 27047 bytes .../add-step-3-chromium-linux.png | Bin 0 -> 26589 bytes .../renders-1-chromium-linux.png | Bin 0 -> 17346 bytes 6 files changed, 62 insertions(+), 35 deletions(-) create mode 100644 src/test/playwright/basic.spec.ts-snapshots/add-step-1-chromium-linux.png create mode 100644 src/test/playwright/basic.spec.ts-snapshots/add-step-2-chromium-linux.png create mode 100644 src/test/playwright/basic.spec.ts-snapshots/add-step-3-chromium-linux.png create mode 100644 src/test/playwright/basic.spec.ts-snapshots/renders-1-chromium-linux.png diff --git a/configs/playwright.config.ts b/configs/playwright.config.ts index f136701..fd2cd8a 100644 --- a/configs/playwright.config.ts +++ b/configs/playwright.config.ts @@ -21,7 +21,7 @@ async function loadConfig(): Promise { workers: process.env.CI ? 1 : undefined, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ reporter: [ - ['html', { open: process.env.CI ? 'never' : 'on-failure', outputFolder: outputDir }], + ['html', { open: 'never', outputFolder: outputDir }], ['junit', { outputFile: `${outputDir}/TEST-playwright.xml` }], ], /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ @@ -41,36 +41,6 @@ async function loadConfig(): Promise { name: 'chromium', use: { ...devices['Desktop Chrome'] }, }, - - { - name: 'firefox', - use: { ...devices['Desktop Firefox'] }, - }, - - { - name: 'webkit', - use: { ...devices['Desktop Safari'] }, - }, - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { ...devices['Pixel 5'] }, - // }, - // { - // name: 'Mobile Safari', - // use: { ...devices['iPhone 12'] }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { ...devices['Desktop Edge'], channel: 'msedge' }, - // }, - // { - // name: 'Google Chrome', - // use: { ...devices['Desktop Chrome'], channel: 'chrome' }, - // }, ], /* Run your local dev server before starting the tests */ diff --git a/src/test/playwright/basic.spec.ts b/src/test/playwright/basic.spec.ts index f3eec79..e6f4b5a 100644 --- a/src/test/playwright/basic.spec.ts +++ b/src/test/playwright/basic.spec.ts @@ -1,8 +1,65 @@ -import { test, expect } from '@playwright/test'; +import { test, expect, Request } from '@playwright/test'; -test('has title', async ({ page }) => { +test('renders', async ({ page }) => { await page.goto('/'); - // Expect a title "to contain" a substring. - await expect(page).toHaveTitle(/JCR Hopper/); + await expect(page).toHaveTitle(/JCR Hopper Script Builder/); + await expect(page).toHaveScreenshot({ fullPage: true }); +}); + +test('add step', async ({ page }) => { + await page.goto('/'); + + await page.getByRole('button', { name: 'Add', exact: true }).click(); + + await expect(page).toHaveScreenshot(); + await page.getByRole('option', { name: 'Query JCR' }).click(); + await page.getByLabel('Log Level: INFO').click(); + await page.getByRole('option', { name: 'TRACE' }).click(); + await expect(page).toHaveScreenshot(); + + const step = page.locator('.hop-config.nodeQuery'); + + await expect(step.locator('summary')).toMatchAriaSnapshot(` +- heading "Query JCR Using SQL2 for SELECT * FROM [cq:Page] AS page" [level=2] +- button "arrow up" [disabled]: + - img "arrow up" +- button "arrow down" [disabled]: + - img "arrow down" +- button "duplicate": + - img "duplicate" +- button "delete": + - img "delete" + `); + await step.getByRole('heading', { name: 'Query JCR Using SQL2 for' }).click(); + await step.getByLabel('Selector Name:').click(); + await step.getByLabel('Selector Name:').fill('page'); + await step.getByLabel('Selector Name:').press('Tab'); + + await expect(step).toHaveScreenshot(); + + let runScriptRequest: Promise | Request = page.waitForRequest('/mock/mock-response.jsonl'); + await page.getByRole('button', { name: 'Run' }).click(); + runScriptRequest = await runScriptRequest; + + expect(runScriptRequest.method()).toBe('POST'); + expect(runScriptRequest.postData()).toContain( + '{"logLevel":"trace","hops":[{"type":"nodeQuery","query":"SELECT * FROM [cq:Page] AS page","queryType":"JCR-SQL2","hops":[],"selectorName":"page"}],"parameters":[]}', + ); + + const output = page.locator('.output'); + + await expect(output).toMatchAriaSnapshot(` + - group: + - text: ▼ + - heading /✅ \\d+\\/\\d+\\/\\d+, \\d+:\\d+:\\d+/ [level=3] + - text: "/trace Starting JCR Hopper with 6 parameters, for 4 of which arguments were passed: \\\\[\\\\] debug JCR Hopper script started at \\\\d+ Some plain text output/" + - img "file csv" + - text: /Test\\.csv text\\/csv;charset=utf-8 \\d+ bytes/ + - link "Download": + - button "Download" + - text: /info JCR Hopper script finished after \\d+[hmsp]+ warn Not saving changes as dry run is enabled error Script execution aborted with exception/ + - button "!!" + `); + }); diff --git a/src/test/playwright/basic.spec.ts-snapshots/add-step-1-chromium-linux.png b/src/test/playwright/basic.spec.ts-snapshots/add-step-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..1efe7cc09ebb5a0a9289bbdbda186c3476caaa17 GIT binary patch literal 29108 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 BY{~!t literal 0 HcmV?d00001 diff --git a/src/test/playwright/basic.spec.ts-snapshots/add-step-3-chromium-linux.png b/src/test/playwright/basic.spec.ts-snapshots/add-step-3-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..4a8394ce256527e78a323293850ca2c4f5fb8096 GIT binary patch literal 26589 zcmeFZWmH^Wv+zkm5(w_Djk~)AXx!Z)xI=J<1Z_OH)4|={A-D&32p-&Noay|ZJMYZB z^W1mlUGr_$eA=r|_m-+%Ri|p7-|28=MJZ$i0t6Ts7-Sh~pehUutRxJ~n`8L5&?{bs z^rz6~jf<+37)<2^(E$t$8H@~2RNXW4c+E#&-R(u>9I`rzl!E`xO*%?cRyiN03CLhP zhs2;Z6W_?mXgl2avqAyVq~qWaV((|(#MzjUs56_cS}CI*s?M)N?j`zJ+&JXZE<4f~ zD~Ba>mq_R+>lhLTJU^V#WLWIKY#PKKbke*qqkL_GV0&88JWaR|t)YLzA3 z1$*OePfNR~7d@E4`Uj2?MO41-6D9KOmhC&FSaK!UhA*7RvnG~jyLZWllI1hxs6Uhb znO#zq$v^&s%>~!n(82FT-*kD?KiC`?mpD)YI%yFWCXt=cD*wCnD$9`)e*kP5Jqb!q z^Y1GDvo4Af91$7VhC6~cy{1DmpO}agU>lmF$gUFvLj^$K*)5uXv$i1d2KXwlSqIZp zI+`_NGDDueD`~_Qg}rmyNjnEVFER^z%{v+XeZ~2~7<2Pn zQOhmlxcP3PQtU2B)(?pd5o7?n-Zeq5Q`SZO((-}H%NLg9sp}IM%wSCPkL4z5Y@E`B z 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 bl60wDRra!={FjHo%X6wqn&5)RFW>wJ+$qu= literal 0 HcmV?d00001 diff --git a/src/test/playwright/basic.spec.ts-snapshots/renders-1-chromium-linux.png b/src/test/playwright/basic.spec.ts-snapshots/renders-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..24b271c4c99a77c013acf52c62446f3c5a3a71db GIT binary patch literal 17346 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 F{{vrc0!IJ< literal 0 HcmV?d00001 From 0ea7a3b0a9aa23c804c7c10aae36b754a5cfdf27 Mon Sep 17 00:00:00 2001 From: Raphael Schweikert Date: Tue, 19 Nov 2024 17:25:15 +0100 Subject: [PATCH 09/13] chore: explain playwright tests in CONTRIBUTING.md --- CONTRIBUTING.md | 11 +++++++++++ src/test/playwright/basic.spec.ts | 3 +-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 083a0a9..d16bcc2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -24,9 +24,20 @@ The following checks must succeed before code can be merged: - Prettier - TypeScript compile - ESLint +- Playwright The `./gradlew check` command executes them all. To reformat code, use `./gradlew prettierFormat`. +The playwright tests also include visual regression tests. The reference images only exist for chromium on linux. All other variations have been deemed too flaky. If you are not on linux (or WSL), you can use docker to run the tests (check the current version of playwright in `package.json` and adjust `PLAYWRIGHT_VERSION` accordingly): + +```bash +PLAYWRIGHT_VERSION=v1.49.0 +./gradlew frontendBuild +docker run -v .:/app --workdir /app -it --rm mcr.microsoft.com/playwright:$PLAYWRIGHT_VERSION-noble npm run test:playwright +``` + +Exclude the playwright task from `./gradlew check` by passing `-x playwright`. + ### Working on the GUI editor To run the editor GUI independently from AEM (and with mocked responses), the watch mode can be used: diff --git a/src/test/playwright/basic.spec.ts b/src/test/playwright/basic.spec.ts index e6f4b5a..17ba67f 100644 --- a/src/test/playwright/basic.spec.ts +++ b/src/test/playwright/basic.spec.ts @@ -15,7 +15,7 @@ test('add step', async ({ page }) => { await expect(page).toHaveScreenshot(); await page.getByRole('option', { name: 'Query JCR' }).click(); await page.getByLabel('Log Level: INFO').click(); - await page.getByRole('option', { name: 'TRACE' }).click(); + await page.getByRole('option', { name: 'TRACE' }).click(); await expect(page).toHaveScreenshot(); const step = page.locator('.hop-config.nodeQuery'); @@ -61,5 +61,4 @@ test('add step', async ({ page }) => { - text: /info JCR Hopper script finished after \\d+[hmsp]+ warn Not saving changes as dry run is enabled error Script execution aborted with exception/ - button "!!" `); - }); From ed17690c386e994ec251e87db2a965b4c2951bee Mon Sep 17 00:00:00 2001 From: Raphael Schweikert Date: Tue, 19 Nov 2024 17:32:13 +0100 Subject: [PATCH 10/13] ci: pin ubuntu version --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index afc8759..8f4070f 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -9,7 +9,7 @@ on: jobs: check: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 permissions: contents: read checks: write From 99b71dfd3b445924c9456b9934ee606b3c52173e Mon Sep 17 00:00:00 2001 From: Raphael Schweikert Date: Tue, 19 Nov 2024 18:33:53 +0100 Subject: [PATCH 11/13] ci: tweak config to allow for higher tolerance --- build.gradle.kts | 1 + configs/playwright.config.ts | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index f97e337..9cd65aa 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -144,6 +144,7 @@ aem { inputs.dir("src/test/playwright") inputs.file("configs/playwright.config.ts") + outputs.dir(project.layout.buildDirectory.dir(name)) outputs.dir(project.layout.buildDirectory.dir("reports/$name")) } diff --git a/configs/playwright.config.ts b/configs/playwright.config.ts index fd2cd8a..66ec4fb 100644 --- a/configs/playwright.config.ts +++ b/configs/playwright.config.ts @@ -1,7 +1,7 @@ import { devices, PlaywrightTestConfig } from '@playwright/test'; import { getPort } from 'get-port-please'; -const outputDir = '../build/reports/playwright'; +const outputDir = '../build/playwright'; async function loadConfig(): Promise { const port = await getPort({ random: true }); @@ -21,7 +21,7 @@ async function loadConfig(): Promise { workers: process.env.CI ? 1 : undefined, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ reporter: [ - ['html', { open: 'never', outputFolder: outputDir }], + ['html', { open: 'never', outputFolder: '../build/reports/playwright' }], ['junit', { outputFile: `${outputDir}/TEST-playwright.xml` }], ], /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ @@ -43,6 +43,13 @@ async function loadConfig(): Promise { }, ], + expect: { + toHaveScreenshot: { + maxDiffPixelRatio: 0.05, + maxDiffPixels: 10, + } + }, + /* Run your local dev server before starting the tests */ webServer: { command: `npm run watch:serve -- --listen=${port}`, From 35a051a94acb97c7beeb2345cc69bd3abe622041 Mon Sep 17 00:00:00 2001 From: Raphael Schweikert Date: Tue, 19 Nov 2024 18:43:50 +0100 Subject: [PATCH 12/13] ci: download Adobe Icons in step --- .github/workflows/check.yml | 3 +++ configs/playwright.config.ts | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 8f4070f..7cbd589 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -23,6 +23,9 @@ jobs: distribution: 'zulu' - uses: gradle/actions/setup-gradle@v4 + - name: Download Icons + run: (cd mock && curl -Lo AdobeSpectrumIcons18.woff2 "https://developer.adobe.com/experience-manager/reference-materials/6-5/coral-ui/coralui3/resources/coralui-component-icon/AdobeSpectrumIcons18.woff2?651453a29a2cf87546cdc6215616731e" && curl -Lo AdobeSpectrumIcons24.woff2 "https://developer.adobe.com/experience-manager/reference-materials/6-5/coral-ui/coralui3/resources/coralui-component-icon/AdobeSpectrumIcons24.woff2?b750bfd862e4ef0daea700228de3e788") + - name: Run checks run: ./gradlew playwrightInstall check --continue diff --git a/configs/playwright.config.ts b/configs/playwright.config.ts index 66ec4fb..e5db4fa 100644 --- a/configs/playwright.config.ts +++ b/configs/playwright.config.ts @@ -46,8 +46,8 @@ async function loadConfig(): Promise { expect: { toHaveScreenshot: { maxDiffPixelRatio: 0.05, - maxDiffPixels: 10, - } + maxDiffPixels: 100, + }, }, /* Run your local dev server before starting the tests */ From 9d94a46f006fb22273e79bea2d73b2dc90754d0b Mon Sep 17 00:00:00 2001 From: Raphael Schweikert Date: Tue, 19 Nov 2024 20:22:20 +0100 Subject: [PATCH 13/13] test(editor): create separate test for runner functionality --- src/test/playwright/basic.spec.ts | 26 +----- ...-linux.png => render-1-chromium-linux.png} | Bin src/test/playwright/run.spec.ts | 77 ++++++++++++++++++ .../run-simple-1-chromium-linux.png | Bin 0 -> 25100 bytes 4 files changed, 78 insertions(+), 25 deletions(-) rename src/test/playwright/basic.spec.ts-snapshots/{renders-1-chromium-linux.png => render-1-chromium-linux.png} (100%) create mode 100644 src/test/playwright/run.spec.ts create mode 100644 src/test/playwright/run.spec.ts-snapshots/run-simple-1-chromium-linux.png diff --git a/src/test/playwright/basic.spec.ts b/src/test/playwright/basic.spec.ts index 17ba67f..0cbf42f 100644 --- a/src/test/playwright/basic.spec.ts +++ b/src/test/playwright/basic.spec.ts @@ -1,6 +1,6 @@ import { test, expect, Request } from '@playwright/test'; -test('renders', async ({ page }) => { +test('render', async ({ page }) => { await page.goto('/'); await expect(page).toHaveTitle(/JCR Hopper Script Builder/); @@ -37,28 +37,4 @@ test('add step', async ({ page }) => { await step.getByLabel('Selector Name:').press('Tab'); await expect(step).toHaveScreenshot(); - - let runScriptRequest: Promise | Request = page.waitForRequest('/mock/mock-response.jsonl'); - await page.getByRole('button', { name: 'Run' }).click(); - runScriptRequest = await runScriptRequest; - - expect(runScriptRequest.method()).toBe('POST'); - expect(runScriptRequest.postData()).toContain( - '{"logLevel":"trace","hops":[{"type":"nodeQuery","query":"SELECT * FROM [cq:Page] AS page","queryType":"JCR-SQL2","hops":[],"selectorName":"page"}],"parameters":[]}', - ); - - const output = page.locator('.output'); - - await expect(output).toMatchAriaSnapshot(` - - group: - - text: ▼ - - heading /✅ \\d+\\/\\d+\\/\\d+, \\d+:\\d+:\\d+/ [level=3] - - text: "/trace Starting JCR Hopper with 6 parameters, for 4 of which arguments were passed: \\\\[\\\\] debug JCR Hopper script started at \\\\d+ Some plain text output/" - - img "file csv" - - text: /Test\\.csv text\\/csv;charset=utf-8 \\d+ bytes/ - - link "Download": - - button "Download" - - text: /info JCR Hopper script finished after \\d+[hmsp]+ warn Not saving changes as dry run is enabled error Script execution aborted with exception/ - - button "!!" - `); }); diff --git a/src/test/playwright/basic.spec.ts-snapshots/renders-1-chromium-linux.png b/src/test/playwright/basic.spec.ts-snapshots/render-1-chromium-linux.png similarity index 100% rename from src/test/playwright/basic.spec.ts-snapshots/renders-1-chromium-linux.png rename to src/test/playwright/basic.spec.ts-snapshots/render-1-chromium-linux.png diff --git a/src/test/playwright/run.spec.ts b/src/test/playwright/run.spec.ts new file mode 100644 index 0000000..ba2f6f5 --- /dev/null +++ b/src/test/playwright/run.spec.ts @@ -0,0 +1,77 @@ +import { test, expect, Request } from '@playwright/test'; + +test('run simple', async ({ page }) => { + await page.goto('/'); + + await page.getByRole('button', { name: 'Add', exact: true }).click(); + await page.getByRole('option', { name: 'Query JCR' }).click(); + await page.getByLabel('Log Level: INFO').click(); + await page.getByRole('option', { name: 'ERROR' }).click(); + + let runScriptRequest: Promise | Request = page.waitForRequest('/mock/mock-response.jsonl'); + await page.getByRole('button', { name: 'Run' }).click(); + runScriptRequest = await runScriptRequest; + + expect(runScriptRequest.method()).toBe('POST'); + expect(runScriptRequest.postData()).toContain( + '{"logLevel":"error","hops":[{"type":"nodeQuery","query":"SELECT * FROM [cq:Page] AS page","queryType":"JCR-SQL2","hops":[]}],"parameters":[]}', + ); + + const output = page.locator('.output'); + await expect(output).toMatchAriaSnapshot(` + - group: + - text: ▼ + - heading /✅ \\d+\\/\\d+\\/\\d+, \\d+:\\d+:\\d+/ [level=3] + - text: "/trace Starting JCR Hopper with 6 parameters, for 4 of which arguments were passed: \\\\[\\\\] debug JCR Hopper script started at \\\\d+ Some plain text output/" + - img "file csv" + - text: /Test\\.csv text\\/csv;charset=utf-8 \\d+ bytes/ + - link "Download": + - button "Download" + - text: /info JCR Hopper script finished after \\d+ms warn Not saving changes as dry run is enabled error Script execution aborted with exception/ + - button "!!" + `); + + await expect(output).toHaveScreenshot({ + mask: [output.getByRole('heading', { level: 3 })], + }); +}); + +test('run with arguments', async ({ page }) => { + await page.goto('/'); + + await page.getByRole('button', { name: 'Add', exact: true }).click(); + await page.getByRole('option', { name: 'Resolve Specific Node' }).click(); + await page.getByRole('button', { name: 'add circle' }).click(); + await page.getByRole('option', { name: 'Get Child Nodes' }).click(); + await page.getByRole('heading', { name: 'Get Child Nodes Matching' }).click(); + + const namePattern = page.getByLabel('Name Pattern:'); + await namePattern.click(); + await namePattern.press('ControlOrMeta+a'); + await namePattern.fill(''); + await namePattern.press('Tab'); + + await page.getByRole('button', { name: 'add', exact: true }).click(); + const paramName = page.getByPlaceholder('Name'); + await paramName.click(); + await paramName.press('ControlOrMeta+a'); + await paramName.fill('myparam'); + await paramName.press('Tab'); + + const argValue = page.getByLabel('myparam:'); + await argValue.click(); + await argValue.fill('myvalue'); + await argValue.press('Tab'); + await page.getByRole('button', { name: 'Run' }).click(); + + let runScriptRequest: Promise | Request = page.waitForRequest('/mock/mock-response.jsonl'); + await page.getByRole('button', { name: 'Run' }).click(); + runScriptRequest = await runScriptRequest; + + expect(runScriptRequest.method()).toBe('POST'); + expect(runScriptRequest.postData()).toContain( + '{"logLevel":"info","hops":[{"type":"resolveNode","conflict":"ignore","name":"child-name","hops":[{"type":"childNodes","namePattern":"","hops":[]}]}],"parameters":[{"name":"myparam","defaultValue":"","type":"text","evaluation":"STRING"}]}', + ); + expect(runScriptRequest.postData()).toContain('myparam'); + expect(runScriptRequest.postData()).toContain('myvalue'); +}); diff --git a/src/test/playwright/run.spec.ts-snapshots/run-simple-1-chromium-linux.png b/src/test/playwright/run.spec.ts-snapshots/run-simple-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..43c6972d12e5e2c72caeac720e653c4259603898 GIT binary patch literal 25100 zcmbTdbyOW+mn~WlAb8LOm!QGjEfCy-y9D=xySo$I0)!ACxVuAu;O-8=T@TKy-#1?O z`}&U8J?_2dpL3vg?W)?lmdv^4iukM`iH1yo3;+O{wA3eM0D#E@09a*2Snxj^6M})@ z7mSm#q$p56O0*9EWPtRikE-t9j#m716L;HKp5Kr+i5UU%7(uWf5RGCoefIo6CX~A91*aLv~frAh)6Ed4cXd#k~DDKZLWB5GH|=tcX??p|M~zueI<$r&pGJ* z+8;x-2A!Q)l=k*ZffypZ@USyt?s`}{IyufG%M^KVAgLK&@aMB0xiAc5-?V)U(XKcD zCxheouHJY_>g5--HkTL8NMYI7wTh&XC)+8YLrdPaeAFqM!Ef4J9%ZDEfF{o7Azm|cD0Y$1-Fi}gQ;;;GcthNfVEE318dd3ti?Sz1k*h|)!YR)TZ)jR>(N z5x?f@YKf)sX{%c8fc3r#>C~f;a21rVm8|bJJGvZ=>MVjW2hT!%V!AT~Z>9 z@Ef>-F*4ppu2^uu0{o%<=l9{G+YT_DixXcmej)g(pT`IGBLV9&ss!?u0rot+nD511 zOif+nXX0D?7eok3)bg99H`BlWGs*kN7W(a}XgwMf#nB{FN*MpD+%6WCT;;o_e&d&3vhtu$lt3&QN-NN&tyV+oe2H~gECLQR1ahbbi3U*IrxA ze$R;>Lpq_Y+a7qEiU#~Fm#~Hfyuw!3pN@zD%`&qb^X|7kGapUsF#Q>q$x*{BXTiAw z9EEvpCh1Hg57e;`a*PR&>^uZ`ZD@y9btdItfi9zXbvLv3+1^bD>t^@k#_s_*ej$C; z&ve+0ITSE~Bc?$M7Su5QbrQv@+sNI8pO*yc--y!UHLiJWBW_E^(mH)AI=6ZI6*#)( zRFpx9Bf|Ii7?_%`Y9c@~MvX`|UzG6pjYbRjJC0;gT`O|WlPdmIoqgYfB8Y=(Ci4Hvw*Ji!JL0S4FMsdJ5J34Dv-7Vx&Rt3E>}at^^=vBB!0IO)SSWh!Jofs zRhtZC@w?G-WyTDcjJmNPl5^0f$rX&4fms}V0^viCTU2agXURVu!t zSWb~65Y*c06_s;B%!OwhubH#|;wq8QzjmI`mdVRbge{6VQrcNDbx!FeE_T^dojp7% zm3^LuA!=bJzY+UessWuJbepfclTO;2TU<(MYVzlE#SjI7f}2(AMiw191uPr%oO5?@ z{EqxJnxB5bH}0NXvfy!sE}AgR|Kd_Rng}DN#$YbNp?zO+{(CPBp@Zs|ad~Mp)Xkmj zQ4v2qm8YZ8awK(=S)lSU(k1j7O`6v`29NiAsFd4vY+5{ZUTZgx3D+DBHx$QmMm7!g z3Sml(qCEbY)jB!bWP@bgJK3A`^=tYHoao*cY>|SR>-f2)Qy}DRjQ|%1hjR+-kI%GU zzC>5D^u2#OG(EFmdn~0((u+!AW(h7>*hfH+O=ZmI`*;e|)~J5QB@O`rK^ub^S+LbX zlkn?IFs!ipv1j$p&UrwE%q_1N`nO_;>#ph-tPUxjXrnMh+wU^>-;}vW$Brv<+$%iN+!SO7yH2@NWazq&_O3Iw!Fnj z+l@ImpUs$bNTmzI(4MY)NncEdPV{tKg)fhz&7Uoy<%}&kKF_x^Q!h=2Ij+JjK5I2g ze$S^JcR7a?VTl4SLn}J%Fa1&3{Y7~jPX_IeiN`H&whL|64LkIJ^$aBEu8{O}vD#}c zWu>M5@nPwHyYeqVmT{U zAhrj7F#=Tha1h5sIYN`+ZB)$+A275pS|!C0FGY!EnO!X-eE(ouG?+?z82ZAI^(T>* z5cZ8>Uv#a%WX)H=Fw24w43_1CV;=-2SS7#2QheVM3TU28KzC5ee_zRJCSQm`)jcpJ zPnH~Kdw1UcBatM}gG(jMtogBxV#3<(lLVT1bAR^B>6@I_jSpR8&s#FHned7LpjqN8 z8~%LUmI`Nh`nYEra`A@(@*)5Obe8j1>SIMOa0oJ#KG@C8f0a`!exKO*%TWi_KfebKFr2flYqq_6K29+IqOUF; zk;BNkxUN;V@0?qT!-lLH5{Sp=zhd;7OgaJM1Ksw%;ps2sKREdV1Pj0OCdPI@+}oo> zTlP5Q9gNd$AH-hSq${ThbWBCSIWN-~vZnjfAloY|PFbqKrzdgj3)Xbflg?aV`-;Ci z>CH;#i~lMDXdVi+B|T=ncyDg`l}yGfA|jG8lT0kH zKAwj8rLm~`VzN$DA)}$W+hKbh63-4@|fYk8rG*QTdm(b{SB5>ueb?M&%s!{F_`Yf7K?$T`Azb28NK8IlBh{q)gpu zac))zW%e)@qPP*k_C^GWHs{m%L5$Tyyer{@IkQK)VJiCbEZdd;xC9A=SwWvnC0)#;_xTzuh-QC_pzIG z1G4u7T63s!^bQ%{9frBFG!DP!1yA-8~9z+BumicjgIhDkHBqP#(B3o%8hju^r7tb#$NLP~N z0ARV}^Gs4>#F)Hdl=baZAUtrQ+a&j}vlCoJuWjuMJ-YE3vs;56*^Ous`Q%EcwDt-SV^SScN28Ban(XtF*F^$3i=QXvK04~GY9*TnK4tsXI7Pm^~_ zIgtmxmTppGftE%eZ~dqAN8})~%Udlv=81)oW`vT@YFb)a zYWCwY~wsSLQaqgsf zkxH@||GFS%^(Bg}VibPFohd;{LW8}F9~>M+hNhpn_gi$E?cP5cc|BwN5qT5b(z-hq zcI;u{+)n8C!}Y8!;zRnx`F<&9hgUs%shPWKfxCwe2jHK7uChWw=vRfFS9}qPZbvfHQmKN=uMg1qQe3I6O~+zk_WN+wR8UCqe^Z&#seJ>0dlx9qHDlYyo+M)7W*^xZH&_$CD$3 zO3zUJE$u*?a)fp*EJJB}B3eu@fy257wo>P>&buHNA(aq4i z75JkK#0opQaiQUgi z?|bYoS7(HdAqi@v9k02Cojr2~I~f5$_noLvE>{})N?(E~gFW(>cyc9%Vww30noYTQo(n}AK4bu(@plt z2D2Kc2&6Dos;6Y1RKD_GF~RT9N(_FS&0r&zOp}SjJS$stBqo=Gu72>#2%*4mJRB_H zI|5QdGY|sDpz%AQ-6)x7nzv3r1$rMA7dFy-eEEir*gi%ZO18^M9XOi-vSD3wd4$-+ zA(&TJfyyzNbQB+?i&dkCFHa26e2HUO4-rde4zTYBIvNu>kJ6aA__J+o#$5pa0Yer= z&m7~;0unB7i&nxlr<^{^*TUQzaUyJ4#>3fhmcr0LTzHPpbcXV-F>W9>X{KOqTSbwHJ zN@iaVbfqOij}WEQJiPgU1#P;aKVRP_1=UJbF(ULahFG| z3yST!H^y$W6gv@_KkBsGxy9&KO4!10B8@tKs10zA_!5Tz29j4EMEytUq+!O5+YuWX zm#VzqtUL-d6Uf!97`I6C1_)e--(^xP(o@MoW!S2dcctE1QoRzwFb+EB;n0scRph^& z|E(J0eZOC5X=$05a#+LPZq?SK*Z$tbZmq$sNjHnQLH#l%6tlKz`GiHxBX&~vb5f?< zYnGW0rjna0+=ZQ=vni&&1`>&HaIKc2H~r8sr`L*9jw5-Tr$QNoeKQu6%b?S%jC-24 zW^S_6-)L}TsA^zvdg{{5!e_gXAYQA$GwYqt3$Qd~1n^(ImWIs~ zbkB)N)lyF9HBib;H~dv%9P#&!aYp7|6!A~kMkql~MB~zw!)|>%ah)@|{>AC(DYx4S z623i?vEm(m20qyzCJfqSFKfiNFrT6;zZ)*;zOc>jmfw`0EV-3oVn!kHeH`w-b$)t!LVqp2IFOy~HT1SdogwDiL#i!^?kN3h zG`NvNu->(qAVn?A*d8A@L9$0!!!-KEx6*nLbMaY|X~MMR_;x@*_zF%D_1^$tCX=3$ zME00upi42Tw5xvhW-tt@T4XCx5v3Ss40jTys0w!;wq;fWBWWG5Y5<-D5!lBS*U;GocKC{BPK6 z{wcIex8Lm!2%%Rb6!up+#`JTXFkR^OM5Mvvj~-vg^aXD@jn-~oiFw9g?p^QB4}#8V zgQ};F&>Q_A977u*`74wqSr`c#mkF&}6F)jk*QOb*OtpYyD5Z|9DSk48x_2{ZUcA)0 zWLxxq@n=MUF8MLjSGDRx$;s+ui1oDG{0Q1Z5>L``_$p0g2I+dbs$bP?r~+`Av8qKX zlxY9J#zddeD}y(KY{QWFdeR#WwMb=KHA)6K)I8hb^Y*m+a|}iXAxxZUAgs}Bu_Nlh zCTxgE;b%2M?Gf*D?=TQ_@00IMr4tk%Aa2wbjb?{pcygHwTXBc9{v)QSKaV!r#*C7t z6vu?$aZ)>Kj0*B2@g3;xmhid^m9Ev{${=XvXEfxjtQMhphwB!-f%Nq2{F~xC zncxM}6J@nKqpAnZ9piHG=L=};Cv!!Jh5OHb*nW{cZ2B94G1$G+;x?xpH-ojOhG3dR zT0leqvt{=#z6HUxM`W)d#awU+v zW_b;s1D=z)~-BR8m4x?tmS2P0{MljLYl;@O=870)XA8O zv4|G?HX}{wEFIssVYLNu3xm4a*8C_f%d=Ut&}8qA z+Y=yE!gf6}x9ssLyWh9U{f8GW9H+N~1+APj?DF+Ta~%04rd|IAKq>P+xVht|Yvuk6#6y4AwH_>s<>(CbF%)T* z$D_rW3KW|?|6-Firfw$2UE1r0^)qWCHaahE(mJN7PaA1!`p(F30s!ljC_G>R$U8n< zXT=6?y`Pfi6)+Fu-@AcI;yz`WOzjQ%_!$2l04$29sy1sFT@iC0Z^=1qLi-Ahg$A{M zRIP;cDgl4Zk0qHy0N@kT+ZQfRR^V=-th$00VB!yktgwG%qlEZuM?P%)u!J+6-bW1Z zUVhG4`B_2>(Wgl9c#;D_ru53XVpOg6M>xP$FG5#rFp_SPm%8k|hJH8ydsju`%uJh8 zp0cmFIG2NztFp1-CCQxDI9Bj)P)*r9iWDd)5G^LTB2bbRtV1Q;Nxvz(zJ7h=3IJ`* zB1P{?Vu_r`N`FB}w0br98e~z&8zF#^>aRU2EAZMJeT4qG|i|fZ{bm3>eka5(}v@JaQNzvtG%pmi+ zpd;Wn_E1f>Iq&Jx5(l@i@6<(}A2HVfk&RPnI178{n9m#xyeJdkyf27D<(j*GKlt5!0XRU$_|! z57)HDdsv2f$bTrQnDCS*VFK}M)b^^OTc6jh}{j%dAz@m*7{Q1e(Kr2b>4S-vFaJ zP^Kpe=iWRx5sPjnE^qrwxiX(`OMXm+Tk-i@*Jo0JWPAIQHtKahDqC}VG;mwxJVKj3 z?av9e+&Tx;X{&(SuA&!`f`hmfCQO*Y$7MF0(Eph3;W~_3BP|LJ@aaA*ICB@MSMXoi zbfNKZ9$8oF<1_oQR27Qyz&&(KmctnrW9$6Axf)hnuUWJyX!m&&L~0084~ZFkPTp9l z+4`T09aKyysic!5M?QshwfV@3$-f%ds(P|w34T1DI!|G0HmZij|l; z{_3=q8mo^E07GopIV4RA@35X}bsoJbi2-*do%}5G7yBm^!q4efJeEhEBmj{7?s~XG zR*^68Wb@XaE&@l|W7&)7 z8ENe*VKHWXa>@-920}MQf+sqYd1&8 zFGvw&sMu=4)DVktp=ijilQ{a^;X8ZZ&~?6#h@AWui!F0&3WNc^k{vL zn@9(`Z}I{$JjdY$YB)clJxwGc9cnm^a=6rI+8*z;)Clg_3uHD0?$8!?{D&4`#N7(* zO+S$YqWpqtHjzSXL}zOdhNu6!;r4%DiJu~<8`!X4ZgMKDshKjXSvbCVevat-^9juC zfEzE4%^8b}jYY35?qpl(>=coe9f~332K;66nY5~d5p4kJV2q1* zA)-hq|9oBn36!U+ZHLZ$%zDj9X=!O+zhaCx$^=|@M@!`Kk2H;aV;vz6-a+_?F)=X_ z^_CIVKP4qar@;=s))Pn{wc+CCTF`F(Egux?VIkPRm zGB^xFl)Wb_ijSZFiQyDdP@~E4k5mFBnE#!No7;od>YCiH?>i$aMVhg+SmTOTWx-L^ zve*;5wW*2s!GUr7Q+F@1DIJRFZ%|PiN&gbIHJ0Qa?VU^Hjlk6YKCaFY=4`nvQe^q+ z)xXajdt-)s5}7#zfYXavSnS#BU-Z|mo}CI+d^lZ5t60Q?H$1#(AmpVt`W+H-+2j*E zF3QzbC1=C+oh=OjI-?zhO?LNqUfOq(M)!cx;$yFBu0FiDr|Md3wIrpvNikU*TSd++ z-kJH?5xIpr$eM}+M`c~s2YP;|n!drYit~a)TnrTS7aUo77eFsR|n!2 z8|g=W-feeHPN5NV0f2oi5x@6f73a(MgY_sKVwyLk)((J396M{x+4lqS_~XA-Lm#~K zm5TJ2$9;}W^3aGF`(+NXp*Zc1XUR_`Ie-w6?ZbkA3s@*w>Zrsea}wkbXdhM9eG_(7H$OVzTKKk10*s|{ z{lY9!?;Qu;Ym{w%-YnPqAN|$20#!7BY4uWsL-Cfk2Q2-+Uu;*abb3PTQUKh_P-A<@VHrAajhHinO(GH zC7R>j-03a&#bTw65TPr=3CFDZ@sF!N8(kQ_I zB1=^oGWZX^y!+{lVCi~#brl`RLEw4LXW*%;)W8zqd8Bbr-%h8uNA)s}%WQJ7@l2=R z_pWcQBxGO%uabi-Ek78u0dzKp1`MNJiFcX)fh)QN=_E(YJ^>x_}o36HH=d3R9R zD(3Rgou7Q(_;M1@&wlx)Jm$#mcB>>T&f#S(hQ;a^m1OI#`u7n*f!%T*NsXt>u*lWj z_KWG@ZA?)Mgj1>7nM1h(&yiEL;x+37`4x#ov>(|Ckv232K9^Pp+2{IGkdiqiZX05f zCT!=Jz5#AdHUXO2TNM)WtIEu(hA!{8BI#EIXhdxa{XAPV6W)y1+y%KCyzkBkZ9!p1 z*P4)?loTRx1%-Ms76#PJA++~TAMxbz_9VAA(o|JlnPm3VoUxEnxJlSk$j{k1!-zCY z%x?*C61QyrIs4|DB8do(>Bi(Z7P9xo?^J5J*=1+8HH@zFw689D!a zCGRx5xXEzcX5{Xin<9PLg6HKV-k9^6``%)dq+q?MPByIJg7&y1L#1#u8&u7Zy8Y;V z@V)xYrad3LeI5%Z+7(VYu)3;`5QO=T`;Ky~!EWWkjdHZFudlqk{GS)<>7x3jYo{QG3B;|&lebZ?=lnf7vsa5H@jW*ztU_jb#T4lmD7 z?d?KbnerH))?q+}l%Z4tN9M>${~mbB6lMdG@dKC+gG$Hk!Lu{_EQPtXHNV|aVuBb6 z47iUNU%q_7L5_6|!^mI-d05w$EK2DF$`x)MF)^{Za=jMk{YjCMjKNG*FrC1}#MCI) z-9I>R(gzlzj|Ec@>U)7TkZK%F2 z7kFDe?+m=bn{hZ@6@>1=f?_F(J?DFH4kIHY60f7G>1kDJr-L9bIo2sKg?KrJ`0+dK z3=6#31bvOZYYV6gB#7w?4Mm_!zRx=KHeaf@jgMEsueYU3FR!XPAK_j*Iy`hzOu{B0 zkjeclDkiq#BoETd(Rg@xd#9%$TmKJP9kz9~KeaoW^)R65dogbu2d}MWIJd9MG#7zQ z6B!ltaDNXbg+Iij@KC`#OqC9IiU`y@g@B}8k!m0r9%>(Wh!#i2z+jE^`7A7vMzLA9 z+`kx^Van%b!JI}h8x9C0(_~0_!M+5q>%PeSH!y=ALKVQ$FXt?*Nh9&-RV-Af4+dd*?qag1a>iyD=)x$jIoM0_C1+dhJlCTzGwh z2kO5N-3pv`sr+s;_m?3)8(Uq7xgj7$F#6JL9Ur!P zJ_EkaL0zA9bgXL@%vv2mX)Pm<9QEabc}@)YiH`m`wSP%GN>sIUTvb&SCvfqn<+PoD zYXE&rA5+_&%Vr*fkdTm=`04B?FVw;rd|ALzqPg~c^f^I7dfh3ns`VnUJG30`_B!6q zbvH9EW!3e&2-c8di=r%0#0jv~Da{9peERgs#^xwmga5&YkIrp|($WskDcPcfA(51I ziJZK)a$^4~teAV(GUdi6K(8=wV)N63seR)wZy7=UgXUe|y09@gf*9#MUK_60{`)o) zkl3{}!{p#X=+AVH?RQ><*xaHPA9W1V(E&q(fl-h1GJ{75urA=UE;9JxZX+sD*hXyY z;%A0*k_Bp;<4zWwuwGC3pL_q<dBqrCIvJ)BHy-qHYp zN$oh}-$FSHhpD!YALVsBB6~K>2hoZCjLF4>|FsY2T8TlNP=uc9j)kl`DC2NC2<9x_ zejMR+i*@lVb9@lZ`#|o3i^~Jfromim_(RO1OQ+I@uVMe@hzPxKKX9kcaZCpb^3>O8 zH#K`)ovPk;nJN50lAVsA5XT+n#T2dI>zun<`yr+yI#FhdxFa+IJvRhG4&7fan5uEA z-(SQ#thdvafCmu5dVuhC`}LjPH*q9$A2*8;0ec?*uAgY-BHO>I?Y|#)b6OoJD0Q!M z^_LnoYeHn^Yw2T(_=UUl^n%9&t2!T??NkmHK-4j4|0_ zhZpgy&V@Ywn=V_xqG`U`X}3Z@a;EiuH|lGnX%5by-_!0zgMxJagI^u4jo@5y9Mqe} zc$&_zdER2NE=tSkV&~|X1JpwX|7S(&?5)_?i3f)0eSDX=FX2`-DA6xORT8}XLh$ZdFzNnLGezj$DNao%z!IqJA5G-zGGJHJAC-QHmI!$@9U9@2W= z_p|Q$>I&#wf^-O44uC-hezI_@d{c5-|My%c#zo@BZ)=DJe-;3!TDjjkt{!k~xN%dD zOrl7f49&i|FfK%)oD#Qv+<#f%k;XrQl5=$L+rzp@%N)o^Zh|nzSxxvUulfI7YZ5y-KJiW&R z&`{pM4|t+!*unTujoSeJOCty<3|i^6(K7ikn&no9BS*>76Vokab*E}v?j2YsHI6`| z*NP$1R+)b0ps{B8TuO3Q8yX;J@VtNBll%@fcCU_bwvZvcaHk8bNOlE|=v2XJk7SvJ z^;}HQl#N!_d6_J%8T#iv{XVR)CKN7y$+mIvPOGnZI$*pF-5O*JH^BEhyf3?1>a=cK zMcODTNqtrO3Sd~H9(q^Rb-ta0BT1N9fhSVwZNeT)-%kG$8s0$h;@=_%c_PI<)ob&v zlbnVsndXHwduPf~Ykv%)_iOgPK6$Ji^)}%PtE$>D8M(7&q?R-x@_U*+UQ%gtw}i>H zbo9pt`HP9+Imk5(CzT5)sP3#6t#pj2uc@gc<|^M&V%D{VaIc-T%@DSEiYc#M*MK9> zG9bJ??$#QUohv?hY`*}2gNq-wbD7)ox$KHk2e(E+_Vn1SN6$Yw zlWX*$w})5QtFDfS|LU-(pINtMWy|>{!%p}1?5reAp>FuG@f=Z5cde>$NJI^azB>Brfk2q4Zx`Tb1bsSt-m#Mta8EZg- zpdhw|>-Mhf>EgNt7}6;J4&!C2%yH#1%e@-7U82E~QlSguwsctG+I>++kN<3I**bWt z4>=7wt4kn_;3}}yB|IK=o;aWQ0)*ZpTpk@a`|aEw&HS=%J+{6(?(^I#Z)|KrL&$xt z3pu1YZP!^d-?!;l^#qMX|7C3L-6x>)ppcuX<8fdcir(g6YU;i_)2D!_=))I-2GA>S z_6RrGU-SKzbw>?fKmW0jSTaX`zn{d)ttrTghe{`64tBqkKX>sYGdB^*m$i8|T`1Bh zr;1sZV0R*k=saEZ?a}Axz8vO?rOq*#FLPeOu6)fEBpQM;>!{DvQIs3iH9l> zzEfuMO5|#A`wLJ>X?n~CjRZw)8*`muFS0sqi22>Rm*5eL^@Qo%wrG*rs~wg*KHa*i^ESsp@y3m z*rb!ZYZ#(Vh9_(BhJ6tx9iEncJI$s&QFz`Ho+sa4gCwTK@Ys^!aHHB#npo;GUWuz& z!H8yDEas3w9m7|)Dt_pT`%IGEM|Q5i#PhsuAKafJW^3>`zsRo2zV>akI|~5%inBak zqqo|xcRFQy&xp#;C%CP5$}&G4be>$FM7{dvBJ8`-8IY>K_~Lvt&IHcW#<8k@i%%ko zvMON0C+RliAwQv0M{WP24n6g=+R=~y-e|j1o89~C zL*}HX0?Ga5`rq2R!r~&~mx~40v=(ZEX9c$3Kf&zdHgt+kY`AwY?J2V^7CE3E9E;X^y&-`>l zrP61N9SN1-YT9bGdC>0*DKtpq#b&Y5Pq8{8rQ4L|WNpFg_Lh@cxHp&o;AfxRVq#N( z*sHCD4qY9pg-#fjnRchhhi|nHWpl!;N^^oVvPB+kj|l#f1J%|TU1P(t-^C}R3s*f0 z<7=E=*h|vnGKzLa8mu6aHl82*xEFZNLf(=*q_lLqS=pAjqD#6=r|}UT@7>Yj5nh-q zZ&eU?3@kVrHav;xdH!?5FAq_f9^UBOc4O32I_3~q|DM@b(NYLkZ20IZ4RJOrOH(Mo zxGmd9qC{j}U)?x`DU{K-S*(eql4Zopv^1RT%mHtaxE0!6gdF?|j`t2pSItV7prksf zHH}eyTsvC3p&$@MJ&w2RizN}QF^^@>>RCX+MDq596=t**6lQe{H3)UmFS!#*t#3a+ zJGWlWVzwt-^K6^#Tg&Q5_S07>A4)YlIoimG#U(bD(I|rmct2)fo~u6Z5bZd?$4 z%XktU1(%IB)@LhS=ZB1q&WYwDHXz>gC9Y+{ndp6pzWpZ_omG54JQXV$y18H0 z4$9d0hE5%>bJnkRq;f{5HTAt8sm-TQ9&)}sSCLe6_xZX(k9(S?Vo&zj4ARX}YjZ@Gtusbd4~*}mwLP}#QX z8&0P9S@o$MU;3tV6EuVSP1(#*i`B=!5>K2v3POcmYQJML4&T|e`vx@ozSv6xKxWSd z+#c(q#d3JKi;i1V3a?js)i4(|t{nOvXI*;df}rw-*67|Z|NZg;4d@1cc1;p1S1F<2 zoM>Xh--x?f{gv}L3UT{`aqBw4p?adP1>&u~vl{hLnlwJtKW_Fy^Z^}amUIq)h9%AL za#Ur-mOEgKl~j0%V(AaJBVJ5@duUlZfs-@#26pV;M~vuqUo3!ij&!*dz3nhze1WDP zeRgX=p%oEfww6n~_Z}=EXZ#pPb_be5#svAMQ_-9qAIvvy>ot$E_zr%9B+r{Nl09NQQj*h+~Af%eMgHn;}gu+NIBt+ zI?CH^gRVjZ2wA)cY$mE<$jc`MRv5kk>3ktf5?HzyJJ7J#WW*t{U z`m)`}iM}qOtey$6Em;F8d!A^{jKl_*b*sFAf$5oyP9!11OB@O(lQ>x61Pe!yk+5r+ z+P}I(Hz8?+`t+4#JvDT_WkCpgMV*+Vk;$XDYkJe}(#W;Pte`Y^JgV4czeh}LR^@TI za_S3>pvex8jlIdUsRS!d3bwY#lB7NymIJRH>?-djtS?^r$dg~qjdCIQWV|x``BTIP zt)R)n2Q&S5I9^e7|ipShh=Ky>Chrc~{v0oIf4hAJx zh(BI-n$@&jj`FWP-!yD(ZgzKf@9=-)ot&FlblQE7&@<-Y`#9m5pJA(BlsSv&J(r5$02UJh+L z@@9={4LA>_GVfmAfn9rTZEv~=mB1598yegU4aqn;UG^vQeao>rRj9{=9vG5kjzL-D z;bEp#Fi2@I`uO;O6pt#M8b}azr~~PCcNg1WPXQp3KuOIXJidH*ct|0Q1w3yXJco>! zJ#-iuDx#x=bRRD@v?ONDSoP{uA?7wsfc3#T?G;PAhnwSn7VVX`;5zrC+tEBGDe242 z5(IjEz0%<)?2MQ!gNB5JR12!n2;zpe51;@55;@>Wvhwn1wZ%ozrvK1O=kBf5)zx4> zBAVnsO~(hBYma8?>Tkn((z}~gi0UGGHXa{$g*!kN4%}F6ZEbKPok0F=0S_CW{A&Ei z)PB@EX8mSoOHtA8yf~qQfAMadLV7YXgUOp9IZDJ4bE{w*72G!Z@SP0$e^6cR7d9zj z28S|ei+1>|*>Civ4H3I!5Fnv?+L-0;CsLd;A3X!>_U7mw(pL!0T__cZ#K2!9MA7RBF9(XmB1`X8} zmv@vjKbIfe_tPi<{zAKDiO}bB13f$x_i%H4DzLSxv=fnlE#y@661lDDgeST?#tY z#c2(nSK}L3R%D`3ub=RvWNfQekF>E!IXyk_vR)vVBzb{+koF}Xb8#NwRK&by&-T5$ z;?l4ST{wQ5v#rnCd&ehSYngbD1L+Fy24%?eMAT@*b6?Ffx`G93r1&4o+2}X1bRlv| z8Kv=5ijB;PkG{KD|3w>jB^osVC!mB1M0ae$xr`pQzj?jIJ{_?@7>Ua%AimIbtL|d= zv8rB<95ttF9OGgWQow}yYwcCLkCSG81$x|kK6<1hR8t4)H~-$S^=mJ zf@W4kPxsj}hO%-_YCDp6piHa_PkmB{IX3t}1ABpxzD`$Ki;b9!mx98#q8_Oc?Z59_ zGls(FipW_{7sPAdmf{*Lw>TubJ3q31ySL*n5}cqThMCicx|6gt0{h#cA`mhM93E1iX?t8jypBdFq>F1WOYn32Fi%Y1e0v);m zAmQ3QKn9atvpT#2zlPrweh{Hb#)pMhw{Y;Y7nkur4Q>A}%aaJK${8g^o++n4FN_!t zMSoA-w-U8wZ`5g04frp#OB6AMv*!F6qPuIYlv3&BN*ZvCvk-r6+;@T^8jzMQ_j-DK zdo7>)TkZ9kz@%J`Ug5zH0MsX$SEYj7QGYQ^d)&_9)sS}H*Xe*6RO^e#q@`AxYqO>? zTbSj!{TnVA5hrgs~7g#`0sbDDn3ijm&wmi(Hx+f)lA4-3 z!tto`6UNYC-{j{%E`9S(e%neLI-)!GX}MAOi$%usH#d=RgYO&4NkihVnXjE?vFSF~ z&5HM(hs7uKu;!pkxnmL9RPN(K5Vx8e9JrwEOAK61 z+OPdmcImysJ*)V5sHQHsoKS^*m#GRd*97^mcQ7IC{uOw%CD;95(IHiqYk#9b0pz>w z+ha19d~sr#v)k9K%Z{I6zdTrE65g>wK}^)T8r-*IL**2?OpA2(4PvwFa~0jLVskK6 zhWE@wdl3q6tVoAzM&FEQR_m1u&YCV{l7&rP3vgFoEFe3kjm~2L{P>Z`W`c*VQkbpx zOm$?goa^g-S*So@6T?5So{D6;ALBWCod)q=>BP$I?uGd|=z8$p2|>aeH0uon^fOh3 zXXX&s2;o%Obe{3IL*wgNSig<^QT#YY#|UQiXK&h~ewnm@)#9k2~i4CMre=p|qm zu3vxR8j|}Ua;ubj7$RtF1bKIFEO%<-R(9uNu_q({Qp&>zkr_hz8Y-b8ZEylr?rGi&*JO54vGKEQpQN2B2dnlUNGhz@*U2zF6$$3131gn(YI(U~Or&4(Tigd(Jmj)A{{Xl7T!V_?Dr~l~K zL$7+D4}Z}YS5_X?>acU&79hPaN+33~3uYz+S`&E5qnMS3Ax^4o5sk;9_STUU!H)_R z3PCyny8G-*!%xf-K9$ZP1?k2!|~u= zJ}snA3`HnUm$KWn@zyDOR{F0k_gFNkh8O>SI@*7~i+ltpyD>Q7$`w-Y6~x%dapoBE=0M4)-ig&)%6IpFYo2w}%b(Xcr;~`#V|I)_ckNBZ&J;bX)JOM! zWK#z-&e0p&6Ug@K=Tdsxyn?%F)m6_Z8aJM|1aHLVl6O%iF0)*0g(vMGnThwhI) zP0Bi{S*v@{8U87Hdu6-TJWR2LcbHc}JM51pU;D3__c%XpjG@y3Z1X<(Ea5k%XV zTNxBME15oy%>M2C%LcrwEqA&(nssq_XHq_4=+I^-Z77sZ`wkQIVEC-K6PnXy)17~V zdFX|84A!~@S^9fc`_x#_4Xzb93+bg$pB5=!G36(JdxW?F&6ky`Sls)OqK z`-zTBs9Z<;(EeJS3!T3yy1&sUHn(;0qY_x7!WnUzC}6bVFJM0e7pRw5V+3?wju%PfE7$^k7hh&I%OusJ znPBqJ^MG*x(&P0bv^WHtKGSrkq>w59kqI;@SJ~SNzmi|oyEIY~moa^nC&4y|9ENIA z#Mp18y;8$Sc^}f2I_&7|EvAmpq6!`Yx|VX;H{|OBydwZ3LvbSs6}H*3U@gK}#PD(n z{K3vYwCg*St|Qz=6lzM3qh@PahMb(wM6#)65~ls_Co<^{!#DogGEN<_Dw zMEEP+PvM24bKE_5U-i&Bdk>-VCZo-&$YaOlhPqwy2d^I2rIX~dWG<8a{MII@)%77*h4Ae*Ba1v?d_=mC=7fK4qx{~i^`$U83H@T55kgYeB zvk-!4xY58Ehv~PMS(Sw--qZI>x%x-ksugzyi|OR~jLVNy)h`PpkNCvA6PjEeF*JZUt}4eO^DM^aFH-JO4uhl60Vt+ z)5Y_OIYM-OG}1<~jpL5d7p?Eb%U6WiGb+f7>jP`o{!ytVIq`CP!?BW9F6}J4(o}mT z&4-0^GfnrIX&LFGY>qE!VoYrH_~1=I`ojP@5=$ED)s2DHQ$VD@(!-RdLL7Ec=Hh~Q zKIWB(Q%dWIwBVfDwBj(FR9tD zcXLbbxC1kCQIz>DEUafA6Og|)^79PID(PxtwyWuYWRTcHqWv}U%B`K!RJ-HwH2R+5 zs~^<6mJMvvdJ_!6ljx6xb@i3X2ZES4JWxTj5L9gFg{ieh?|AJLL!!SE#L4PA-={QP zayUNkq1N2WqUZ3My7HYkCkUU4TQRD;uDahS!Eg8W(-ck;~p_V}B<$-JUy-yJ{rHl%=-kw&Z=5 z3KnqsV=|~>ercI1$4@@Uif8R`7xwUXP@le7I~bx~;lbE~^OUa0Mb|=S0U7)!(ZzA2 za(uu!C+rT$h>=t3^Uiqb_o5=K$|S59xm6;+9&u!({z;lC0h?nt;%v#WiIpu z*n&sEIZvwYjq))JDyPG$@3%R-4msu80dSNjAx+>oo`qZTDkJABGh4#y;;ZA{t*FL> zMN@~6LmcIB}Y_Fr5uDtar8sF&%93wKx=qry5CuE zcr6oHCj(~@+}jOt>29=BB8uPH-KrRn*n!hOhu&BS*+K{sjsfO{wp_^m?F*#b-UTo& zElI)4#Cs6jAN3KrUuiAxRoRs)ViSJfv?^(Z1Ee1tt4b!R&XT@hk#R`!Xq3-vPxk`L z*xUEJLBzfw7qZn>!o_-1Ll(A^ODhH4-$2-Dtwe195F9AFi+ybGs1?0vFT7CfhE@$i zmvzOKdKMP?2FV|1`fH&b=e%FY!V^GQ zpBxtFF7`5>PkLpis#V%VFP(3Kdq!$+qhe3;@!LJX(Uq(yURH?7(Pw8k1Pzq%Vwm`l zR;``Yjc7@ld!E9ZL0Z?apWqf~cy7^*ePY}(!M$M1m7UB7nN z*jTM^B-$-|R^{K5l{v+6BNj6OEx*BrSJpXu?SJT-5@>Dya;H6=It=N{q30+x>3ds* zMk6e5^P<~Mep|&M9^i587g1rVi#?hS^&ir{!?xhkL+?bKC7JzPz|K7>gvIu+=ft)i zB-tCAOxbyMGW}Uj^ubJ4*Qca(mqhQE%00C>n0cJN_OGpw{7re=jMq&a06-N$gO`S} zD0SlVEdKYmac8^)Tz}<{{;%(%6WQESm2Zs^oVS47{gKJ-%o)AY_8gRFr=U^D{Vxq@S^c9+lLOA;z0FaBsc7`+ZagyL@;Rw#Zzn2>>rLiKdcQ-uKs8QnJ&<3w zL5#iYa6a$PtoSu{4}LcxwL&#^AmZ@?695!Ht)tO`-?^e>%{a5;6PxubPd@2e80en- zMJ{KP646v1$s}zeBJTOb|0$4@O{ryHHsMP9@|vemOXgvy)22jP@64&$*Z$2n?l4Rm zrxupRu7CG^5G=Tr0!leY)2z(AQ_U(0n#9c|Wr#Dv+?oNP9*XYP5hpO{uv49^7U(=*vbbgKm-^S~be@&U#+gMhXw!E$#-}LEgq-KtN+o?Ob z9#l8tT8frT-wd$R0}?5;m0k5HXzF&dzhNPhFKWz1BCWBH^82KQf4u=x{TVP+mfQEb zb}|(kV(s~O-|Wlg+=?QAC4e|rvL1TD%uKuKQYE{R_@yRgt|>#Sn5}C2u*1!6S8fH# znS^eXiped+>2oq<#D}RKFZMKlrj=xGfIsG*iv&#AFOCk`SCR#4+XBn`>dc$Wgtz2w zz`9xB+Y=1C9iq>Wa0_#p2LxC1>`<|YQbK8nnYd3Ml=Loz45iMrv#%_$4eehcyqPx3 zb{PC;=-5XbR<&>&Ti-ni#G0W$*ZO0J15#a|LQG|SB_PW(G5aWKtR&jc*SAJiuu;e@ z%U`2f$rp3Pc;G*cFcdsudnlpG0h~LCYN`PF-b1)%CuRivXV8pbX1-0EFbt>I*PuFt zbc}l_1D1E3pj=#_tj_zg!0DDXmAtPMtC_t`&q>9Z#LdQ>MMmo*g~wJ!u{D~p&*9b8 zqk|i3tK0P@kyfO3{;yx3$arp3Uc=wGxvDq?BvKi0)#7g1H`jEiw%G~*fY~WrzDZ}| z4%b+a)Yr&dIgeQwM6<6982EQ%4(uO1VBygA@@l~rZ8L*3@maB0QUKAxnT@|rg+%yp zvn;lCHetEbKDtOQd9}xiqf_A9a4pLC3^Bv?i3@&bD#n!&c6LxQ0>`bC95_5QI%Cr) z4r|*?(7nN|w6o0Nl!lXk#9z{Vca3=aE@NHl1%T!5-DeCR^XD_|;4m*lX&2E^AOQrk z3jPt>HX!Pek5wu4HA)4yIr|v+LoR~xxhYQ)^@77%toU~sW5UwQUAbwGU?`tM`lu-S z(1Sr{<~?r(IP{AVwv>m(2t3?r3MpRS=$rXtc`W<0f5v?;&^J=^I+yR z+W6@av3}SuEmqccezvOLhct2?X(_n~hr*Zzz~8O1sD(_acGH>Hy}0erU;^06Z@P^< zqQBZLwpOL}@ynbwUHXp@nI*5IE{saMPxUSEdk4lQ57nl?m^Z@dT3xuM4hGNT>|b2P z@MLp614zCFKhnxEZz4~DA1fk_;;YPR3LU`c#7*&?x$N-5@Vg^C z#T@$we9@U*W^Ae7*v@`F{q5qxAZu3MTfno4Dp#w7`#@`QHQ1`Di;Z8a4}ptOfQG!S zZ2EX32?I71?5L^iN<t1SEQ=jMhQlK|?*@{vEdDR=lHT6}FS6A4 z^Nf;e&v)@B@W1lnOq=-qYb>)RpCU$NM8xv%XuaUChWvzP_C2?AYrG7faz%#sLZ0NR zJ-CT1ic{AZTS2%!0svwyDI4kxAq$7$Sc4HoCBrG**U8RS2yfQbk2XjPs~#8fYlCMSeYqCs_6=SSBCL{N{{nR2Xyr++od^9loZ@crb*Y);>czIrxlZdn35h7V6YV?;SqVQ;{%Kk4gi`Sxnbmix#@8H2 z|9V+enpfAL9#1zfg)k+et zhnD92{QPt?IgL%l`eSoD(On9H`NS5frX2MU8~}@)CcbfHnlvjnjbLAW`M{S$4R1lHyU?Qhk8eVrEXk5J$qBi*bSRnw4$R&u$%WlXRdd z;+a18o8;tJ6Y}ayN6x*Gu4)mm*NK4N#XcOSjpAKykhz5qow^J>ox223#sLX?TOx+d zT>3B%kzx_!#cVv^Bgij#e!fDp>vY-0N zKInL|-Q3rYc~->4aPMXQ24>D9rDvM~>-AdXaqB`Z(sM}t%(&0CxlkQDUG-x$%4282 z!vI{f9r2xf+}pO&{J4H?R{a;A7er>VmS2r#GygtDVmDR+1lT<}U)YKQ9vn{{tg*>j z+VSS)syt*#_%g6@e#Y_1BH)1&#m9vH%5OlNxLk7ema%jtQKKYzZ{^EKKUlcglNNDT z%H5Km)oXtg-f>u?(|~w$QYqa4A``FHEkAu5GymfqwZ_TvH*|5_{-y0_itU_K>pW{z zUt{vAvq5o;Z%f4wsic*83|8V}&6`zrT*k2u>19DSIbY znL;n+4y;a~oG8FhN>UOmr|2q`h9n3Sbh^K0`7}8x$yiSh01#E<15l_Isi5=Y)zwvs zwfDzNKB^~BS65<*VJRg`Juc@3KCI8DrZU_?{Kqx_k4pUif&YF}|BtqZJrqY7M!%H% o_Z$KLe7^sWHpTzy>YvFc81*rIm9aLXOz%LY2G&-tP_%siZyU6$b^rhX literal 0 HcmV?d00001